如题,周五在客户现场,看到客户在baidu搜索相关的信息,就讨论下他的需求:
由于收市后(证券公司),默认的1521端口会被切断,但是出于维护需要连接上这个数据库。
客户的想法是同一个监听2个端口,我的想法是2个监听。在此记录下2中不同的方式。
原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个端口,带来的问题是无法单独关掉这个端口的监听。
-The End-