【前言】连接ORACLE其实是挺简单的一件事,只要会启动监听、配置tnsnames文件就可以了,但是相信大部分的人对于更深一点的动态监听和静态监听会知道一些,但也仅限于表面而已,在后面的工作中,因为一些配置的缘故需要对这个更深一步了解,所以就有了今天这个文档;
【1】数据库和监听注册的过程:
1.1 如果知道数据库的信息,可以先在监听文件里面配置好要监听的数据库的实例名,并配置server名称,这种就是静态监听,因为这个监听服务器是由监听程序发起的,所以状态一直是UNKNOWN,且数据库关闭后这个监听还会存在;
1.2 监听文件没有配置监听数据库的信息,但是当数据库启动的时候,会自动将instance_name,service_names两个参数将实例和服务动态注册到listener中,这种监听就是动态监听,因为这个监听是从数据库发起的,这个时候监听肯定是由对应的数据库的,所以显示的状态是READ,当数据库关闭后这个监听也就消失了。
[grid@db01 admin]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 03-DEC-2015 04:21:14 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) |
以上亮红色的字体有三个监听,分别是:
- 数据库有通过动态注册一个Service为XIAMEN,INSTANCE_NAME为JOEONE的监听;
- 配置了一个Service为XIAMEN,INSTANCE_NAME为JOEONE的静态监听,因为两个的SERVICE名称一样,所以合并在一起了;
- 配置了一个Service为XIAMEN01,INSTANCE_NAME为JOEONE的静态监听;
相应的监听配置文件如下:
SID_LIST_LISTENER = |
【2】动态监听的原理
pmon在数据库启动到mount或open时,动态从参数文件中读取service_names值。service_names可以为多值(可以有64个,其中包括两个系统的)。
service_names缺省为建立数据库时的全局数据库名,默认以1521的端口进行注册;
创建非默认的名称,脚本:
SQL> alter system set service_names=JOHN;
Services Summary... |
默认情况下监听的端口是1521,有时候出自于安全或区别的考虑监听的端口就会用非默认的端口,SAP数据库使用的端口就是用1527的,所以为了保证数据库和监听能够建立连接,就需要配置静态监听或让数据库进行动态注册;
- 静态监听:这里的步骤不再说明,在$ORACLE_HOME/NETWORK/ADMIN/listener.ora添加上面增加1.2的配置
- 动态监听:在ORACLE里面添加SQL语句进行注册,可以通过以下脚本进行管理:
2.1 动态监听的注册:alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=HOSTNAME)(PORT=1527))';
2.2 查看当前本地监听注册的信息: show parameter local_listener;
SQL> show parameter listener NAME TYPE VALUE |
2.3 删除当前监听的注册信息:alter system set LOCAL_LISTENER='';
SQL> show parameter local_listener NAME TYPE VALUE System altered. SQL> show parameter local_listener; NAME TYPE VALUE |
【总结】认证整理完监听的这个文档,发现其实监听也是很简单的一件事就像男生和女生谈恋爱一样,要么男生主动找女生这是动态监听,要么女生就在那边静静等待男生的到来这是静态监听;但是动态不管是动态监听还是静态监听女生都要告诉男神联系的暗号,这样才能在同一个频道上面。。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果你对ORACLE的数据库管理有独特的见解或者有浓厚的兴趣,请加入群367875324,暗号ORACLE管理
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++