ITPub博客

首页 > 数据库 > Oracle > 12C关于CDB、PDB 日志文件redo log的总结

12C关于CDB、PDB 日志文件redo log的总结

原创 Oracle 作者:lusklusklusk 时间:2020-02-12 23:06:47 0 删除 编辑

以下结论皆经过实验验证,版本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博客 ” ,链接:/30126024/viewspace-2675350/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Welcome to Lukes DB HOME。10G OCP、11G OCM, 8年以上DBA工作经验,博客仅记录自己的一个学习过程,不代表完全准确,如有需要,欢迎转载。

注册时间:2015-02-02

  • 博文量
    389
  • 访问量
    545755