片刻之后我安装了 Oracle 数据库 XE 18.4.0.0.0 (18c)。 接下来,我下载了 Oracle SQL Developer 工具并尝试创建一个新连接,但我收到了这个错误:
主密码正确且监听器正在运行,(@EdStevens 回复后更新):
C:\WINDOWS\system32> lsnrctl start
LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 22-OTT-2020 09:04:27
Copyright (c) 1991, 2018, Oracle. All rights reserved.
Avvio di tnslsnr: attendere...
TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
Il file dei parametri di sistema Þ C:\app\gabri\product\18.0.0\dbhomeXE\network\admin\listener.ora
Ascolto su: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Connessione a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
STATO del LISTENER
------------------------
Alias LISTENER
Versione TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production
Data di inizio 22-OTT-2020 09:04:34
Tempo di attivitÓ 0 giorni 0 ore 0 min. 12 sec.
Livello trace off
Sicurezza ON: Local OS Authentication
SNMP OFF
File di parametri listenerC:\app\gabri\product\18.0.0\dbhomeXE\network\admin\listener.ora
Summary table degli endpoint di ascolto...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Summary table dei servizi...
Il servizio "CLRExtProc" ha 1 istanze.
L'istanza "CLRExtProc", stato UNKNOWN, ha 1 handler per questo servizio...
Il servizio "database" ha 1 istanze.
L'istanza "XE", stato UNKNOWN, ha 1 handler per questo servizio...
Il comando Þ stato eseguito
这是我的 listener.ora
:
# listener.ora Network Configuration File: C:\app\gabri\product\18.0.0\dbhomeXE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
DEFAULT_SERVICE_LISTENER = XE
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\gabri\product\18.0.0\dbhomeXE)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\gabri\product\18.0.0\dbhomeXE\bin\oraclr18.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PortatileGabriele)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
和tnsnames.ora
:
# tnsnames.ora Network Configuration File: C:\app\gabri\product\18.0.0\dbhomeXE\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
我希望有人能帮助我!
提前致谢
编辑:
C:\WINDOWS\system32>echo %ORACLE_HOMEd%
%ORACLE_HOMEd%
C:\WINDOWS\system32>echo %ORACLE_SID%
%ORACLE_SID%
C:\WINDOWS\system32>sqlplus / as sysdba'
SQL*Plus: Release 18.0.0.0.0 - Production on Gio Ott 22 14:27:19 2020
Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: errore dell'adattatore del protocollo
Immettere il nome utente: SYSTEM
Immettere la password:
ERROR:
ORA-12560: TNS: errore dell'adattatore del protocollo
Immettere il nome utente:
最佳答案
首先,错误“listener does not know of sid”是绝对正确的。我们从“lsnrctl status”中看到没有数据库 注册到监听器。因此,在您真正启动数据库并向监听器注册之前,其他一切都不重要。
其次,一旦您确实运行了数据库,您的 SQL Dev“连接类型”为“基本”意味着您将直接提供所有必要的连接信息,并且不会调用 tnsnames.ora。这没有错,但是如果您确实想使用 tnsnames,请将您的连接类型更改为“tns”。相应更改的必要输入字段。
第三,如前所述,无论是使用tns还是basic connection,都要指定service name,而不是sid。
关于oracle - 在 Oracle SQL Developer 中创建新连接时出现 ORA-12505,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64469854/