Oracle 无法使用SQL Developer连接到数据库(未从tnsnames.ora获取)
我已经在我的Linux Mint操作系统上安装了Oracle 无法使用SQL Developer连接到数据库(未从tnsnames.ora获取),oracle,oracle-sqldeveloper,linux-mint,tnsnames,Oracle,Oracle Sqldeveloper,Linux Mint,Tnsnames,我已经在我的Linux Mint操作系统上安装了Oracle11g和SQLDeveloper 在ORACLE\u PATH和.bashrc文件中的相关变量设置后,我可以使用sqlplus进行连接 我的tnsnames.ora的快照 也尝试了(HOST=localhost) 我的本地主机和IP地址在/etc/hosts文件中提到 我已按照以下命令将TNSnames目录配置为sql developer: tools->Preferences->Database->advanced-
Oracle11g
和SQLDeveloper
在ORACLE\u PATH
和.bashrc
文件中的相关变量设置后,我可以使用sqlplus
进行连接
我的tnsnames.ora的快照
也尝试了(HOST=localhost)
我的本地主机和IP地址在/etc/hosts
文件中提到
我已按照以下命令将TNSnames目录配置为sql developer:
tools->Preferences->Database->advanced->Tnsnames Directory (where tnsnames.ora is stored)
将ORACLE主页设置为:/u01/app/ORACLE/product/11.2.0/xe/
(即使使用SYS/SYSDBA凭据,也无法连接到SQL Developer)
我收到的错误信息:
侦听器拒绝连接ora-12514侦听器当前不知道请求的服务
我通过以下帖子尝试了几乎所有的解决方案:
- 谷歌
- 堆栈溢出
- 博客
- 其他解决方案
然而,我能够使用SYS凭证和来自终端的自定义用户凭证进行访问-sqlplus最终!我能够使用SQL Developer连接到数据库 (我已确认端口1521已打开 并且能够使用端口1521 ping本地主机 并且它没有被防火墙阻止) 我无法连接的原因是
没有TNS侦听器
(这是我在尝试从SQL命令行连接时得到的)
我理解的一点是,从终端运行SQL*Plus不需要TNS Listener进行连接
为了解决这个问题,我必须替换Listener.ORA
文件中的HOST
从
(地址=(协议=TCP)(主机=本地主机)(端口=1521))
到
然后我重启监听器
lsnrctl stop
lsnrctl start
您使用的是连接类型TNS吗?你试过直连吗?只需在连接详细信息中为SID(服务ID)提供主机名、端口和“xe”。@thatjeffsmith我已更新了我的问题以与您保持一致。如果这种情况再次发生,您可以在SQLDev中使用bequeath连接类型,那么它也可以在没有侦听器的情况下连接到db。@thatjeffsmith,感谢您提供有关bequeath的信息!顺便说一句,我在从下拉列表中选择本地/遗赠连接类型时出错:
java.library.path中没有ocijdbc12
no ocijdbc12 in java.library.path
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0) (PORT = 1521))
lsnrctl stop
lsnrctl start