【终结】Plsql 监听失败+链接Oracle ORA-12545:因目标主机不存在

文章详细描述了在服务器重启后Oracle数据库连接出现问题的解决过程,包括检查Oracle环境变量、配置tnsnames.ora和listener.ora文件,尝试使用PLSQL,以及安装和配置InstantClient来修复问题。通过GPT辅助,提供了CMD命令来检查数据库监听和状态。

 折腾我好久!翻阅千山万水也没有命中问题!今天我要公布于世!如何解决!

起因:服务器那边重启了我运行良好的主机导致上述问题!

感谢各位优快云默默贡献的大神,是你们促进互联网的发展!虽然没有帮到我在这个问题上!

【特别鸣谢】感谢ReadyGPT(呱呱AI智能助手https://readygpt.cn/chat/ 只要你会问他会一步一步给你解释,甚至看不懂的代码直接发给他,遇到的错误代码提示直接扔给他

 正确检测步骤

1.检查Oracle环境变量

Oracle数据库环境变量配置+修改数据库密码_Leoysq的博客-优快云博客

 1.2.1 设置Adimistrator变量
变量名: ORACLE_HOME
变量值:C:\app\Administrator\product\11.2.0\dbhome_1

1.2.2 新建一个变量home,再在path中添加:%ORACLE_HOME%\BIN
注明:path中有很多变量了,如果添加新的需要在每个变量后面用;号隔开!

1.2.3 系统变量
变量名: ORACLE_HOME
变量值:C:\app\Administrator\product\11.2.0\dbhome_1\BIN

注意:如果重启电脑后监听失败,请将该变量值改为C:\app\Administrator\product\11.2.0\dbhome_1(结合自己路径)
 

2.检查配置文件(一般每人动这个)路径看自己

tnsnames.ora (C:\Program Files (x86)\Oracle\Instant Client\network\admin)

注意:你需要单独安装 Instant Client Setup .exe,最后会讲解

# tnsnames.ora Network Configuration File.
# Generated by Oracle InstantClient tools.
# For more information, please visit: http://www.oracle.com/technetwork/database/features/instant-client/index-100365.html

# Sample:
#DatabaseName =
#  (DESCRIPTION =
#    (ADDRESS_LIST =
#      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
#    )
#    (CONNECT_DATA =
#      (SERVER = DEDICATED)
#      (SERVICE_NAME = orcl)
#      (INSTANCE_NAME = orcl)
#    )
#  )

# Modify the following content to fit your own needs.
DummyDatabase =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DummyService)
    )
  )

tnsnames.ora(C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN)

listener.ora(C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN)

# listener.ora Network Configuration File: C:\app\Administrator\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 = C:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
	 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = C:\app\Administrator

3.尝试热心网友们说的使用PLSQL强制链接Instant(没有解决目标主机问题但是接近了)

4.【大结局】 单独安装 Instant Client Setup .exe

 解决办法是 重装了远程链接的

下载链接:https://pan.baidu.com/s/1ri4rBNz1On-0HBfOCJFnog?pwd=leoy 
提取码:leoy 【永久】

官方:Oracle Instant Client Downloads

1.安装到默认路径后设置环境变量


2修改安装目录admin里面的tnsnames. ora

 就链接成功了

3.中间有很多GPT告诉我的CMD命令检测方法

1.检测数据库监听是否开启

lsnrctl 转 status

 2.sqlplus 检测数据库是否启动

sqlplus 数据库用户名/密码@//localhost:1521/orcl 

orcl 是你在配置文件中的数据库名 这些你都可以问GPT

转查询表格:

SELECT table_ name FROM user_ tables ;

exit 是退出

你可以去查询更多命令
 

### 三级标题:ORA-12154 错误概述 ORA-12154 是 Oracle 数据库连接过程中常见的错误之一,表示 PL/SQL 工具无法解析指定的连接标识符。该问题通常与 TNS(Transparent Network Substrate)配置或网络环境有关。 ### 三级标题:检查网络通信 确保本地客户端与远程数据库服务器之间的网络连接正常。通过命令行工具 `ping` 验证是否能够访问目标数据库的 IP 地址或域名。例如: ```bash ping <database_ip_or_hostname> ``` 如果 `ping` 命令失败,则需要检查本地网络设置或联系网络管理员以解决通信问题[^1]。 ### 三级标题:验证 tnsnames.ora 文件配置 确认 `tnsnames.ora` 文件中定义的服务名正确无误,且格式符合要求。服务名前应包含空格或空行。示例配置如下: ```plaintext ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) ``` 此外,还需确保文件路径正确,并且 `TNS_ADMIN` 环境变量指向 `tnsnames.ora` 所在目录[^3]。 ### 三级标题:检查监听器配置 运行 `lsnrctl status` 查看监听器状态,确认其是否已启动并监听正确的端口和服务名。若未启动,可通过以下命令启动监听器: ```bash lsnrctl start ``` 如果监听器配置缺少 `SID_LIST` 描述项,需手动编辑 `listener.ora` 文件添加相关内容: ```plaintext SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (SID_NAME = ORCL) ) ) ``` 修改后重启监听器以应用更改: ```bash lsnrctl stop lsnrctl start ``` ### 三级标题:测试连接 使用 `tnsping` 测试 TNS 解析是否成功: ```bash tnsping ORCL ``` 若解析失败,应重新检查 `tnsnames.ora` 和 `listener.ora` 配置。同时,尝试通过 SQL*Plus 直接连接数据库以排除 PL/SQL 工具本身的问题: ```bash sqlplus sys/qwe123@orcl as sysdba ``` ### 三级标题:PL/SQL 工具配置 打开 PL/SQL Developer 时选择“Cancel”进入主界面,随后进入工具 -> 首选项 -> 连接部分,确保 Oracle 主目录和 OCI 库路径正确指向 Oracle 客户端安装目录。保存设置后重启 PL/SQL Developer。 ### 三级标题:相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity青子

难题的解决使成本节约,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值