sqlplus name/passwprd@orcl error:12514

sqlplus name/passwprd@orcl error:12514

当我用sqlplus name@orcl连接oracle,输入密码后,
我刚明白:

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

然后,我输入用户名和密码,连接成功

如何解决?

其他信息:
1.实例

2. tnsnames.ora

3.listener.ora

您没有连接到 "database",而是与 "listener" 对话,后者最终将您的请求传递给数据库。

所以在你的情况下,你的数据库理解一个名为 "orcl" 的服务,但直到它把这个事实发送给监听器(“嘿,如果有人要求 'orcl' 那么我就是你的人) , 然后听众不知道这一点,你会得到你看到的错误。

所以这里的挑战是解决数据库没有与侦听器通信的问题。你可以试试:

来自数据库:

SQL> alter system register

然后再次检查 'lsnrctl status' - 查看 orcl 是否在提供的服务列表中。

如果这不起作用,那么您可以设置 'local_listener' 参数来明确告诉数据库您希望它与哪个侦听器联系。然后您将再次执行 'alter system register',然后再次检查 'lsnrctl status' 以查看服务。

如果在这之后,它仍然不起作用,您可以显式配置侦听器本身有关服务的详细信息 'orcl',但如果您最终在那里,那么您可能有某种我们需要探索更多的基本配置问题。