|
1.默认的动态监听与非默认的动态监听的本质区别是什么?配置非默认的动态监听需要注意什么?
本质区别为名称可以不同,端口可以不同。默认监听(名称LISTENER、端口1521、协议TCP),非默认(需要设置local_listener,端口号、名称可以不同,设置于tnsnames.ora 文件内)
2.你真的理解了静态监听中的GLOBAL_DBNAME是什么意思了吗?知道的说说。
GLOBAL_DBNAME对应的是oracle对外的服务名,即初始化参数里的service_names。监听设置此参数与SID后数据库对外提供两个服务,一个是SID,另一个是service_name,使用这两个中的任意一个都能连接数据库。
3.什么场合必须要用静态监听,说的越多越多,最好能用一个实验演示一个案例。
运用场合很多,我简单说两个
1. rman dumplicate远程复制数据库,也可用于数据库迁移,rac创建等。在目标端数据库尚未启动时就能连接数据库,并进行startup nomount等一系列操作。
2.透明网关的使用,也需要使用静态监听,这种情况下,特别是UNIX/LINUX上的oracle连接MSSQL时,监听服务脱离数据库存在,监听程序所在主机甚至可以连库都没有,就只起一个监听,作为独立的网关服务器。
4.静态监听与动态监听的区别?
简而言之,连接前者你只是连接到了监听服务上,数据库可能都没有启动,监听中数据库状态为unknow,后者,则能直接反应数据库的状态,连上后者,就说明数据库已经打开并提供服务。
其实还应该加一点,就是有了动态注册为什么还要有静态注册存在(本段为转载):
1.监听器不是最早启动,oracle实例先启动
2.监听器重启
3.oracle实例没有open(可能连nomount都没有)
|
|