Oracle 12c中PDB隨CDB啟動的例子

來源:互聯網
上載者:User

12.1.0.2之前,用startup trigger:

 代碼如下 複製代碼

--在CDB中建立startup trigger
CREATE TRIGGER open_all_pdbs
   AFTER STARTUP
   ON DATABASE
BEGIN
   EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/


12.1.0.2之後,用PDB save state

 代碼如下 複製代碼

下面的命令可以放pdb保持其關機前的狀態,文法如下:
ALTER PLUGGABLE DATABASE [all]|[PDB_NAME] SAVE STATE;
取消設定的話,文法如下:
ALTER PLUGGABLE DATABASE [all]|[PDB_NAME]  DISCARD STATE;
 
如:
alter pluggable database pdbrac1 save state;
alter pluggable database all discard state;
 
 
注意,savle state只是抓取當前的狀態進行save,如果目前狀態是mount,然後save state了。然後在open all pdb,再重啟cdb,重啟後只是會恢複到open all pdb之前的狀態,即save state時的狀態。
 
SQL> show con_name
 
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> startup
ORACLE instance started.
 
Total System Global Area 1560281088 bytes
Fixed Size                  2924784 bytes
Variable Size            1056968464 bytes
Database Buffers          486539264 bytes
Redo Buffers               13848576 bytes
Database mounted.
Database opened.
SQL>  --最初時,2個pdb啟動後狀態都是mounted的。       
SQL>  select NAME,OPEN_MODE from v$pdbs;
 
NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDBRAC1                        MOUNTED
PDBRAC2                        MOUNTED
 
SQL> alter pluggable database PDBRAC1 open;
 
Pluggable database altered.
 
SQL> alter pluggable database pdbrac1 save state;
 
Pluggable database altered.
 
SQL>
SQL>
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL>
SQL> startup
ORACLE instance started.
 
Total System Global Area 1560281088 bytes
Fixed Size                  2924784 bytes
Variable Size            1056968464 bytes
Database Buffers          486539264 bytes
Redo Buffers               13848576 bytes
Database mounted.
 Database opened.
SQL>
SQL>
SQL> --save state之後,PDBRAC1就是隨cdb一起啟動了。
SQL> select NAME,OPEN_MODE from v$pdbs;
 
NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDBRAC1                        READ WRITE
PDBRAC2                        MOUNTED
 
SQL>
SQL> --如果是先save state,在open all,那麼記錄的狀態只是在open all 之前的。
 
SQL> alter pluggable database all save state;
 
Pluggable database altered.
 
SQL> alter pluggable database all open;
 
Pluggable database altered.
 
SQL>
SQL>
SQL>
SQL>
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL>
SQL> startup
ORACLE instance started.
 
Total System Global Area 1560281088 bytes
Fixed Size                  2924784 bytes
Variable Size            1056968464 bytes
Database Buffers          486539264 bytes
Redo Buffers               13848576 bytes
Database mounted.
 Database opened.
SQL>
SQL> --因此重啟cdb之後,也只是恢複save state時候的狀態,即open all之前的,只有PDBRAC1開啟的狀態。
SQL> select NAME,OPEN_MODE from v$pdbs;
 
NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDBRAC1                        READ WRITE
PDBRAC2                        MOUNTED
 
SQL>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.