ORACLE实例配置多个监听器

    对于一个实例的oracle数据库,配置多个监听器的实验。
服务版本信息:
  1. [oracle@LINUX10 admin]$ lsb_release -a
  2. 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
  3. Distributor ID:    OracleServer
  4. Description:    Oracle Linux Server release 6.5
  5. Release:    6.5
  6. Codename:    n/a
查看数据库版本信息:
  1. SQL> select * from v$version;

  2. BANNER
  3. --------------------------------------------------------------------------------
  4. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  5. PL/SQL Release 11.2.0.3.0 - Production
  6. CORE    11.2.0.3.0    Production
  7. TNS for Linux: Version 11.2.0.3.0 - Production
  8. NLSRTL Version 11.2.0.3.0 - Production
查看监听文件listener.ora的内容
  1. [oracle@LINUX15 ~]$ cd $ORACLE_HOME/network/admin
  2. [oracle@LINUX15 admin]$ ls
  3. listener.ora samples shrept.lst tnsnames.ora
  4. [oracle@LINUX15 admin]$ more listener.ora
  5. # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  6. # Generated by Oracle configuration tools.

  7. SID_LIST_LISTENER =
  8.   (SID_LIST =
  9.     (SID_DESC =
  10.       (GLOBAL_DBNAME = orcldb)
  11.       (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
  12.       (SID_NAME = orcldb)
  13.     )
  14.   )

  15. LISTENER =
  16.   (DESCRIPTION =
  17.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
  18.   )

  19. ADR_BASE_LISTENER = /u01/app/oracle
开始配置多个监听器,即更改监听文件listener.ora,也可以通过netmgr命令进行图形化更改,增加两个监听器 LISTENER1, 端口:1522, LISTENER2, 端口:1523
  1. [oracle@LINUX15 admin]$ vi listener.ora

  2. # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  3. # Generated by Oracle configuration tools.

  4. SID_LIST_LISTENER =
  5.   (SID_LIST =
  6.     (SID_DESC =
  7.       (GLOBAL_DBNAME = orcldb)
  8.       (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
  9.       (SID_NAME = orcldb)
  10.     )
  11.   )

  12. LISTENER =
  13.   (DESCRIPTION =
  14.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
  15.   )

  16. ADR_BASE_LISTENER = /u01/app/oracle


  17. LISTENER1 =
  18.   (DESCRIPTION =
  19.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1522))
  20.   )


  21. LISTENER2 =
  22.   (DESCRIPTION =
  23.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1523))
  24.   )
然后通过 lsnrctl 命令将 LISTENER1 和 LISTENER2 启动(由于之前 LISTENER默认监听器已经启动,所以不用启动)

  1. [oracle@LINUX15 admin]$ lsnrctl

  2. LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 31-MAR-2015 00:23:05

  3. Copyright (c) 1991, 2011, Oracle. All rights reserved.

  4. Welcome to LSNRCTL, type "help" for information.

  5. LSNRCTL> start listener1
  6. Starting /u01/app/oracle/product/11.2.3/oracle/bin/tnslsnr: please wait...

  7. TNSLSNR for Linux: Version 11.2.0.3.0 - Production
  8. System parameter file is /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  9. Log messages written to /u01/app/oracle/diag/tnslsnr/LINUX15/listener1/alert/log.xml
  10. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1522)))

  11. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.15)(PORT=1522)))
  12. STATUS of the LISTENER
  13. ------------------------
  14. Alias listener1
  15. Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
  16. Start Date 31-MAR-2015 00:23:22
  17. Uptime 0 days 0 hr. 0 min. 0 sec
  18. Trace Level off
  19. Security ON: Local OS Authentication
  20. SNMP OFF
  21. Listener Parameter File /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  22. Listener Log File /u01/app/oracle/diag/tnslsnr/LINUX15/listener1/alert/log.xml
  23. Listening Endpoints Summary...
  24.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1522)))
  25. The listener supports no services
  26. The command completed successfully
  27. LSNRCTL> start listener2
  28. Starting /u01/app/oracle/product/11.2.3/oracle/bin/tnslsnr: please wait...

  29. TNSLSNR for Linux: Version 11.2.0.3.0 - Production
  30. System parameter file is /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  31. Log messages written to /u01/app/oracle/diag/tnslsnr/LINUX15/listener2/alert/log.xml
  32. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1523)))

  33. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.15)(PORT=1523)))
  34. STATUS of the LISTENER
  35. ------------------------
  36. Alias listener2
  37. Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
  38. Start Date 31-MAR-2015 00:23:34
  39. Uptime 0 days 0 hr. 0 min. 0 sec
  40. Trace Level off
  41. Security ON: Local OS Authentication
  42. SNMP OFF
  43. Listener Parameter File /u01/app/oracle/product/11.2.3/oracle/network/admin/listener.ora
  44. Listener Log File /u01/app/oracle/diag/tnslsnr/LINUX15/listener2/alert/log.xml
  45. Listening Endpoints Summary...
  46.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.15)(PORT=1523)))
  47. The listener supports no services
  48. The command completed successfully
监听器LISTENER1 和 LISTENER2 已经正常启动。但是没有服务将实例信息注册进来,需要注册实例信息,有两种方法,“动态注册”和“静态注册”
1.首先进行静态注册, 
    静态注册在文章( http://blog.itpub.net/30150152/viewspace-1477401/)中已经提到,即只需要修改listener.ora文件即可
  1. SID_LIST_LISTENER =
  2.   (SID_LIST =
  3.     (SID_DESC =
  4.       (GLOBAL_DBNAME = orcldb)
  5.       (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
  6.       (SID_NAME = orcldb)
  7.     )
  8.   )

  9. LISTENER =
  10.   (DESCRIPTION =
  11.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1521))
  12.   )

  13. ADR_BASE_LISTENER = /u01/app/oracle

  14. SID_LIST_LISTENER1 =
  15.   (SID_LIST =
  16.     (SID_DESC =
  17.       (GLOBAL_DBNAME = orcldb1)
  18.       (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
  19.       (SID_NAME = orcldb)
  20.     )
  21.   )

  22. LISTENER1 =
  23.   (DESCRIPTION =
  24.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1522))
  25.   )



  26. SID_LIST_LISTENER2 =
  27.   (SID_LIST =
  28.     (SID_DESC =
  29.       (GLOBAL_DBNAME = orcldb2)
  30.       (ORACLE_HOME = /u01/app/oracle/product/11.2.3/oracle)
  31.       (SID_NAME = orcldb)
  32.     )
  33.   )

  34. LISTENER2 =
  35.   (DESCRIPTION =
  36.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.15)(PORT = 1523))
  37.   )
    增加了 SID_LIST_LIS TENER1 对应的服务名为 orcldb1  , SID_LIST_LISTENER2 对应的服务名为  orcldb2 , 注意每个注册的 GLOBAL_DBNAME 不能相同,否则,客户端通过服务名连接进来的时候将会是随机连接进来的,这样导致可能客户端连接进来的时候,每次对应的监听不同从而sid_name不同。
    现在重新启动监听器 LISTENER1 和 LISTENER2, 就可以通过客户端连接进来了(在客户端连接进来的时候,确保1522 和1523 端口是通的,不然无法连接的),下面是我通过一台windows机器连接进来的
  1. C:\Users\Administrator>sqlplus system/oracle@192.168.56.15:1522/orcldb1

  2. SQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 31 00:43:22 2015

  3. Copyright (c) 1982, 2010, Oracle. All rights reserved.


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  7. SQL>
当然,还可以通过  sqlplus system/oracle@192 . 168 . 56 . 15 : 1523/ orcldb2 进行连接

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30150152/viewspace-1479571/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30150152/viewspace-1479571/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值