Oracle 一个数据库如何在不同端口上监听

来源:互联网 发布:mac听写功能不能用 编辑:程序博客网 时间:2024/06/08 18:51

原listener.ora配置文件:

# listener.ora Network Configuration File: /opt/oracle/db/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gtlions)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /opt/oracle/db

1、一个监听对应2个端口 1521 1522

listener.ora配置如下:

# listener.ora Network Configuration File: /opt/oracle/db/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = TEST)
      (ORACLE_HOME = /opt/oracle/db/db_1)
      (SID_NAME = TEST)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gtlions)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gtlions)(PORT = 1522))
    )
  )

ADR_BASE_LISTENER = /opt/oracle/db

tnsnames.ora配置如下:

# tnsnames.ora Network Configuration File: /opt/oracle/db/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST)
    )
  )

TEST2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST)
    )
  )
测试

通过TEST和TEST2均能够连接和使用,但是stop掉监听listener之后2个端口无法都无法使用。

2、2个监听对应2个端口1521 1522

listener.ora配置如下:

# listener.ora Network Configuration File: /opt/oracle/db/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = TEST)
      (ORACLE_HOME = /opt/oracle/db/db_1)
      (SID_NAME = TEST)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gtlions)(PORT = 1521))
    )
  )

SID_LIST_TEST =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = TEST)
      (ORACLE_HOME = /opt/oracle/db/db_1)
      (SID_NAME = TEST)
    )
  )

TEST =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gtlions)(PORT = 1522))
    )
  )

ADR_BASE_LISTENER = /opt/oracle/db

tnsnames.ora配置不变。
测试

通过TEST和TEST2均能够连接和使用,而且因为2个端口分别由2个listener管理,单独停掉或被封住一个端口并不影响另一个端口使用。

小结

第1种方式一个监听对应2个端口,带来的问题是无法单独关掉这个端口的监听。

原创粉丝点击