官方文档:
Net Services Administrator's Guide
Net Services Reference
一、动态注册
1.实例启动后,LREG 进程每分钟自动将服务名(service_name)注册到监听器中
也可以通过 alter system register 命令实现立刻注册。(11g pmon 进程)
2.系统有一个默认的监听器叫做 LISTENER,端口号是 1521,利用它可以不需要 listener.ora 配置文件
3.动态注册要求实例至少启动到 mounted 状态,listener 监听器才能注册成功
4.动态注册需要配置 local_listener 参数
动态监听LSNR2
使用非默认端口的动态监听程序时,需要修改 local_listener 参数
alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.6.121)(PORT=1526))';
二、静态注册
1)静态注册要点
①静态注册必须在 listener.ora 中描述实例信息
②实例不必启动,静态监听器也能注册
③服务器启动静态监听后,可以通过远程启动数据库
2)静态注册的描述分为两部分内容
①网络三要素:①Protocal ②Host ③Port
②服务名描述:GLOBAL_DBNAME:全局数据库名(静态注册特征 UNKNOWN)
listener.ora 配置:
配置 1521 端口的静态监听程序 LISTENER 实现 PROD 和 cdb1 的静态注册
三、动态注册和静态注册区别
0、动态监听,就算没有listener.ora,也会自动使用动态监听。
1、动态监听是 READY状态,静态监听是UNKNOWN状态。
2、动态监听每分钟注册一次(LEGN或者PMON进程),静态监听打开就是注册的。
3、动态监听无法远程启动数据库,静态监听远程登录数据库并打开。
4、动态监听必须至少启动到mount状态,才能注册到监听器;静态监听无需,可以远程登录后打开数据库。
5、静态监听:必须有数据库的所有信息,包括:连接协议、主机、端口,实例信息(SID_LIST),具体如下:
这里的LISTENER和SID_LIST_LISTENER 必须保持一致,如上图。
四、监听相关的配置文件
Oracle Net 配置文件都是文本形式的,可以通过 netmgr、netca 实用程序生成和修改,也
可以使用文本编辑器生成和修改。
1) Oracle Net 配置文件的路径
$ORACLE_HOME/network/admin/
2) 三个 Oracle Net 配置文件
①listener.ora 在服务器端的配置文件
②tnsnames.ora 在客户端的配置文件
③sqlnet.ora 客户端或服务器端 描述参数的配置文件
客户端 sqlnet.ora 不存在,默认支持 ezconnect;
客户端 sqlnet.ora 文件存在,使用轻松连接,需要配置 NAMES.DIRECTORY_PATH 添加 ezconnect
五、监听配置
RAC下的local_listener 对应的是本结点上的VIP地址
Remote_listener对应的是scan IP