Oracle数据库动态注册和参数local_listener的使用
来源:互联网 发布:数据分析适合女生吗 编辑:程序博客网 时间:2024/06/11 02:09
从Oracle8i版本开始,在oracle数据库当中,应用如果没有特殊需求的话,数据库监听不需要做出配置,oracle把这种方法称为动态注册。所谓动态注册,oracle通过PMON进程根据参数instance_name和service_names中的内容,把oracle数据库的信息注册到默认的1521端口的监听器上。不管服务器端有几个监听程序,oracle默认都是注册到1521端口的监听器,也就是说,对于其他端口的监听器来说,如果想要正常的识别远程客户端提供的信息,需要做出配置,也就是静态注册。在lsnrctl命令下,通过services命令可以观察到是静态注册还是动态注册。如果是静态注册的话,oracle显示的服务的状态是unknown,如果是动态注册的话,服务的状态显示是ready。不过,如果用户想要修改动态注册的端口,这也是可以实现的,可以通过设置数据库的local_listener参数来实现。
我们来看下面的一个例子,首先,在数据库默认情况下,local_listener参数为空,没有设置。
查看监听器注册的服务,READY表示动态注册。
根据上面的信息我们可以看到,现在oracle动态注册到1521端口的监听器listener,而listener1是静态注册,监听器使用的端口是1530。接下来我们做出配置,让PMON进程动态注册到1530端口的监听器。
使用more命令,得到listener.ora文件里红色部分的内容
编辑tnsnames.ora文件,把刚才拿到的内容做一下处理,如下红色部分
修改数据库,把参数local_listener的值改为tnsnames.ora文件中刚刚做好的服务名local_l
再到监听器中观察,我们看到现在动态注册的信息到listener1中去了。现在PMON oracle动态注册到1530端口,1521端口不在有动态注册信息。
我们来看下面的一个例子,首先,在数据库默认情况下,local_listener参数为空,没有设置。
[oracle@ztj10 admin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Sun Apr 22 03:03:44 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> show parameter local_lNAME TYPE VALUE------------------------------------ ----------- ------------------------------local_listener stringSQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
查看监听器注册的服务,READY表示动态注册。
[oracle@ztj10 admin]$ lsnrctlLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 22-APR-2012 03:04:03Copyright (c) 1991, 2005, Oracle. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> servicesConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))Services Summary...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVERService "db01" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready LOCAL SERVERService "db01XDB" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: ztj10, pid: 21629> (ADDRESS=(PROTOCOL=tcp)(HOST=ztj10)(PORT=46550))Service "db01_XPT" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready LOCAL SERVERThe command completed successfullyLSNRCTL> services listener1Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1530)))Services Summary...Service "dbtest" has 1 instance(s). Instance "db01", status UNKNOWN, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVERThe command completed successfullyLSNRCTL> exit
根据上面的信息我们可以看到,现在oracle动态注册到1521端口的监听器listener,而listener1是静态注册,监听器使用的端口是1530。接下来我们做出配置,让PMON进程动态注册到1530端口的监听器。
使用more命令,得到listener.ora文件里红色部分的内容
[oracle@ztj10 admin]$ more listener.ora# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530)) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0) (PROGRAM = extproc) ) )SID_LIST_LISTENER1 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dbtest) (ORACLE_HOME = /u01/app/oracle/product/10.2.0) (SID_NAME = db01) ) )LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ztj10)(PORT = 1521)) ) )
编辑tnsnames.ora文件,把刚才拿到的内容做一下处理,如下红色部分
[oracle@ztj10 admin]$ vi tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/network/admin/tnsnames.ora# Generated by Oracle configuration tools.DB01 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ztj10)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db01) ) )EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) )local_l=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1530))"tnsnames.ora" 28L, 627C written
修改数据库,把参数local_listener的值改为tnsnames.ora文件中刚刚做好的服务名local_l
[oracle@ztj10 admin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on Sun Apr 22 03:06:07 2012Copyright (c) 1982, 2005, Oracle. All rights reservedConnected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> alter system set local_listener=local_l;System altered.SQL>alter system register; System altered.SQL> exitDisconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
再到监听器中观察,我们看到现在动态注册的信息到listener1中去了。现在PMON oracle动态注册到1530端口,1521端口不在有动态注册信息。
[oracle@ztj10 admin]$ lsnrctlLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 22-APR-2012 03:06:27Copyright (c) 1991, 2005, Oracle. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> servicesConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))Services Summary...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVERThe command completed successfullyLSNRCTL> services listener1Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1530)))Services Summary...Service "db01" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready LOCAL SERVERService "db01XDB" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "D000" established:0 refused:0 current:0 max:1022 state:ready DISPATCHER <machine: ztj10, pid: 21629> (ADDRESS=(PROTOCOL=tcp)(HOST=ztj10)(PORT=46550))Service "db01_XPT" has 1 instance(s). Instance "db01", status READY, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready LOCAL SERVERService "dbtest" has 1 instance(s). Instance "db01", status UNKNOWN, has 1 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 LOCAL SERVERThe command completed successfully
0 0
- Oracle数据库动态注册和参数local_listener的使用
- Oracle数据库动态注册和参数local_listener的使用
- oracle动态注册参数local_listener
- Oracle数据库动态注册和参数…
- Oracle Listener静态配置、动态注册以及LOCAL_LISTENER问题
- Oracle Listener静态配置、动态注册以及LOCAL_LISTENER问题
- Oracle Listener静态配置、动态注册以及LOCAL_LISTENER问题
- Oracle数据库动态注册和参数local_…
- Oracle数据库的动态注册和静态注册
- Oracle 数据库Listener动态注册和静态注册
- 查看oracle数据库的静态和动态参数
- Oracle Listener的静态注册和动态注册
- Oracle Listener的静态注册和动态注册
- ORACLE 动态注册和静态注册的区别
- Oracle监听的静态注册和动态注册
- ORACLE RAC 负载均衡与local_listener、remote_listener两个参数的配置关系
- Oracle参数—local_listener参数作用 (2012-0
- RAC Local_listener、一条 Oracle的阑尾
- ThinkPHP3.1.2整合UCenter详解(二)
- EJB学习总结
- WIN32汇编对话框的使用
- ThinkPHP3.1.2整合UCenter详解(三)
- 本周总结
- Oracle数据库动态注册和参数local_listener的使用
- GB2312/GBK, ISO 8859-1, unicode,UTF(UTF-8/UTF-16/UTF-32)之间的区别与联系
- ThinkPHP3.1.2整合UCenter详解(四)
- Android5.0 之 ToolBar折叠效果
- iPhone Today Extension
- java的异常处理方案!
- C++中虚继承的作用
- Android objectAnimator的使用
- 【Linux】ubuntu的源(概念、如何使用、如何选择最优源、update与upgrade作用及区别)