错误信息 "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 重新尝试连接到数据库,确保您在连接描述符中使用了正确的服务名。文章来源:https://www.toymoban.com/news/detail-520986.html
如果您仍然遇到问题,请仔细检查 `tnsnames.ora` 和 `listener.ora` 文件中的配置,确保它们之间没有不一致或错误。文章来源地址https://www.toymoban.com/news/detail-520986.html
到了这里,关于错误信息 “ORA-12514: TNS:listener does not currently know of service requested in connect descriptor“的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!