我已经安装了jdk 1.6.0_45和Oracle 11g。我可以使用sqlplus和sqldba凭据正确连接到Oracle数据库,但是当我尝试使用SQL Developer连接到这个数据库时,我收到一个错误“Listener does not currently know of SID given in connect descriptor”。我尝试将“SERVICE_NAME
“更改为“SERVICE_NAME as SYSDBA
“和其他一些内容,但没有帮助。如何让SQL开发者连接到服务器?这里有tnsname.ora文件,img和init.ora文件,以及从sqlplus连接的cmd提示
# tnsnames.ora Network Configuration File: C:\app\Andriy\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 = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME as SYSDBA = orcl.adobe.com)
)
)
x一个一个一个一个x一个一个二个一个x一个一个三个一个
1条答案
按热度按时间mwkjh3gx1#
监听程序配置为仅监听
localhost
(127.0.0.1
)。默认情况下,数据库将尝试注册服务器的外部主机名(the default whenlocal_listener
is blank),因此注册似乎失败。可以修改
listener.ora
,改为侦听外部地址:...或IP地址而不是主机名(如果无法解析),例如
192.168.1.134
;但是如果你使用DHCP来获取你的IP地址,当你被赋予一个不同的IP时,这个地址会被破坏。如果你使用静态地址,那么使用那个IP就可以了。或者,如果您只从这台PC访问这个DB,并且不需要它在网络上可见,您可以将侦听器保留在
localhost
上,并告诉DB在那里注册:无论哪种方式,
lsnrctl services
现在都应该显示orcl.adobe.com
。从SQL Developer连接时,可以选择“服务名”单选按钮而不是SID,并将orcl.adobe.com
也放在其中。如果您以
SYS
身份连接,则需要从下拉列表中选择SYSDBA
角色;但您真正应该做的第一件事是为自己创建一个新用户,然后只使用该用户。只将SYS
(和SYSTEM
,以及其他内置帐户)用于实际的DBA任务,而不是用于创建自己的表等。