12c 如何為每個pdb對應一個靜態註冊的監聽埠
最近有一個新的需求,在12c CDB環境中為每個pdb配置單獨的靜態註冊,每個靜態註冊對應一個獨立的埠號。
比如:
cdb LISTENER 1521
pdb1 listener1522
pdb2 listener1523
...
首先來回顧一下靜態註冊的引數概念:
1. SID_NAME:資料庫例項名。和資料庫引數INSTANCE_NAME一致。
SYS@cdb > show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string cdb
2. ORACLE_HOME:例項執行的ORACLE_HOME目錄,如果是叢集環境這裡也填寫ORACLE的ORACLE_HOME目錄。
3. GLOBAL_DBNAME: 資料庫服務名,可以省略,預設和SID_NAME保持一致。在本例中這裡需要填寫PDB的服務名。建立這個服務名可以透過NETMGR來操作。如下圖所示:容器庫的sid為cdb,為可插拔庫pdb2建立同名服務。
實驗環境如下所示,一個名為cdb的多租戶資料庫包含2個可插拔資料庫pdb1,pdb2
[oracle@snow admin]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Sun May 3 01:57:06 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SYS@cdb > show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
SYS@cdb > show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string cdb
db_unique_name string cdb
global_names boolean FALSE
instance_name string cdb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string cdb
使用netca工具分別建立名為1522和1523的監聽器,過程略。
使用netmgr工具分別為剛剛建立的監聽1522,1523新增服務,也就是我們需要的靜態註冊。
圖形工具建立完成後,檢視配置檔案可以看到配置中的關鍵步驟。
[oracle@snow admin]$ vi listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/12.1.0.1/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
#—netca建立的動態監聽
1523 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = snow.oracle.com)(PORT = 1523))
)
#—netca建立的動態監聽
1522 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = snow.oracle.com)(PORT = 1522))
)
ADR_BASE_1523 = /u01/app/oracle
1521 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = snow.oracle.com)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_1522 = /u01/app/oracle
ADR_BASE_1521 = /u01/app/oracle
#—netmgr建立的服務,GLOBAL_NAME為pdb名稱,SID_NAME為cdb名稱
SID_LIST_1523 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = pdb2)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0.1/db_1)
(SID_NAME = cdb)
)
)
#—netmgr建立的服務,GLOBAL_NAME為pdb名稱,SID_NAME為cdb名稱
SID_LIST_1522 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = pdb1)
(ORACLE_HOME = /u01/app/oracle/product/12.1.0.1/db_1)
(SID_NAME = cdb)
)
)
建立完畢測試效果
[oracle@snow admin]$ sqlplus u1/u1@snow.oracle.com:1522/pdb1
SQL*Plus: Release 12.1.0.1.0 Production on Sun May 3 01:54:12 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Last Successful login time: Sun May 03 2015 01:41:23 -04:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
U1@snow.oracle.com:1522/pdb1 > exit
[oracle@snow admin]$ sqlplus u2/u2@snow.oracle.com:1523/pdb2
SQL*Plus: Release 12.1.0.1.0 Production on Sun May 3 01:54:38 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Last Successful login time: Sun May 03 2015 01:53:07 -04:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
U2@snow.oracle.com:1523/pdb2 > exit
補充內容:
叢集環境下tns是grid使用者下建立的,使用netmgr建立靜態註冊的話在ORACLE_HOME一項填寫的是GRID使用者下的ORACLE_HOME,比如:/u01/12.1.0.1/grid這顯然是不對了。 需要手工將其修改為oracle使用者下的ORACLE_HOME地址,比如:/u01/app/oracle/product/12.1.0.1/db_1
全文完
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1695143/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 動態註冊,靜態註冊,多個監聽,一個監聽多個埠配置Oracle
- 【LISTENER】修改 LISTENER的監聽埠為1526(靜態註冊)
- 【監聽】動態註冊和靜態註冊
- srvctl新增新的監聽和埠並靜態註冊
- Oracle監聽的靜態註冊和動態註冊Oracle
- Oracle監聽的動態註冊與靜態註冊Oracle
- oracle監聽靜態註冊和動態註冊Oracle
- oracle監聽動態註冊與靜態註冊Oracle
- oracle監聽動態註冊與靜態註冊[轉帖]Oracle
- Oracle 靜態監聽註冊詳解Oracle
- oracle監聽器動態註冊於靜態註冊的區別Oracle
- oracle監聽器的靜態和動態註冊Oracle
- oracle監聽之動態和靜態註冊Oracle
- 【LISTENER】修改 LISTENER的監聽埠為1526(動態註冊)
- 動態和靜態監聽註冊-小魚的理解
- oracle監聽【非1521埠】動態註冊Oracle
- 轉載:oracle監聽器的靜態和動態註冊Oracle
- 監聽動態註冊
- 動態註冊監聽
- 動態監聽註冊
- Oracle監聽器的靜態註冊與動態註冊,以及DB_DOMAIN問題OracleAI
- oracle 監聽器動態與靜態註冊服務_listenerOracle
- rac監聽動態註冊
- 動態註冊監聽Listener
- Oracle 動態監聽註冊Oracle
- rac監聽不能動態註冊
- 如何配置多個監聽器不同埠
- 【RAC】srvctl管理工具新增新監聽和靜態註冊
- 【原創】Oracle的動態監聽註冊Oracle
- 動態監聽與靜態監聽
- 動態監聽和靜態監聽
- Oracle動態監聽註冊測試Oracle
- HPUX 監聽無法動態註冊UX
- 預設及非預設埠的動態監聽/靜態監聽實驗彙總
- 動態監聽與靜態監聽的一些特點。
- 動態註冊和靜態註冊
- 靜態註冊和動態註冊
- oracle的靜態註冊和動態註冊Oracle