<p style="text-indent:2em;">
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">动态注册</span><span style="font-size:12pt;">dynamic registry</span><span style="font-family:宋体;font-size:12pt;">和静态注册是</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">实例和监听器之间建立联系的重要方式。从现在趋势看,默认监听器</span><span style="font-size:12pt;">+</span><span style="font-family:宋体;font-size:12pt;">动态注册已经成为默认</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">标准配置。在一些场景下,处于安全的原因可能需要修改标准监听配置和注册方式。本篇主要介绍如何实现非</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">端口进行动态注册方法。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<b><span style="font-size:12pt;">1</span></b><b><span style="font-family:宋体;font-size:12pt;">、默认监听与</span></b><b><span style="font-size:12pt;">1521</span></b><b><span style="font-family:宋体;font-size:12pt;">端口</span></b><b><span style="font-size:12pt;"></span></b>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;">Oracle Net Service</span><span style="font-family:宋体;font-size:12pt;">核心三个配置文件:</span><span style="font-size:12pt;">listener.ora</span><span style="font-family:宋体;font-size:12pt;">、</span><span style="font-size:12pt;">tnsnames.ora</span><span style="font-family:宋体;font-size:12pt;">和</span><span style="font-size:12pt;">sqlnet.ora</span><span style="font-family:宋体;font-size:12pt;">。其中,</span><span style="font-size:12pt;">listener.ora</span><span style="font-family:宋体;font-size:12pt;">文件为监听器相关信息的配置文件。关于监听器个性化参数内容,均在该文件中设置。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">在默认安装情况下,我们一般在</span><span style="font-size:12pt;">$ORACLE_HOME/network/admin</span><span style="font-family:宋体;font-size:12pt;">目录中是可以没有</span><span style="font-size:12pt;">listener.ora</span><span style="font-family:宋体;font-size:12pt;">文件的。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ ls -l</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">-rw-r-----. 1 oracle oinstall<span> </span>332 Aug<span> </span>7 01:44 tnsnames.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">此时,</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">会在</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">默认端口,支持一个默认配置文件的监听器程序。并且,该程序支持动态注册功能。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ lsnrctl start</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 01:08:10</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Log messages written to /u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to <span style="color:red;">(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:08:10</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 0 hr. 0 min. 0 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">--</span><span style="font-family:宋体;font-size:12pt;">此处没有说明监听器配置文件路径。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The listener supports no services</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">对注册行为另一端的</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">实例而言,默认情况下</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">实例会进行动态注册动作,会向</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">端口监听的监听程序进行注册动作。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ lsnrctl status</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 01:14:54</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:08:10</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 0 hr. 6 min. 43 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Services Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadb" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadbXDB" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<b><span style="font-size:12pt;">2</span></b><b><span style="font-family:宋体;font-size:12pt;">、非默认端口监听器</span></b><b><span style="font-size:12pt;"></span></b>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">在一些安全需求场景下,我们会被要求修改监听端口到非</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">端口,从而避免被扫描入侵。其实,这对于攻击扫描程序来讲,意义不大,因为一般黑客攻击都会扫描所有端口。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">如果我们需要修改端口号,就必须创建专门的</span><span style="font-size:12pt;">listener.ora</span><span style="font-family:宋体;font-size:12pt;">文件内容来进行配置。下面内容可以配置一个非标准监听器程序。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ cat listener.ora </span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"># listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"># Generated by Oracle configuration tools.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">MY_LISTENER</span><span style="font-size:12pt;"> =</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION_LIST =</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION =</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(<span style="color:red;">PORT = 1531</span>))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1531))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>)</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>)</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">ADR_BASE_LISTENER = /u01/app/oracle</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">配置文件中,包括一个</span><span style="font-size:12pt;">1531</span><span style="font-family:宋体;font-size:12pt;">端口的监听程序。下面查看监听器情况。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ lsnrctl start</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 01:27:53</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Log messages written to /u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:27:53</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 0 hr. 0 min. 0 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The listener supports no services</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">默认显示的还有</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">端口监听程序。同时,发现其实当前服务器上是由两个监听器运行的。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ lsnrctl status<span style="color:red;"> listener</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 01:30:13</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:27:53</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 0 hr. 2 min. 19 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Services Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadb" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadbXDB" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ </span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-align:left;text-indent:2em;background:#eeece1;" align="left">
<span style="font-size:12pt;">[oracle@aaalife admin]$<span style="color:red;"> lsnrctl status my_listener</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 01:30:29</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:17:52</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 0 hr. 12 min. 37 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">The listener supports no services</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;">上面信息显示出几个细节:</span><span></span>
</p>
<p style="text-indent:2em;">
<span></span>
</p>
<p style="text-indent:2em;margin-left:21pt;">
<span style="font-family:Wingdings;"><span>ü<span> </span></span></span><span style="font-family:宋体;">我们在</span><span>listener.ora</span><span style="font-family:宋体;">文件中配置了一个自定义监听器</span><span>my_listener</span><span style="font-family:宋体;">,监听</span><span>1531</span><span style="font-family:宋体;">端口。但是系统当前默认监听器依然存在,并且可运行,在</span><span>1521</span><span style="font-family:宋体;">端口。</span><span>my_listener</span><span style="font-family:宋体;">监听器运行在</span><span>1531</span><span style="font-family:宋体;">端口;</span><span></span>
</p>
<p style="text-indent:2em;margin-left:21pt;">
<span style="font-family:Wingdings;"><span>ü<span> </span></span></span><span>Oracle</span><span style="font-family:宋体;">实例动态注册动作是在</span><span>1521</span><span style="font-family:宋体;">端口的监听程序上进行的,</span><span>1531</span><span style="font-family:宋体;">端口并没有被注册;</span><span></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">默认监听器的问题好解决,只要我们只保留一个监听即可。那么,如何让</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">实例在</span><span style="font-size:12pt;">1531</span><span style="font-family:宋体;font-size:12pt;">端口进行注册,不在</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">端口进行注册呢?</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">解决的方法就是使用</span><span style="font-size:12pt;">local_listener</span><span style="font-family:宋体;font-size:12pt;">配置参数。默认情况下,该参数为空。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SQL> show parameter listener;</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">NAME<span> </span>TYPE<span> </span>VALUE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------------------ ----------- ------------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">listener_networks<span> </span>string</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">local_listener<span> </span>string</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">remote_listener<span> </span>string</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">该参数用于明确指定</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">实例向哪一个监听器上进行注册动作。通常对于非标准端口注册,都需要将注册监听信息修改参数。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SQL> show parameter local</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">NAME<span> </span>TYPE<span> </span>VALUE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------------------ ----------- ------------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;margin-left:192pt;">
<span style="color:red;font-size:12pt;">local_listener<span> </span>string<span> </span>(ADDRESS_LIST=(Address=(Protoc<span> </span>ol=tcp)(HOST=AAALIFE)(Port=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">log_archive_local_first<span> </span>boolean<span> </span>TRUE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">parallel_force_local<span> </span>boolean<span> </span>FALSE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">注意:该参数</span><span style="font-size:12pt;">local_listener</span><span style="font-family:宋体;font-size:12pt;">修改范围支持</span><span style="font-size:12pt;">both</span><span style="font-family:宋体;font-size:12pt;">方式,立即生效不需要重新启动实例。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">此时,监听器状态如下:</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife dbs]$ lsnrctl status</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 02:32:25</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:27:53</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span><span> </span>0 days 1 hr. 4 min. 32 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">The listener supports no services</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife dbs]$ <span style="color:red;">lsnrctl status my_listener</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 02:32:33</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Alias<span> </span>LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 01:17:52</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 1 hr. 14 min. 41 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Services Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadb" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadbXDB" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">实例向</span><span style="font-size:12pt;">1531</span><span style="font-family:宋体;font-size:12pt;">端口进行动态注册了,原有</span><span style="font-size:12pt;">1521</span><span style="font-family:宋体;font-size:12pt;">默认监听器没有注册信息。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">那么,还有一个问题,就是</span><span style="font-size:12pt;">local_listener</span><span style="font-family:宋体;font-size:12pt;">设置值。该值采用括号表达式进行书写,是</span><span style="font-size:12pt;">Oracle Net Service</span><span style="font-family:宋体;font-size:12pt;">内部使用的一种方式。从管理角度看,这种策略不是很好的方法。我们直接将端口编号书写在数据库参数中,不但容易泄露部署信息,而且在发生迁移、变更动作的时候,这种方式也会有一些问题。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">所以,</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">官方支持监听器别名方法进行配置</span><span style="font-size:12pt;">local_listener</span><span style="font-family:宋体;font-size:12pt;">。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<b><span style="font-size:12pt;">3</span></b><b><span style="font-family:宋体;font-size:12pt;">、设置监听器别名</span></b><b><span style="font-size:12pt;"></span></b>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">一个很有意思的现象是,在</span><span style="font-size:12pt;">local_listener</span><span style="font-family:宋体;font-size:12pt;">的配置问题上,</span><span style="font-size:12pt;">MOS</span><span style="font-family:宋体;font-size:12pt;">和网络同仁们的差异是很大的。</span><span style="font-size:12pt;">MOS</span><span style="font-family:宋体;font-size:12pt;">官方意见是将监听器别名设置上,而网络同仁们无一例外的选择“括号表达式”。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">笔者实验的情况是,直接设置监听器别名,</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">是不认可的。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SQL> alter system set local_listener='my_listener' scope=both;</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">alter system set local_listener='my_listener' scope=both</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">*</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">ERROR at line 1:</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">ORA-02097: parameter cannot be modified because specified value is invalid</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">ORA-00119: invalid specification for system parameter LOCAL_LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">ORA-00132: syntax error or unresolved network name 'my_listener'</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">不能解析</span><span style="font-size:12pt;">my_listener</span><span style="font-family:宋体;font-size:12pt;">名称,因为其既不是括号表达式,也不是设置的别名。这里面就比较奇怪,我们分明已经在</span><span style="font-size:12pt;">listener.ora</span><span style="font-family:宋体;font-size:12pt;">文件中定义了名称。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">对</span><span style="font-size:12pt;">00132</span><span style="font-family:宋体;font-size:12pt;">错误,</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">官方的解释如下:</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ oerr ora 00132</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">00132, 00000, "syntax error or unresolved network name '%s'"</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">// *Cause:<span> </span>Listener address has syntax error or cannot be resolved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">// *Action: If a network name is specified, check that it corresponds</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">//<span> </span>to an entry in <span style="color:red;">TNSNAMES.ORA </span>or other address repository</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">//<span> </span>as configured for your system. Make sure that the entry</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">//<span> </span>is syntactically correct.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">认为在服务器端的</span><span style="font-size:12pt;">tnsnames.ora</span><span style="font-family:宋体;font-size:12pt;">文件中,没有能够找到</span><span style="font-size:12pt;">my_listener</span><span style="font-family:宋体;font-size:12pt;">的对应名称。</span><span style="font-size:12pt;">Tnsnames.ora</span><span style="font-family:宋体;font-size:12pt;">是我们保存本地连接对应名称的地方,这里是否意味着说此处的别名,是一定在</span><span style="font-size:12pt;">tnsnames.ora</span><span style="font-family:宋体;font-size:12pt;">文件中进行定义。本地命名别名定义我们是熟悉的。监听器程序别名如何定义?</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">经过查询</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">早期文档和治疗,从一个角落找到定义格式和方法。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ cat tnsnames.ora# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"># Generated by Oracle configuration tools.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">MY_LISTENER=</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">(description=</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>(address=(protocol=tcp)(host=AAALIFE)(port=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">突发奇想,</span><span style="font-size:12pt;">tnsping</span><span style="font-family:宋体;font-size:12pt;">命令有解析格式的副作用。是否可以成功呢?</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$ tnsping my_listener</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 20:43:58</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1997, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Used parameter files:</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Used TNSNAMES adapter to resolve the alias</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Attempting to contact (description= (address=(protocol=tcp)(host=AAALIFE)(port=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">OK (0 msec)</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">解析成功,起码格式上没有大的问题。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SQL> <span style="color:red;">alter system set local_listener='MY_LISTENER' scope=both;</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">System altered.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SQL> show parameter local;</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">NAME<span> </span>TYPE<span> </span>VALUE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------------------ ----------- ------------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">local_listener<span> </span>string<span> </span>MY_LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">log_archive_local_first<span> </span>boolean<span> </span>TRUE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">parallel_force_local<span> </span>boolean<span> </span>FALSE</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">启动手工注册,查看监听器状态。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">SQL> alter system register;</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">System altered.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">[oracle@aaalife admin]$<span style="color:red;"> lsnrctl status my_listener</span></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 07-SEP-2015 20:50:47</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Copyright (c) 1991, 2013, Oracle.<span> </span>All rights reserved.</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">STATUS of the LISTENER</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">------------------------</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Alias<span> </span>my_listener</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Version<span> </span>TNSLSNR for Linux: Version 11.2.0.4.0 - Production</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Start Date<span> </span>07-SEP-2015 19:48:50</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Uptime<span> </span>0 days 1 hr. 1 min. 59 sec</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Trace Level<span> </span>off</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Security<span> </span>ON: Local OS Authentication</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">SNMP<span> </span>OFF</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Parameter File<span> </span>/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listener Log File<span> </span>/u01/app/oracle/diag/tnslsnr/aaalife/my_listener/alert/log.xml</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Listening Endpoints Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"><span> </span>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1531)))</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">Services Summary...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadb" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;">Service "aaadbXDB" has 1 instance(s).</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="color:red;font-size:12pt;"><span> </span>Instance "aaadb", status READY, has 1 handler(s) for this service...</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;">The command completed successfully</span>
</p>
<p style="text-indent:2em;background:#eeece1;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">设置成功,监听器状态中</span><span style="font-size:12pt;">my_listener</span><span style="font-family:宋体;font-size:12pt;">作为别名</span><span style="font-size:12pt;">alias</span><span style="font-family:宋体;font-size:12pt;">出现在状态信息中。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<b><span style="font-size:12pt;">4</span></b><b><span style="font-family:宋体;font-size:12pt;">、结论</span></b><b><span style="font-size:12pt;"></span></b>
</p>
<p style="text-indent:2em;">
<span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
<span style="font-family:宋体;font-size:12pt;">动态注册是我们最常用的注册模式。多个配置文件(</span><span style="font-size:12pt;">Oracle Net Service</span><span style="font-family:宋体;font-size:12pt;">)、</span><span style="font-size:12pt;">Oracle</span><span style="font-family:宋体;font-size:12pt;">参数、监听器设置交织相互作用影响,期间又有网络网卡、域名解析等多因素作用,很容易出现问题故障。多实验、多测试,可以帮助我们抽丝剥茧,逐步深入的了解系统,在日常工作中更加游刃有余。</span><span style="font-size:12pt;"></span>
</p>
<p style="text-indent:2em;">
</p>
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28211342/viewspace-2153836/
,如需转载,请注明出处,否则将追究法律责任。