我安装了Oracle 11g
&我的Linux Mint OS上的SQL Developer
。
在ORACLE_PATH
文件中设置.bashrc
及相关变量后,我可以使用sqlplus
进行连接。
我的tnsnames.ora快照
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
也试过了(HOST = localhost)
。
我在/etc/hosts
文件中提到了我的localhost和IP地址。
我按照以下命令将TNSnames目录配置为sql developer:
tools->Preferences->Database->advanced->Tnsnames Directory (where tnsnames.ora is stored)
将ORACLE_HOME
设为:/u01/app/oracle/product/11.2.0/xe/
(即使使用SYS / SYSDBA凭证也无法连接到SQL Developer)
我收到错误:
监听器拒绝连接ora-12514监听器当前不知道所请求的服务
我通过以下帖子尝试了几乎所有解决方案:
但无法解决我的问题。
请不要将此问题标记为重复。 我非常困惑于此。
编辑:我正在尝试使用以下方式进行连接:
1)连接类型:基本;角色:默认
主机名:Localhost;港口:1521; SERVICE_NAME:xe
错误:
监听器拒绝连接ora-12514监听器当前没有 了解所要求的服务
2)连接类型:TNS;角色:默认
指定连接标识符抛出:
no ocijdbc12 in java.library.path
指定网络别名'XE'(从下拉菜单中选择)会抛出:
网络适配器无法建立连接
然而,我可以使用SYS凭证访问&来自terminal-sqlplus
的自定义用户凭据答案 0 :(得分:0)
<强>最后强>!我可以使用SQL Developer连接到数据库。
(我已经确认端口1521已打开 并能够使用端口1521 ping本地主机 并且它没有被防火墙阻止
我无法连接的原因是HOST
(这是我从SQL命令行尝试连接时得到的)
我明白从终端运行SQL * Plus不需要TNS Listener连接。
要解决此问题,我必须替换Listener.ORA
文件中的(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
。
这
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0) (PORT = 1521))
要
lsnrctl stop lsnrctl start
然后我重启监听器,
glob