12C關於CDB、PDB 日誌檔案redo log的總結

lusklusklusk發表於2020-02-12

以下結論皆經過實驗驗證,版本12.2,為方便理解,本文中CDB指的是根容器CDB$ROOT



1、CDB和所有PDB共享online redo log和archivelog

2、總的來說12C的體系結構中關於日誌檔案redo log和11G是一樣的,所以操作方法也和11G一樣。

3、只有CDB才能建立redo log group和redo log member

4、只有CDB才能啟用、禁用歸檔,也就是說CDB和PDB必須同時為歸檔或非歸檔模式

5、沒有alter pluggable database database_name archivelog這樣的語法




--PDB無法建立redo log group和redo log member

SQL> show con_name

CON_NAME

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

CDB$ROOT

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE

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

db_recovery_file_dest                string      /u02/fra

SQL> select GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS,CON_ID from v$log;

    GROUP#    THREAD#  SEQUENCE#    MEMBERS ARC STATUS         CON_ID

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

         1          1         61          2 YES INACTIVE            0

         2          1         62          2 NO  CURRENT             0

         3          1         60          2 YES INACTIVE            0

SQL> select * from v$logfile;

    GROUP# STATUS     TYPE    MEMBER                                             IS_     CON_ID

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

         3            ONLINE  /u02/data/OCP/onlinelog/o1_mf_3_h0gsrdsb_.log      NO           0

         3            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_3_h0gsrfs8_.log       YES          0

         2            ONLINE  /u02/data/OCP/onlinelog/o1_mf_2_h0gsqzby_.log      NO           0

         2            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_2_h0gsr1bw_.log       YES          0

         1            ONLINE  /u02/data/OCP/onlinelog/o1_mf_1_h0gsqzbn_.log      NO           0

         1            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_1_h0gsr1bq_.log       YES          0

SQL> alter database add logfile ('/u02/data/test/redo401.log','/u02/data/test/redo402.log') size 10M;

SQL> alter database add logfile member '/u02/data/test/redo301.log' to group 3;

SQL> select GROUP#,THREAD#,SEQUENCE#,MEMBERS,ARCHIVED,STATUS,CON_ID from v$log;

    GROUP#    THREAD#  SEQUENCE#    MEMBERS ARC STATUS         CON_ID

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

         1          1         61          2 YES INACTIVE            0

         2          1         62          2 NO  CURRENT             0

         3          1         60          3 YES INACTIVE            0

         4          1          0          2 YES UNUSED              0

SQL>  select * from v$logfile;

    GROUP# STATUS     TYPE    MEMBER                                             IS_     CON_ID

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

         3            ONLINE  /u02/data/OCP/onlinelog/o1_mf_3_h0gsrdsb_.log      NO           0

         3            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_3_h0gsrfs8_.log       YES          0

         2            ONLINE  /u02/data/OCP/onlinelog/o1_mf_2_h0gsqzby_.log      NO           0

         2            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_2_h0gsr1bw_.log       YES          0

         1            ONLINE  /u02/data/OCP/onlinelog/o1_mf_1_h0gsqzbn_.log      NO           0

         1            ONLINE  /u02/fra/OCP/onlinelog/o1_mf_1_h0gsr1bq_.log       YES          0

         4            ONLINE  /u02/data/test/redo401.log                         NO           0

         4            ONLINE  /u02/data/test/redo402.log                         NO           0

         3 INVALID    ONLINE  /u02/data/test/redo301.log                         NO           0


SQL> alter session set container=pocp999;

Session altered.

SQL> alter database add logfile ('/u02/data/test/redo501.log','/u02/data/test/redo502.log') size 10M;

alter database add logfile ('/u02/data/test/redo501.log','/u02/data/test/redo502.log') size 10M

*

ERROR at line 1:

ORA-65040: operation not allowed from within a pluggable database

SQL> alter database add logfile member '/u02/data/test/redo302.log' to group 3;

alter database add logfile member '/u02/data/test/redo302.log' to group 3

*

ERROR at line 1:

ORA-65040: operation not allowed from within a pluggable database




--PDB無法禁用歸檔

SQL> alter session set container=pocp999;

SQL> shutdown immediate;

Pluggable Database closed.

SQL> show pdbs


    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

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

         5 POCP999                        MOUNTED

SQL> alter database noarchivelog;

alter database noarchivelog

*

ERROR at line 1:

ORA-65040: operation not allowed from within a pluggable database


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

相關文章