转:12C PDB 配置不同的PDB监听端口

How to Define PDB Listeners With Different Ports In A Multitenant Setup Goal

 This Note will discuss the necessary steps to create and configure listeners for a Pluggable Database (PDB) in a Multitenant environment.

Solution

 1. Using netca create a 2nd listener on a unique port
     This creates a listener.ora file in the ?/network/admin directory similar to: 

PDB_LISTENER =
   (DESCRIPTION_LIST =
     (DESCRIPTION =
       (ADDRESS = (PROTOCOL = IPC)(KEY = test))
       (ADDRESS = (PROTOCOL = TCP)(HOST = host.us.oracle.com)(PORT = 1524))
       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1524))
     )
   )

 ENABLE_GLOBAL_DYNAMIC_ENDPOINT_PDB_LISTENER=ON          # line added by Agent
 VALID_NODE_CHECKING_REGISTRATION_PDB_LISTENER=SUBNET           # line added by Agent

  



 2. Within the PDB issue the following statement:  


alter system set listener_networks='(( NAME=net1)(LOCAL_LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host.us.oracle.com)(PORT=1524)))))' scope=spfile;

  Remarks:
     - use scope=memory for testing only
     - LOCAL_LISTENER and REMOTE_LISTENER parameters are not PDB modifiable.

3. modify the PDB service definition in tnsnames.ora to point to the correct port
  


PDB1 =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = host.us.oracle.com)(PORT = 1524))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = pdb1)
     )
   )

  

4. The LREG process will automatically register the service with the listener after executing the command from section 2.

 Connections and lsnrctl service/status pdb_listener output are all correct for the connection. 
  


 [oracle@host admin]$ lsnrctl service pdb_listener

 LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 01-DEC-2014 13:18:01

 Copyright (c) 1991, 2014, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=test)))
 Services Summary...
Service "pdb1" has 1 instance(s).
   Instance "CDB1", status READY, has 2 handler(s) for this service...
     Handler(s):
       "D000" established:0 refused:0 current:0 max:1022 state:ready
          DISPATCHER <machine: host.us.oracle.com, pid: 35460>
          (ADDRESS=(PROTOCOL=tcp)(HOST=host.us.oracle.com)(PORT=24804))
       "DEDICATED" established:2 refused:0 state:ready
          LOCAL SERVER
 The command completed successfully

[oracle@host admin]$ lsnrctl status pdb_listener

 LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 01-DEC-2014 13:27:59

 Copyright (c) 1991, 2014, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=test)))
 STATUS of the LISTENER
 ------------------------
 Alias                     PDB_LISTENER
 Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
 Start Date                01-DEC-2014 12:41:36
 Uptime                    0 days 0 hr. 46 min. 24 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   /u01/app/oracle/product/12.1.0.2/dbhome/network/admin/listener.ora
 Listener Log File         /u01/app/oracle/diag/tnslsnr/host/pdb_listener/alert/log.xml
 Listening Endpoints Summary...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=test)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host.us.oracle.com)(PORT=1524)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1524)))
 Services Summary...
Service "pdb1" has 1 instance(s).
   Instance "CDB1", status READY, has 2 handler(s) for this service...
 The command completed successfully 

 

posted @ 2016-11-09 11:31  feiyun8616  阅读(780)  评论(0编辑  收藏  举报