动态注册是向侦听器注册一个方法的首选方法,初始化参数LOCAL_LISTENER会告知实例其应当进行联系的、从而能够查找到注册实例的侦听器的网络地址。
在实例启动时,PMON进程会使用该参数来定位一个侦听器并向其通知INSTANCE_NAME和SERVICE_NAME参数的值。在随后的实例启动阶段的任何时间,我们都
如果重新启动侦听器,或者在启动侦听器之前启动数据库实例,那么就需要使用该命令向侦听器重新注册实例。
因为能够确保只向侦听器注册运行的实例而且实例名与服务名不存在错误,所以动态注册是比静态注册更好的选择。
实例在关闭时会自动解除对侦听器的注册。
从9i版本开始,如果动态注册在默认端口1521上运行,那么就不需要进行任何配置。但是如果侦听器没有在默认端口上运行,
在实例启动时,PMON进程会使用该参数来定位一个侦听器并向其通知INSTANCE_NAME和SERVICE_NAME参数的值。在随后的实例启动阶段的任何时间,我们都
可以执行下面的命令来重新注册:
SQL>alter system register;
如果重新启动侦听器,或者在启动侦听器之前启动数据库实例,那么就需要使用该命令向侦听器重新注册实例。
因为能够确保只向侦听器注册运行的实例而且实例名与服务名不存在错误,所以动态注册是比静态注册更好的选择。
实例在关闭时会自动解除对侦听器的注册。
从9i版本开始,如果动态注册在默认端口1521上运行,那么就不需要进行任何配置。但是如果侦听器没有在默认端口上运行,
那么就必须通过设置local_listener参数和重新注册来指定侦听器所运行的位置,如下所示:
SQL>alter system set local_listener=list2; SQL>alter system register;
在操作系统提示符下,使用lsnrctl实用程序检查已向侦听器list2动态注册的指定的实例:
C:\>lsnrctl services list2
将local_listener参数设置回默认值,重新设置指定实例使用默认的侦听器,并且重新注册这个实例:
SQL>alter system set local_listener=''; SQL>alter system register;