Oracle12c多租戶CDB 與 PDB 引數檔案位置探討、查詢 CDB 與 PDB 不同值的引數
一、 Oracle12c多租戶CDB 與 PDB 引數檔案位置
CDB的引數檔案依然使用12c以前的SPIFLE,pdb的引數檔案不會出現在SPFILE中,而是直接從CDB中繼承,如果PDB中有privete Local parameter 會存在 CDB 的 PDB_SPFILE$字典表 中以con_id區別,當PDB UN-Plug時,PDB引數會寫入PDB的XML檔案中,當drop pluggable database後,pdb資訊和PDB_SPFILE$記錄也會被清除。再當PDB重新Plug-in到CDB時會重新載入回PDB, 但是由於一些PDB特殊引數在plug-in時會被遺棄。
實驗驗證:
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string/home/oracle/app/oracle/produc
t/12.2.0/dbhome_1/dbs/spfilean
dycdb.ora
SQL> alter session set container=pdb01;
Session altered.
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string/home/oracle/app/oracle/produc
t/12.2.0/dbhome_1/dbs/spfilean
dycdb.ora
到這一步驗證了:CDB的引數檔案依然使用12c以前的SPIFLE,pdb的引數檔案不會出現在SPFILE中,而是直接從CDB中繼承。
SQL> show parameter undo_retention
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer900
SQL> alter system set undo_retention=901;
System altered.
SQL> show parameter undo_reten
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer901
SQL> select pdb_uid,name,value$ from PDB_SPFILE$;
no rows selected
SQL> alter session set container=cdb$root;
Session altered.
SQL> select pdb_uid,name,value$ from PDB_SPFILE$;
PDB_UID NAME VALUE$
---------- ---------------------------------------- -------------------------
2550500229 undo_retention 901
SQL> select con_id,dbid,con_uid,guid from v$pdbs;
CON_ID DBIDCON_UID GUID
---------- ---------- ---------- --------------------------------
2 2683777510 2683777510 4ECF66D93A6233B5E0531019640A6041
3 2550500229 2550500229 4ECF8621E3DA38EEE0531019640AA598
到這一步驗證了:如果PDB中有privete Local parameter 會存在 CDB 的 PDB_SPFILE$字典表 中以con_id區別
SQL>alter pluggable database pdb01 close immediate;
SQL>alter pluggable database pdb01 unplug into '/home/oracle/pdb01.xml';
[oracle@12c01 ~]$ pwd
/home/oracle
[oracle@12c01 ~]$ ll pdb01.xml
-rw-r--r--. 1 oracle oinstall 7758 May 7 05:09 pdb01.xml
[oracle@12c01 ~]$ cat pdb01.xml
1
PDB01
3
1
203424000
12.2.0.1.0
12.2.0.0.0
12.2.0.0.0
0.0.0.0.24
24
8.0.0.0.0
2550500229
...省略
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
SQL> drop pluggable database pdb01 keep datafiles;
Pluggable database dropped.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SQL> select pdb_uid,name,value$ from PDB_SPFILE$;
no rows selected
到這一步驗證了:PDB un-plug後pdb parameter and spfile會先進xml檔案, 當drop pluggable database後,pdb資訊和PDB_SPFILE$記錄也會被清除。
SQL> create pluggable database pdb01 using '/home/oracle/pdb01.xml' nocopy;
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
SQL> alter pluggable database pdb01 open;
Pluggable database altered.
SQL> select pdb_uid,name,value$ from PDB_SPFILE$;
PDB_UID NAME VALUE$
---------- ---------------------------------------- -------------------------
1196085469 undo_retention 901
到這一步驗證了:當PDB重新Plug-in到CDB時會重新載入回PDB, 但是由於一些PDB引數特殊原因在plug-in時會被遺棄。這裡因為沒有特殊引數,所以沒有丟失引數。
二、 CDB 與 PDB 不同值的相同引數
多租戶環境下,如果在設定引數時,cdb中設定CONTAINER=ALL,那麼PDB的引數也會繼承這個值,但可以透過ALTER SYSTEM在PDB container中修改 PDB local parameter,將覆蓋(優先)從CDB繼承的引數。有時候,我們有中需求,需要核實對比 PDB 中哪些引數與 CDB 不同。我們該怎麼辦,下面我們一起探討下。
例子: 查詢 名為 pdb01 的PDB 與 CDB 不同值的相同引數有哪些
1. 實驗環境檢視
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter undo_reten
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer900
SQL> alter session set container=pdb01;
SQL> show parameter undo_reten
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer901
2. 查詢 PDB 中哪些引數與 CDB 不同
SQL>
set lin 300;
set pages 300;
col pdb_name for a30;
col parameter for a25;
col value$ for a20;
select v.dbid,v.name pdb_name,p.name parameter,p.value$
from pdb_spfile$ p,v$pdbs v
where p.pdb_uid=v.con_uid and v.name='PDB01' ;
DBID PDB_NAME PARAMETER VALUE$
---------- ------------------------------ ------------------------- -------------
2550500229 PDB01 undo_retention 901
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2138598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle12c多租戶如何連線到CDB或PDB、CDB與PDB容器切換Oracle
- Oracle 12c 多租戶配置和修改 CDB 和 PDB 引數Oracle
- Oracle 12c 多租戶 CDB 與 PDB 備份Oracle
- Oracle 12C 中CDB和PDB的引數檔案管理Oracle
- Oracle12c多租戶如何啟動關閉CDB或PDB (PDB自動啟動)Oracle
- 【CDB】怎樣修改PDB的記憶體引數記憶體
- Oracle 12c 多租戶在 CDB 中 Plug A PDB,Unplugging A PDBOracle
- Oracle 12c 多租戶 CDB 與 PDB之 shared undo 與 Local undo 切換Oracle
- oracle12c的CDB和PDB初探Oracle
- 多租戶:在Oracle12.2中 從Non-CDB遷移到PDB,從PDB遷移另一個CDB中Oracle
- 12C多租戶關於CDB、PDB的常用SQL語句SQL
- CDB與PDB的系統關係
- 12C關於CDB、PDB引數的區別和總結
- Oracle 12c 多租戶 CDB 與 PDB 級別 expdb 與 impdb(表、使用者、全庫)Oracle
- 【CDB】Oracle CDB/PDB常用管理命令Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(一)什麼是CDB與PDB?Oracle
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- ORACLE 12C新特性——CDB與PDBOracle
- 4.3.2.2 關於CDB Root和PDB$SEED檔案的名稱和位置
- 2.6.2 Overview of Flashback PDB in a CDBView
- Oracle:PDB 引數管理Oracle
- Oracle12c中配置例項引數和修改容器資料庫(CDB)及可插拔資料庫(PDB)Oracle資料庫
- Oracle 12c 多租戶 手工建立 pdb 與 手工刪除 pdbOracle
- Oracle12c多租戶資料庫備份與恢復 - PDB中資料檔案的恢復Oracle資料庫
- Oracle CDB和PDB基本管理Oracle
- 1.3.2.2.2 通過Non-CDB(非CDB模式)建立PDB模式
- 1.3.2.2.2. 通過Non-CDB(非CDB模式)建立PDB模式
- Oracle12c多租戶資料庫備份與恢復 - 單獨恢復CDBOracle資料庫
- Oracle12c多租戶資料庫備份與恢復 - 僅僅備份CDBOracle資料庫
- Oracle12c多租戶資料庫備份與恢復 - 備份CDB下的多個PDBsOracle資料庫
- Oracle12c多租戶資料庫備份與恢復 - 恢復一個PDBOracle資料庫
- oracle 19c CDB vs pdb 建立Oracle
- Oracle 12C RMAN transport tablespace from PDB of RAC CDB to remote PDBOracleREM
- Oracle 12.2.0.1.0 PDB丟失資料檔案對CDB的影響Oracle
- oracle 12c PDB隨CDB啟動和連結PDB的方式Oracle
- 【RECO_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(四)PDB的幾種恢復方式Oracle
- oracle 12c 多租戶 pdb 恢復(單個pdb資料檔案、非系統pdb表空間、整個pdb資料庫)Oracle資料庫
- 12c RAC 和 CDB/PDB 學習