Oracle11g 如何在Oracle SQL Developer中创建新连接?
我刚刚在Windows7上安装了Oracle Database 11g Release 2 我在Oracle SQL Developer中,我正在尝试创建一个新连接,但当我单击“连接”时,我收到消息:“状态:失败-测试失败:网络适配器无法建立连接” 在connection窗口中,我尝试将角色更改为SYSDBA、OS身份验证、端口和SID,但即使更改这些值,我也得到了相同的消息 tnsnames.ora目录:Oracle11g 如何在Oracle SQL Developer中创建新连接?,oracle11g,Oracle11g,我刚刚在Windows7上安装了Oracle Database 11g Release 2 我在Oracle SQL Developer中,我正在尝试创建一个新连接,但当我单击“连接”时,我收到消息:“状态:失败-测试失败:网络适配器无法建立连接” 在connection窗口中,我尝试将角色更改为SYSDBA、OS身份验证、端口和SID,但即使更改这些值,我也得到了相同的消息 tnsnames.ora目录: # tnsnames.ora Network Configuration File: F
# tnsnames.ora Network Configuration File: F:\Oracle\product\11.2.0\dbhome_1\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)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.104)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.0.104)
)
)
listener.ora:
# listener.ora Network Configuration File: F:\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\Oracle\product\11.2.0\dbhome_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.104)(PORT = 1521))
)
)
ADR_BASE_LISTENER = F:\Oracle
警报日志:
<msg time='2015-06-02T19:28:12.428-05:00' org_id='oracle' comp_id='tnslsnr'
type='UNKNOWN' level='16' host_id='KK-PC'
host_addr='fe80::986b:9a38:5c9f:fc06%10' version='1'>
<txt>02-JUN-2015 19:28:12 * (CONNECT_DATA=(SID=CLRExtProc)(CID=(PROGRAM=SQL Developer)(HOST=__jdbc__)(USER=KK))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.104)(PORT=51332)) * establish * CLRExtProc * 0
</txt>
</msg>
我怎样才能解决这个问题
谢谢。所以我会回答我自己的问题,呵呵 我所做的是停止listener服务,然后从ADMIN文件夹中删除listener.ora,然后再次启动该服务
然后,我在命令提示符下执行了一个lsnrctlstatus,得到了服务名称和SID。因此,现在我可以使用orclSID和orcl.168.0.104服务名称进行连接,一切都很完美。非常感谢。您是否将主机和端口设置为与数据库的侦听器匹配?侦听器是否正在实际运行,并且在您认为的地址/端口上(
lsnrctlstatus
将告诉您)。如果不是同一个盒子,数据库和电脑之间是否有防火墙?不确定;这听起来像是防火墙的问题。但是,请检查警报日志,查看数据库端是否有故障-不太可能,但您永远不知道。您是否正在测试/创建连接,或者连接已建立并且正在尝试运行语句?为什么在tnsnames.ora中ORCL别名的SID设置为CLRExtProc?这几乎肯定也是ORCL,以匹配实际的数据库SID。您是否使用来自SQL Developer的TNS连接?使用基本连接并直接提供信息可能更容易;并使用服务名称(如果您知道的话-tnsnames.ora中的值看起来也很奇怪)。tnsnames.ora与基本连接无关,但可以用于检查您正在使用的连接设置。我不清楚你是如何从与ORCL的基本连接中获取警报日志条目的。这是一个非常旧的版本,但-不知道为什么他们仍然船无论如何,它可能值得升级到当前的版本4.1。如果服务名称成功,为什么要使用SID?SID必须在listener.ora中显式引用才能使用。
Services Summary...
Service "orcl.168.0.104" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB.168.0.104" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully