gpt4 book ai didi

oracle - 无法使用 SQL Developer 连接到数据库(不从 tnsnames.ora 获取)

转载 作者:行者123 更新时间:2023-12-05 07:35:35 25 4
gpt4 key购买 nike

我已经在我的 Linux Mint 操作系统上安装了 Oracle 11gSQL Developer

.bashrc 文件中设置 ORACLE_PATH 和相关变量后,我可以使用 sqlplus 进行连接。

Snapshot of my 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)

我有我的本地主机,IP 地址在 /etc/hosts 文件中提到。

我已经按照以下命令将 TNSnames 目录配置为 sql 开发人员:

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)

我收到的错误:

listener refused the connection ora-12514 listener does not currently know of service requested

我已经通过以下帖子尝试了几乎所有的解决方案:

  • 谷歌
  • 计算器
  • 博客
  • 其他解决方案

但无法解决我的问题。

请不要将此问题标记为重复。我对此深陷其中。

编辑:我正在尝试连接使用:

1) 连接类型:基本;作用:默认

主机名:本地主机;端口:1521; SERVICE_NAME:xe

错误:

listener refused the connection ora-12514 listener does not currently know of service requested

2) 连接类型:TNS;作用:默认

指定连接标识符抛出:

no ocijdbc12 in java.library.path

指定网络别名“XE”(从下拉菜单中选择)抛出:

The network Adapter could not establish the connection

但我能够使用 SYS 凭据和自定义用户凭据从终端-sqlplus 进行访问

最佳答案

终于了!我能够使用 SQL Developer 连接到数据库。

(我已经确认端口 1521 已打开并且能够使用端口 1521 ping 本地主机并且它没有被防火墙阻止)

我无法连接的原因是没有 TNS 监听器(这是我在尝试从 SQL 命令行连接时得到的)

我了解到从终端运行 SQL*Plus 不需要 TNS 监听器连接。

为了解决,我不得不替换 Listener.ORA 文件中的 HOST

来自

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0) (PORT = 1521))

然后我重新启动监听器,

lsnrctl stop

lsnrctl start

关于oracle - 无法使用 SQL Developer 连接到数据库(不从 tnsnames.ora 获取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49468888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com