Oracle12c多租戶如何啟動關閉CDB或PDB (PDB自動啟動)

張衝andy發表於2017-05-06
Oracle 資料庫 12 c 中介紹了多租戶選項允許單個容器資料庫 (CDB) 來承載多個單獨的可插拔資料庫 (PDB)。
下面我們一起來啟動和關閉容器資料庫 (CDB) 和可插拔資料庫 (PDB)。


一、啟動與關閉 cdb、pdbs 資料庫


說明:對於CDB,啟動和關閉與之前傳統的方式一樣。

1. 啟動 CDB
啟動和關閉的容器資料庫和以前版本的常規例項相同。使用SQL*Plus STARTUP和SHUTDOWN命令,必須以特權使用者身份連線到CDB。
一些典型用法如下所示。
--12c資料庫建立完成後,預設情況下使用sqlplus / as sysdba  登入連線的是CDB。
[oracle@12c01 ~]$ sqlplus / as sysdba
SQL>startup;
SQL> select name,cdb,open_mode from v$database;

NAME                 CDB OPEN_MODE
-------------------- --- --------------------
ANDYCDB              YES READ WRITE
SQL> show pdbs                       

    CON_ID CON_NAME  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED  READ ONLY  NO
3 PDB01  MOUNTED
在CDB 啟動之,PDB 是自動啟動到mount狀態,而不是OPEN。 所以我們還需要手工去open它

2. 關閉CDB,也會把PDB 關閉掉
SQL>select con_id, dbid, guid, name , open_mode from v$pdbs;
SQL>shutdown; 

二、 啟動與關閉可插接式資料庫 (PDB)

3. 啟動 PDB
特權使用者使用 SQL*PLUS 命令或ALTER PLUGGABLE DATABASE命令可以啟動和停止可插拔的資料庫。
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB01                          MOUNTED
SQL> alter session set container=pdb01;

Session altered.

SQL> alter pluggable database pdb01 open;

Pluggable database altered.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 PDB01                          READ WRITE NO
啟動到其他狀態:
ALTER PLUGGABLE DATABASE OPEN READ ONLY FORCE;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;

4. 關閉 PDB
SQL> alter pluggable database pdb01 close immediate;

Pluggable database altered.

擴充套件:
1.啟動或者關閉一個或多個 PDB,指定的名稱為一個以逗號分隔的列表。
ALTER PLUGGABLE DATABASE pdb1,pdb2 OPEN READ ONLY FORCE;
ALTER PLUGGABLE DATABASE pdb1,pdb2 CLOSE IMMEDIATE;
2.啟動或者關閉 all pdbs
ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;
3.排除某些pdbs不啟動,啟動所有為排除的。
ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN;
ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE;

三、可插接式資料庫(PDB) 自動啟動

預設情況下,在CDB 啟動的時候,all 的PDB 都是mount狀態。我們可以透過觸發器來實現pdbs隨cdb自動啟動
[oracle@12c01 ~]$ sqlplus / as sysdba
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL>
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
 
Trigger created.

驗證 PDB 自動啟動:
SQL> startup;
SQL> show pdbs

    CON_ID CON_NAME  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED  READ ONLY  NO
3 PDB01  READ WRITE NO

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

相關文章