日期:2014-05-16  浏览次数:20439 次

CUUG《Oracle 监听和TNS配置》- 笔记
监听负责多个实例



相关文件:Listener.ora和tnsname.ora



监听:分为动态监听和静态监听



监听的动态注册:监听启动后如果有实例启动就是动态注册 并且注册到该监听中



监操作命令:lsnrctl

         用help查看详细



如何判断实例是静态注册的还是动态注册的:

lsnrctl status <instance_name>



在instance "instance_name", status <READY|UNKNOW>中status为READY的是动态注册相反为静态注册



在Oracle中实例和监听是相对独立的并且可以随意先启动哪一个



动态注册时SID_NAME=PLSExtProc  用的是默认端口(1521)并且不可更改

静态注册是SID_NAME可以随意定义 如果不定义其它端口就用默认端口(1521)







定义共享服务: SERVER=DEDICATED



SID和SERVER_NAME可以不一致但默认相同



Oracle连接分为:本地连接和远程连接



本地连接:配置SID(在windows中系统变量)(Linux在用户的.bash_profile中)



远程连接:配置TNS文件









监听静态注册:



SID_NAME="SID_NAME"

global_dbname="SID_NAME"   提供服务连接,例如:sqlplus username/password@global_dbname



这里的global_dbname可以和SID_NAME不一致





SID_LIST_ListenerName中的ListenerName必须和SID_LIST中的Listener一致



静态注册同样可以注册多个监听而且端口可以随意更改





用netca图形界面配置监听只能配置动态监听,netca直接修改Listener.ora和tnsname.ora文件中的动态监听





最好说到动态监听不安全是因为用的是外部程序ExtProc



在实际运用中需要配置多个监听时不对外提供服务的用动态监听反之用静态监听。