对于一个实例的oracle数据库,配置多个监听器的实验。
服务版本信息:
查看数据库版本信息:
查看监听文件listener.ora的内容
开始配置多个监听器,即更改监听文件listener.ora,也可以通过netmgr命令进行图形化更改,增加两个监听器
LISTENER1, 端口:1522,
LISTENER2, 端口:1523
然后通过 lsnrctl 命令将
LISTENER1 和
LISTENER2 启动(由于之前 LISTENER默认监听器已经启动,所以不用启动)
监听器LISTENER1 和 LISTENER2 已经正常启动。但是没有服务将实例信息注册进来,需要注册实例信息,有两种方法,“动态注册”和“静态注册”
1.首先进行静态注册,
静态注册在文章( http://blog.itpub.net/30150152/viewspace-1477401/)中已经提到,即只需要修改listener.ora文件即可
增加了
SID_LIST_LIS
TENER1 对应的服务名为
orcldb1 ,
SID_LIST_LISTENER2 对应的服务名为
orcldb2 , 注意每个注册的
GLOBAL_DBNAME 不能相同,否则,客户端通过服务名连接进来的时候将会是随机连接进来的,这样导致可能客户端连接进来的时候,每次对应的监听不同从而sid_name不同。
现在重新启动监听器 LISTENER1 和 LISTENER2, 就可以通过客户端连接进来了(在客户端连接进来的时候,确保1522 和1523 端口是通的,不然无法连接的),下面是我通过一台windows机器连接进来的
当然,还可以通过
sqlplus system/oracle@192
.
168
.
56
.
15
:
1523/
orcldb2 进行连接
服务版本信息:
- [oracle@LINUX10 admin]$ lsb_release -a
- LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
- Distributor ID: OracleServer
- Description: Oracle Linux Server release 6.5
- Release: 6.5
- Codename: n/a
- SQL> select * from v$version;
-
- BANNER
- --------------------------------------------------------------------------------
- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
- PL/SQL Release 11.2.0.3.0 - Production
- CORE 11.2.0.3.0 Production
- TNS for Linux: Version 11.2.0.3.0 - Production
- NLSRTL Version 11.2.0.3.0 - Production
- [oracle@LINUX15 ~]$ cd $ORACLE_HOME/network/admin
- [oracle@LINUX15 admin]$ ls
- listener.ora samples shrept.lst tnsnames.ora
- [oracle@LINUX15 admin]$ more listener.ora
- # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- # Generated by Oracle configuration tools.
-
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcldb)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
- (SID_NAME = orcldb)
- )
- )
-
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
- )
-
- ADR_BASE_LISTENER = /u01/app/oracle
- [oracle@LINUX15 admin]$ vi listener.ora
-
- # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- # Generated by Oracle configuration tools.
-
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcldb)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
- (SID_NAME = orcldb)
- )
- )
-
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
- )
-
- ADR_BASE_LISTENER = /u01/app/oracle
-
-
- LISTENER1 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1522))
- )
-
-
- LISTENER2 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1523))
- )
- [oracle@LINUX15 admin]$ lsnrctl
-
- LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 31-MAR-2015 00:23:05
-
- Copyright (c) 1991, 2011, Oracle. All rights reserved.
-
- Welcome to LSNRCTL, type "help" for information.
-
- LSNRCTL> start listener1
- Starting /u01/app/oracle/product/11.2.3/oracle/bin/tnslsnr: please wait...
-
- TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- System parameter file is /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- Log messages written to /u01/app/oracle/diag/tnslsnr/LINUX15/listener1/alert/log.xml
- Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1522)))
-
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.15)(PORT=1522)))
- STATUS of the LISTENER
- ------------------------
- Alias listener1
- Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- Start Date 31-MAR-2015 00:23:22
- Uptime 0 days 0 hr. 0 min. 0 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- Listener Log File /u01/app/oracle/diag/tnslsnr/LINUX15/listener1/alert/log.xml
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1522)))
- The listener supports no services
- The command completed successfully
- LSNRCTL> start listener2
- Starting /u01/app/oracle/product/11.2.3/oracle/bin/tnslsnr: please wait...
-
- TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- System parameter file is /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- Log messages written to /u01/app/oracle/diag/tnslsnr/LINUX15/listener2/alert/log.xml
- Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1523)))
-
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.15)(PORT=1523)))
- STATUS of the LISTENER
- ------------------------
- Alias listener2
- Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
- Start Date 31-MAR-2015 00:23:34
- Uptime 0 days 0 hr. 0 min. 0 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
- Listener Log File /u01/app/oracle/diag/tnslsnr/LINUX15/listener2/alert/log.xml
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1523)))
- The listener supports no services
- The command completed successfully
1.首先进行静态注册,
静态注册在文章( http://blog.itpub.net/30150152/viewspace-1477401/)中已经提到,即只需要修改listener.ora文件即可
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcldb)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
- (SID_NAME = orcldb)
- )
- )
-
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
- )
-
- ADR_BASE_LISTENER = /u01/app/oracle
-
- SID_LIST_LISTENER1 =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcldb1)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
- (SID_NAME = orcldb)
- )
- )
-
- LISTENER1 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1522))
- )
-
-
-
- SID_LIST_LISTENER2 =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = orcldb2)
- (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
- (SID_NAME = orcldb)
- )
- )
-
- LISTENER2 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1523))
- )
现在重新启动监听器 LISTENER1 和 LISTENER2, 就可以通过客户端连接进来了(在客户端连接进来的时候,确保1522 和1523 端口是通的,不然无法连接的),下面是我通过一台windows机器连接进来的
- C:\Users\Administrator>sqlplus system/oracle@192.168.56.15:1522/orcldb1
-
- SQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 31 00:43:22 2015
-
- Copyright (c) 1982, 2010, Oracle. All rights reserved.
-
-
- Connected to:
- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
- SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30150152/viewspace-1479571/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30150152/viewspace-1479571/