一个数据库如何在不同端口上监听
2011-02-12 17:17
369 查看
如题,周五在客户现场,看到客户在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-
由于收市后(证券公司),默认的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-
相关文章推荐
- Oracle 一个数据库如何在不同端口上监听
- QTcpServer如何监听两个不同的端口
- 刚装好oracle 10g 时,把数据库的监听端口是1522.后来把端口改成了1521了,登上em发现Enterprise Manager 无法连接到数据库实例 ,连接字符串的端口仍是1522,如何解
- 在不同数据库中如何判断一个字符串内是否含有中文?
- Linux如何查看那些应用监听了某一个端口
- 神奇的事情,不同进程监听同一个端口,居然都成功
- 同一个数据库配置多个listener,不同端口
- 如何查看一个主机上的多个数据库端口信息
- 在Linux和Window下如何查看一个端口是否监听以及被哪个进程监听命令
- pl/sql 如何配置连接远程一个或多个数据库(1.同一个ip不同用户名,2.不同ip不同用户名)以及记住密码
- sqlserver 两个数据库中表的结构不同,如何把一个表中的数据导入到另一个表中
- Linux中如何查看服务及监听端口
- 如何通过使用 ADOX 和 VisualBasic.NET 创建一个 MicrosoftAccess 数据库
- 如何让同一个应用占用两个端口
- 如何在Windows XP以上的版本中得知一个进程所使用的端口
- sql server 2005中如何查询一个数据库中有多少张表?
- 巧用Bulk Copy将大量的数据复制到数据库(对同一个数据的表或不同一个数据库的表都行)
- 使用TCP协议编写一个网络程序,设置服务器端的监听端口是8002,当与客户端建立连接后,服务器端向客户端发送数据“Hello, world”,客户端收到数据后打印输出。
- Socket(监听端口或发出一个tcp连接)
- 如何在一个textview中使用不同颜色的字体