oralce ora-12514 监听程序无法识别链接描述中的请求

oralce突然链接不上本地数据库了,报ora-12514在网上查着有各种解决方法,可是我都尝试不行。

最后实在没有办法,因为是监听程序....就像肯定是监听的问题,就干脆把原来的监听全部删除,重新建立监听。


步骤 1.找到 Net-manage



2. 找到listener把原来的全部删除,


 

删除之后,再重新配置一下tns,再重启一下roacle服务和监听,就可以。


### 解决 Oracle 19c 中 ORA-12514` 错误时,通常意味着客户端尝试连接到指定的服务名称,而监听器未能找到对应的服务。以下是详细的解决方案: #### 验证并配置监听器设置 确保监听器已正确配置,并且能够识别所需的服务。 1. **检查 Listener 设置** 查看位于 `$ORACLE_HOME/network/admin/` 目录下的 `listener.ora` 文件,确认其中定义了正确的监听地址和服务注册端口[^1]。 2. **验证 TNS 名字解析文件** 同样在上述路径下查找名为 `tnsnames.ora` 的文件。此文件应包含目标数据库实例的服务名映射条目。例如: ```plaintext MYDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb1) ) ) ``` 3. **重启监听进程** 如果修改过任何配置,则需重新加载或重启监听服务以使更改生效。可以通过命令行工具执行如下操作来完成这项工作: ```bash lsnrctl stop lsnrctl start ``` #### 确认数据库实例状态及其服务命名 保证所要访问的目标数据库正在运行,并提供预期的服务名称给外部应用调用。 1. **查询动态性能视图 V$INSTANCE 和 V$SERVICES** 登入SQL*Plus或其他支持的标准接口,输入相应指令获取当前活动的实例详情以及可用的服务列表。 ```sql SELECT instance_name FROM v$instance; SELECT service_name FROM v$services WHERE network_name IS NOT NULL; ``` 2. **调整应用程序中的连接字符串参数** 对于PL/SQL Developer、Navicat这类第三方开发环境而言,在建立新的会话之前,请务必核对其内部设定是否指向有效的主机IP、SID/SERVICE_NAME组合等必要信息[^3]。 通过以上措施应该能有效处理大多数情况下发生的 `ORA-12514` 故障现象;如果问题依旧存在,建议进一步排查网络连通性和防火墙策略等因素的影响范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值