【问题标题】:How to obtain the list of Oracle's SIDs如何获取 Oracle 的 SID 列表
【发布时间】:2010-11-03 03:09:55
【问题描述】:

我有主机、端口、用户 ID 和密码,但缺少用于连接到 Oracle DBMS 的 SID。如何找到该服务器上的 SID 列表?

【问题讨论】:

    标签: oracle jdbc connection


    【解决方案1】:

    简短的回答是您需要访问主机操作系统:

    对于 Unix,ps -ef | grep pmon 将显示一个或多个名称类似于 ora_pmon_xxxx 的进程,xxxx 是实例名称。

    在 Windows 中,我猜任务列表中有类似的签名。

    实际上,此信息通常由创建连接帐户时管理数据库的人提供给您。

    【讨论】:

    • 在 Windows 中,SID 在任务管理器下不可见,您必须检查正在运行的服务 (services.msc) 以检查 SID。例如:OracleServiceORCL 假设 ORCL 是 SID
    • 感谢 - 澄清 - 在 Windows 平台上没有经验
    【解决方案2】:

    有一个 nmap 脚本可能会有所帮助,oracle-sid-brute:

    http://nmap.org/nsedoc/scripts/oracle-sid-brute.html

    它是在我的系统上使用 nmap 安装的。

    nmap --script oracle-sid-brute -p 1521-1560 [host]
    

    这只有在 SID 可以在列表中匹配时才有帮助。默认列表在这里:

    http://www.red-database-security.com/scripts/sid.txt

    【讨论】:

      【解决方案3】:

      另一个要考虑的选项是 Unix 上的文件 /etc/oratab 或 Windows 上的等效文件,我认为这是一个注册表配置单元。

      oratab 应该列出主机上的所有 SID,无论当前是否正在运行。

      【讨论】:

      • 来自@saritonin 的评论,他没有评论权限:“请注意,如果$ORACLE_SID 参数是通配符*,/etc/oratab 可能没有帮助”。跨度>
      【解决方案4】:

      问题归结为:在主机 X 端口 Y 上运行的侦听器支持哪些 ORACLE_SID 或服务。根据配置此侦听器的安全程度,您可以从安装了 lsnrctl 的客户端使用 lsnrctl 命令看到这一点.为了能够做到这一点,您需要在该客户端上安装 oracle 服务器。当你有,你可以发出

      lsnrctl
      set current_listener (description=(address=(host=X)(port=Y)(protocol=tcp)))
      status
      

      10g 监听器填充的默认设置导致以下结果: TNS-01189:侦听器无法验证用户身份

      这是因为从 10g oracle 默认有 安全开启:本地操作系统验证 这意味着只有启动侦听器的本地操作系统用户才能向侦听器发出 lsnrctl 命令。侦听器将拒绝回答任何其他用户。

      【讨论】:

        【解决方案5】:

        更好的方法是,如果您可以访问主机并且 Oracle 安装是使用命令:lsnrctl status。这适用于 Unix、Linux 和 Windows 机器。 status 命令将向您显示所有侦听器(及其关联的 SID)。

        C:\>lsnrctl status
        
        LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-JUN-2009 16:16:34
        Copyright (c) 1991, 2005, Oracle.  All rights reserved.
        
        Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
        STATUS of the LISTENER
        ------------------------
        Alias                     LISTENER
        Version                   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
        Start Date                13-JUN-2009 12:04:14
        Uptime                    2 days 4 hr. 12 min. 19 sec
        Trace Level               off
        Security                  ON: Local OS Authentication
        SNMP                      OFF
        Default Service           XE
        Listener Parameter File   C:\oracle\XE\app\oracle\product\10.2.0\server\network\admin\listener.ora
        Listener Log File         C:\oracle\XE\app\oracle\product\10.2.0\server\network\log\listener.log
        Listening Endpoints Summary...
          (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC_FOR_XEipc)))
          (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ThinkpadT61)(PORT=1521)))
          (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=8080))(Presentation=HTTP)(Session=RAW))
        Services Summary...
        Service "CLRExtProc" has 1 instance(s).
            Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
        Service "PLSExtProc" has 1 instance(s).
           Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
        Service "XEXDB" has 1 instance(s).
           Instance "xe", status READY, has 1 handler(s) for this service...
        Service "XE_XPT" has 1 instance(s).
           Instance "xe", status READY, has 1 handler(s) for this service...
        Service "xe" has 1 instance(s).
           Instance "xe", status READY, has 1 handler(s) for this service...
        The command completed successfully
        

        在上面的示例中,您可以使用连接字符串 XEXDB、XE_XPT 或 XE 连接到 XE 数据库。

        【讨论】:

        • 我曾考虑过这种方法来回答我的问题,但从技术上讲,这仅适用于默认侦听器。使用 lsnrctl 的更复杂的方法是首先通过 ps-ef|grep lsnr 获取侦听器列表,然后为每个侦听器发出 STATUS 命令。不想让答案过于复杂,因为可能 99% 的安装都使用默认侦听器设置
        猜你喜欢
        • 2018-11-17
        • 2015-10-31
        • 1970-01-01
        • 2014-05-28
        • 2019-10-16
        • 2021-07-01
        • 2010-10-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多