【CDB】Oracle CDB/PDB常用管理命令

恩強Boy發表於2020-12-08

Oracle 12C 及以上版本  CDB / PDB 常用管理命令


1. 檢視PDB 資訊
SQL> show pdbs   -- 檢視所有 pdb

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

         2 PDB$SEED                       READ ONLY  NO

         3 PDB1                           READ WRITE NO

         4 PDB2                           READ WRITE NO

         5 SBDB1                          READ WRITE NO
SQL> col name for a20

SQL> select name, dbid, open_mode from v$pdbs;   --v$pdbs PDB 資訊檢視

SQL> select name,dbid,open_mode from v$pdbs;

NAME                       DBID OPEN_MODE

-------------------- ---------- ----------

PDB$SEED              943290432 READ ONLY

PDB1                 1666453508 READ WRITE

PDB2                 1345465961 READ WRITE

SBDB1                3044255387 READ WRITE

2.  切換容器

SQL> alter session set container= sbdb 1 -- 切換到 PDB  sbdb 1
SQL> alter session set container=CDB$ROOT -- 切換到 CDB 容器

檢視當前屬於哪個容器

SQL> show con_name ;/show pdbs;  -- show 檢視當前屬於哪個容器

SQl> select sys_context('USERENV','CON_NAME') from dual; -- 使用 sys_context 檢視屬於哪個容


3. 啟動PDB
SQL> alter pluggable database sbdb 1 open;   -- 開啟指定 PDB
SQL> alter pluggable database all open;   -- 開啟所有 PDB
SQL> alter session set container= sbdb 1;  -- 切換到 PDB 進去開啟資料庫

SQL> startup

4.  關閉PDB
SQL> alter pluggable database sbdb 1 close;   -- 關閉指定的 PDB
SQL> alter pluggable database all close;   -- 關閉所有 PDB
SQL> alter session set container= sbdb 1;   -- 切換到 PDB 進去關閉資料庫

SQL> shutdown immediate

5.  建立PDB

建立或克隆前要指定檔案對映的位置(需要CBD sysdba 許可權)

SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata';

建立一個新的PDB (需要 CBD sysdba 許可權)

SQL> create pluggable database sbdb2  admin user sbdb2_user identified by oracle ;

SQL> alter pluggable database sbdb2  open; -- PDB sbdb2   開啟

6.  克隆PDB

(需要CBD sysdba 許可權)
SQL> create pluggable database sbdb3  from sbdb 1;   -- sbdb1 必須是開啟的,才可以被 克隆
SQL> alter pluggable database sbdb3  open; -- 然後開啟這個 pdb


7. 刪除PDB

(需要CBD sysdba 許可權)
SQL> alter pluggable database sbdb3  close;   -- 關閉之後才能刪除
SQL> drop pluggable database sbdb3  including datafiles;   -- 刪除 PDB sbdb3


8. 設定CDB PDB 自動啟動

方式一:設定觸發器

CREATE TRIGGER open_all_pdbs

AFTER STARTUP

ON DATABASE

BEGIN

EXECUTE IMMEDIATE 'alter pluggable database all open';

END open_all_pdbs;

/


方式二:使用save state 引數( 12cR2 及以上版本)

透過SAVE STATE 儲存 CDB 重啟前 PDB 的狀態。這樣重啟 CDB 之後,會自動開啟 PDB 到之前的狀態。

SQL> ALTER PLUGGABLE DATABASE sbdb1  SAVE STATE;

SQL> ALTER PLUGGABLE DATABASE all SAVE STATE;

取消儲存CDB 重啟前 PDB 的狀態

SQL> ALTER PLUGGABLE DATABASE sbdb1  DISCARD STATE;

SQL> ALTER PLUGGABLE DATABASE all  DISCARD STATE;

 

---- end ----

 

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

相關文章