监听
0 文件名 listener.ora tnsname.ora
1 动态注册
1 instance启动的时候pmon进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。
2 动态注册的一个特点就是不需要LISTENER.ORA文件。默认情况PMON 向LSNRCTL 注册TCP/IP协议,PORT 为1521。
3 show parameter instance_name和service_names 进行查看值
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PL***tProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
2 静态注册
1 静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名,一般设置成一样
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = drb) service_names (ORACLE_HOME = /opt/app/oracle/10.2.0/db_1) (SID_NAME = drb) instance_Name ) )
tnsnames.ora
m128 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.128)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclg) service_names
)
)
3 使用lsnrctl status/start/stop查看某个服务是静态注册、还是动态注册;如果是UNKNOWN,表示静态注册;如果是READY,表示动态注册。
4 不论静态还是动态注册这些都是在服务端配置的
5 对于客户端工具连接oracle需要进行tnsnames.ora配置
6 补充
sid用于实例区分各个数据库,service name用于外部链接。
SID是对内的,是实例级别的一个名字,用来内部之间称呼用。SERVICE_name是对外的,是数据库级别的一个名字,用来告诉外面的人,我数据库叫"SERVICE_NAME"。
web方式配置命令为netca