如何在无法访问 ssh 的情况下列出 Oracle 数据库中的服务名称

How to list service names in Oracle database with no access to ssh

使用 Oracle 9i 数据库,如果我不知道哪些 databases/SIDs/service 名称是 运行,是否有一种方法可以列出所有活动的服务名称?

我正在尝试连接,但主要错误是

Listener refused the connection with the following error: ORA-12504, TNS:listener was not given the SID in CONNECT_DATA

如果我使用 IT 经理给我的数据库名称

Listener refused the connection with the following error: ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

数据库是同一本地网络中服务器上的 Oracle 9i 运行。我显然有连接数据库的主机名、端口、用户名和密码(我没有访问服务器的命令行)。

我正在尝试使用 Oracle SQL 开发人员进行连接(并且还在 PHP 7 中尝试使用最新的 PECL 库)。

谢谢!

只有 "guess" SID 是可能的(https://erpscan.com/wp-content/uploads/pub/Different%20ways%20to%20guess%20Oracle%20database%20SID.pdf 中报告了很多技术)但是没有直接的方法可以在不访问 tnsnames.ora 的情况下获取它或类似物。