CDB與PDB的系統關係

georgehmwang發表於2014-12-24
容器資料庫CDB和可插拔資料庫PDB是Oracle 12c的新特性。在CDB中最高層container被稱為CDB$ROOT;用來建立其他PDB的模板PDB被稱為PDB$SEED;CDB中可以用PDB$SEED建立多個PDB。

在下面的例子中,CDB中有三個可插拔資料庫,其中一個是PDB$SEED,另外兩個是用PDB$SEED為模板建立的PDB1和PDB2。

在CDB$ROOT中執行以下SQL語句:
SQL>  select name, open_mode from v$pdbs;
NAME                         OPEN_MODE
--------------------------  ----------
PDB$SEED                 READ ONLY
PDB1                           READ WRITE
PDB2                           READ WRITE

SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/OSTE/system01.dbf
/u01/app/oracle/oradata/OSTE/sysaux01.dbf
/u01/app/oracle/oradata/OSTE/undotbs01.dbf
/u01/app/oracle/oradata/OSTE/pdbseed/system01.dbf
/u01/app/oracle/oradata/OSTE/users01.dbf
/u01/app/oracle/oradata/OSTE/pdbseed/sysaux01.dbf
/u01/app/oracle/oradata/OSTE/PDB1/system01.dbf
/u01/app/oracle/oradata/OSTE/PDB1/sysaux01.dbf
/u01/app/oracle/oradata/OSTE/PDB1/PDB1_users01.dbf
/u01/app/oracle/oradata/OSTE/PDB2/system01.dbf
/u01/app/oracle/oradata/OSTE/PDB2/sysaux01.dbf
/u01/app/oracle/oradata/OSTE/PDB2/PDB2_users01.dbf

12 rows selected.

SQL>  select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/OSTE/control01.ctl
/u01/app/oracle/fast_recovery_area/OSTE/control02.ctl

SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/OSTE/redo03.log
/u01/app/oracle/oradata/OSTE/redo02.log
/u01/app/oracle/oradata/OSTE/redo01.log

SQL> select con_id,name from v$tempfile;
    CON_ID NAME
---------- --------------------------------------------------------------------------------
         1 /u01/app/oracle/oradata/OSTE/temp01.dbf
         2 /u01/app/oracle/oradata/OSTE/pdbseed/pdbseed_temp012014-12-18_07-02-56-PM.dbf
         3 /u01/app/oracle/oradata/OSTE/PDB1/temp012014-12-18_07-02-56-PM.dbf
         4 /u01/app/oracle/oradata/OSTE/PDB2/temp012014-12-18_07-02-56-PM.dbf

由以上可以看出以下幾點
1.CDB和每個PDB都有各自的SYSTEM和SYSAUX表空間
2.PDB沒有獨自的控制檔案和重做日誌檔案
3.PDB可以有自己的臨時表空間
4.整個CDB只有一個UNDO表空間,PDB沒有獨自的UNDO表空間

另外,CDB和PDB使用相同的listener.ora, tnsnames.ora和sqlnet.ora檔案,使用同一個SGA,使用相同的一組後臺OS程式。

TIP: 如何登入PDB
$ sqlplus sys/@localhost:1521/pdb1 as sysdba
$ sqlplus sys/@localhost:1521/pdb2 as sysdba

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960937/viewspace-1379137/,如需轉載,請註明出處,否則將追究法律責任。

相關文章