列出远程Oracle服务名称

我正在写的一些软件需要查询一个oracle数据库 – DBA离开了一段时间,所以我只需要从另一个连接到同一个数据库的应用程序源代码(我甚至不知道它是当前)。 java连接string如下所示:

JDBC:神谕:薄:// 101.010.101.010:1521:srip

jdbc文档告诉我的意思是服务器地址/端口是101.010.101.010:1521,“服务名称”是srip。 我在tnsnames.ora中创build了一个对应的条目,如下所示:

mydb= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 101.010.101.010)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = srip) ) ) 

在ODBCconfiguration对话框中,oracle客户端find“mydb”条目并将其列在“TNS服务名称”下。 当我尝试“testing连接”时,它立即返回错误ORA-12514:TNS:侦听器当前不知道在连接decssriptor中请求的服务。 我想这意味着SERVICE_NAME条目是错误的,也许它已被更改。 有什么方法可以找出我没有任何其他访问权限的远程服务器上可用的服务名称?

是的,你可以做这样的事情,但是你需要在数据库服务器上授权,以知道监听者密码(如果已经设置了)。

在此之前,您可以:

  1. 编辑你的tns.ora并replace“SERVICE_NAME”而不是“SID”。
  2. 检查你的sqlnet.ora文件是否有错误的“DEFAULT_DOMAIN”指令。