静态注册数据库
静态注册就是实例启动时读取listener.ora文件的配置,将实例和服务注册到监听程序。不管什么时候启动一个数据库,服务器
默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。oracle
静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名。配置
采起静态注册方法时,listener.ora中的内容以下:service
SID_LIST_LISTENER =程序
(SID_LIST =方法
(SID_DESC =数据
(SID_NAME = PLSExtProc)db
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)文件
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME =orcl)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(SID_NAME =orcl)
)
(SID_DESC =
(GLOBAL_DBNAME =orcl1)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(SID_NAME =orcl)
)
)
该文件代表数据库是单实例的,实例名为orcl,向外提供了两个服务:orcl和orcl1
静态监听:
oracle实例运行后,监听程序启动时,根据listener.ora的配置注册相应的服务。
其中global_dbname对应的是oracle对外的服务名,即初始化参数里的service_names
而sid_name对应的是oralce实例的名称,即初始化参数里的instance_name
既然有动态监听为何还要静态监听呢?缘由以下:
1.监听器不是最先启动,oracle实例先启动
2.监听器重启
3.oracle实例没有open