exxxxxspd02 /apps/opt/oracle/product/12.1.0/network/admin [minidb] > ls -l total 7 drwxr-xr-x 2 oracle dba 6 Mar 6 08:41 samples -rw-r--r-- 1 oracle dba 373 Mar 16 2014 shrept.lst -rw-r--r-- 1 oracle dba 127 Mar 6 08:18 tnsnames.ora exxxxxspd02 /apps/opt/oracle/product/12.1.0/network/admin [minidb] > lsnrctl status LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 06-MAR-2015 08:42:20 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Solaris Error: 146: Connection refusedNow I started up a listener:
exxxxxspd02 /apps/opt/oracle/product/12.1.0/network/admin [minidb] > lsnrctl start LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 06-MAR-2015 08:44:59 Copyright (c) 1991, 2014, Oracle. All rights reserved. Starting /apps/opt/oracle/product/12.1.0/bin/tnslsnr: please wait... TNSLSNR for Solaris: Version 12.1.0.2.0 - Production Log messages written to /apps/opt/oracle/diag/tnslsnr/exxxxxspd02/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=exxxxxspd02)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Solaris: Version 12.1.0.2.0 - Production Start Date 06-MAR-2015 08:44:59 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /apps/opt/oracle/diag/tnslsnr/exxxxxspd02/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=exxxxxspd02)(PORT=1521))) The listener supports no services The command completed successfullyNotice by default this listener is listening on port 1521 and supports no services. I can register my minidb with this local listener through a mechanism called "Dynamic Service Registration". For that to happen, I need to configure an initialization parameter called "LOCAL_LISTENER":
exxxxxspd02 /apps/opt/oracle/product/12.1.0/network/admin [minidb] > sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Fri Mar 6 08:50:13 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> show parameter local_list NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ local_listener string SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))' scope=both; System altered. SQL> ho lsnrctl status LSNRCTL for Solaris: Version 12.1.0.2.0 - Production on 06-MAR-2015 08:51:47 Copyright (c) 1991, 2014, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Solaris: Version 12.1.0.2.0 - Production Start Date 06-MAR-2015 08:44:59 Uptime 0 days 0 hr. 6 min. 48 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File /apps/opt/oracle/diag/tnslsnr/exxxxxspd02/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=exxxxxspd02)(PORT=1521))) Services Summary... Service "minidb" has 1 instance(s). Instance "minidb", status READY, has 1 handler(s) for this service... The command completed successfullyWhat happened at background is that by default, the LREG background process can register service information with its local listener on the default local address of TCP/IP, port 1521.
exxxxxspd02 /apps/opt/oracle/product/12.1.0/network/admin [minidb] > ps -ef |grep lreg |grep -v grep oracle 28186 1 0 08:24:15 ? 0:00 ora_lreg_minidbTo ensure service registration works properly, the initialization parameter file should contain the following parameters:
- SERVICE_NAMES for the database service name
- INSTANCE_NAME for the instance name
- LOCAL_LISTENER for the local listener
Note the SERVICE_NAMES defaults to the global database name, a name comprising the DB_NAME and DB_DOMAIN parameters in the initialization parameter file. The value for the INSTANCE_NAME parameter defaults to the Oracle system identifier (SID).
No comments:
Post a Comment