如何获得Oracle数据库IP?

use*_*386 3 oracle

我如何获取Oracle数据库的IP地址。我不是管理员,也不是用于黑客目的。

我正在使用可以访问该数据库的Oracle应用程序。如何获得数据库的IP地址?

And*_*ter 5

在SQL * Plus中需要对网络相关功能具有特定的访问权限,因此,作为非管理员,您可能会或无法使用):

SQL>  connect / as sysdba;
Connected.
SQL> SELECT UTL_INADDR.get_host_address from dual;

GET_HOST_ADDRESS
--------------------------------------------------------------------------------
192.168.1.42
Run Code Online (Sandbox Code Playgroud)

另请参见UTL_INADDR文档

从外壳程序中(如果使用tnsnames解析数据库名称):

$ tnsping InstanceID
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=host.dbserver.com)(PORT=1521)) (CONNECT_DATA= (SID=ORCL)))
                                                                 ^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

注意HOST输出-这是数据库服务器的主机名。

如果您的应用程序JDBC用于访问数据库,则主机名已经是JDBC连接字符串的一部分

jdbc:oracle:thin:@host.dbserver.com:1521:ORCL
                  ^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,您都可以使用ping来获取IP地址:

$ ping host.dbserver.com
PING host.dbserver.com (192.168.1.42) 56(84) bytes of data.
                        ^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)