【bug】 “ORA-12514: TNS:listener does not currently know of service requested in connect descriptor“

错误信息 "ORA-12514: TNS:listener does not currently know of service requested in connect descriptor" 表示 TNS 监听器无法识别您在连接描述符中请求的服务。这通常是由于服务名(SERVICE_NAME)在监听器上没有正确配置。

为了解决这个问题,请按照以下步骤操作:

1. 确保您的数据库实例正在运行。在命令行中输入以下命令(请根据实际情况替换 `<ORACLE_SID>`):

   ```

   sqlplus / as sysdba
   SQL> startup;


   ```

2. 确保您的 `tnsnames.ora` 文件中的服务名(SERVICE_NAME)与 `listener.ora` 文件中的服务名匹配。检查两个文件的内容,确保它们的服务名是一致的。

3. 在数据库实例中注册服务名。在命令行中输入以下命令:

   ```
 

  sqlplus / as sysdba
   SQL> alter system register;


   ```

   这将向监听器注册当前数据库实例的服务名。如果监听器已配置为动态服务注册,请确保数据库实例中的服务名与 `listener.ora` 文件中的服务名匹配。

4. 重新启动 TNS 监听器。在命令行中输入以下命令:

   ```

   lsnrctl stop
   lsnrctl start


   ```

5. 检查 TNS 监听器状态以确保它已正确启动并识别服务名。在命令行中输入以下命令:

   ```

   lsnrctl status


   ```

   如果 TNS 监听器已成功启动,并识别到您请求的服务名,那么您应该可以看到关于已注册服务和正在监听的端口的信息。

6. 使用 SQL*Plus 重新尝试连接到数据库,确保您在连接描述符中使用了正确的服务名。

如果您仍然遇到问题,请仔细检查 `tnsnames.ora` 和 `listener.ora` 文件中的配置,确保它们之间没有不一致或错误。

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mia惠枫

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值