暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle RAC+DG 调整redo/standby log file

IT小Chen 2021-04-13
3389

环境:

Oracle 11.2.0.4.0 RAC+DG 

其中DG主库和备库均为两节点RAC

调整: 

调整redo/standby log file大小,由1G调大2G。

操作如下:

一、主库CJC数据库(节点1)

1、检查ASM磁盘组空间是否足够

    su - grid
    sqlplus / as sysasm
    select name,free_mb,total_mb from v$asm_diskgroup;
    su – oracle
    sqlplus / as sysdba
    复制

    2、先为两个实例分别新增两组(每组两个)redolog文件

      alter database add logfile thread 1 group 35 ('+CJC_DATA','+CJC_ARCH') size 2g;
      alter database add logfile thread 2 group 36 ('+CJC_DATA','+CJC_ARCH') size 2g;
      alter database add logfile thread 1 group 37 ('+CJC_DATA','+CJC_ARCH') size 2g;
      alter database add logfile thread 2 group 38 ('+CJC_DATA','+CJC_ARCH') size 2g;
      复制

      3、查询当前redo所在组,手动切换日志到新增redolog文件上

        select * from v$log;
        在两个节点执行,直至到达新增log上
        alter system switch logfile;
        手动生成检查点:
        alter system checkpoint;
        复制

        4、查询log信息,删除非活动日志

          select thread#,group#,members,bytes/1024/1024 mb,status from v$log order by thread#,2;
          alter database drop logfile group 1;
          alter database drop logfile group 2;
          alter database drop logfile group 3;
          alter database drop logfile group 4;
          alter database drop logfile group 5;
          alter database drop logfile group 6;
          alter database drop logfile group 7;
          alter database drop logfile group 8;
          alter database drop logfile group 9;
          alter database drop logfile group 10;
          alter database drop logfile group 11;
          alter database drop logfile group 12;
          alter database drop logfile group 13;
          alter database drop logfile group 14;
          alter database drop logfile group 15;
          alter database drop logfile group 16;
          复制

          5、删除asm磁盘组上旧的log group

            说明:
            如果在创建redo log file时,没有指定具体redo log 名称,即通过OMF管理指定生成redo log名称,在执行drop logfile时,ASM磁盘组内的redo log也会自动删除。
            如果在创建redo log file时,指定了具体redo log 名称,例如redo01.log,redo02.log等,在执行drop logfile时,ASM磁盘组内的redo log不会自动删除,如果空间不足,可以考虑手动删除。
            su - grid
            asmcmd
            cd +BJ_SY_BFESB_DATA
            rm group_1到group_16
            确保删除的log不在select * from v$logifle里。
            复制

            6、重新添加redo,每个实例添加8组日志

              alter database add logfile thread 1 group 1 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 2 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 3 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 4 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 5 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 6 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 7 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 8 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 9 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 10 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 11 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 12 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 13 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 14 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 1 group 15 ('+CJC_DATA','+CJC_ARCH') size 2g;
              alter database add logfile thread 2 group 16 ('+CJC_DATA','+CJC_ARCH') size 2g;
              复制

              7、删除临时添加的group 35,36,37,38

                select * from v$logfile;
                alter database drop logfile group 35;
                alter database drop logfile group 36;
                alter database drop logfile group 37;
                alter database drop logfile group 38;
                删除asm磁盘组上旧的log group
                su - grid
                asmcmd
                cd +CJC_DATA
                rm group_35到group_38
                确保删除的log不在select * from v$logifle里。
                复制

                8、查询standbylog信息,并删除非活动的

                  select * from v$standby_log;
                  alter database drop standby logfile group 17;
                  alter database drop standby logfile group 18;
                  alter database drop standby logfile group 19;
                  alter database drop standby logfile group 20;
                  alter database drop standby logfile group 21;
                  alter database drop standby logfile group 22;
                  alter database drop standby logfile group 23;
                  alter database drop standby logfile group 24;
                  alter database drop standby logfile group 25;
                  alter database drop standby logfile group 26;
                  alter database drop standby logfile group 27;
                  alter database drop standby logfile group 28;
                  alter database drop standby logfile group 29;
                  alter database drop standby logfile group 30;
                  alter database drop standby logfile group 31;
                  alter database drop standby logfile group 32;
                  alter database drop standby logfile group 33;
                  alter database drop standby logfile group 34;
                  复制

                  9、删除asm磁盘组上旧的standby log group

                    su - grid
                    asmcmd
                    cd +CJC_DATA
                    rm standby_17到standby_34
                    确保删除的log不在select * from v$standby_log里。
                    复制

                    10、添加standby log,每个实例9组

                      alter database add standby logfile thread 1 group 17 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 18 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 19 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 20 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 21 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 22 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 23 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 24 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 25 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 26 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 27 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 28 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 29 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 30 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 31 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 32 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 1 group 33 ('+CJC_DATA') size 2g;
                      alter database add standby logfile thread 2 group 34 ('+CJC_DATA') size 2g;
                      复制

                      11、再次查询v$log日志信息

                        set line 200 pagesize 999
                        col member for a60
                        col dbid for a20
                        select * from v$log;
                        复制

                        二、备库CJC数据库

                        1、调整standby_file_management

                           sqlplus / as sysdba
                          ---将standby_file_management由auto调整为mamual
                          show parameter standby_file_management
                          alter system set standby_file_management=MANUAL scope=both;
                          show parameter standby_file_management
                          复制

                          2、断开备库备库日志应用

                            select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                            ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
                            select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                            复制

                            3、查询当前redo所在组,手动切换日志到新增redolog文件上

                              select * from v$log;
                              复制

                              4、通过查询v$log,删除非活动日志

                                Current状态日志组无法删除,需要先跳过。
                                如果redo log file状态是active,尝试手动生成检查点。
                                set line 300
                                set pagesize 100
                                col member for a65
                                select * from v$log;
                                select * from v$logfile;
                                select thread#,group#,members,bytes/1024/1024 mb,status from v$log order by thread#,2;
                                alter database drop logfile group 1;
                                alter database drop logfile group 2;
                                alter database drop logfile group 3;
                                alter database drop logfile group 4;
                                alter database drop logfile group 5;
                                alter database drop logfile group 6;
                                alter database drop logfile group 7;
                                alter database drop logfile group 8;
                                alter database drop logfile group 9;
                                alter database drop logfile group 10;
                                alter database drop logfile group 11;
                                alter database drop logfile group 12;
                                alter database drop logfile group 13;
                                alter database drop logfile group 14;
                                alter database drop logfile group 15;
                                alter database drop logfile group 16;
                                复制

                                如果删除失败,可以先执行clear,在执行drop。

                                  alter database clear logfile group 1;
                                  alter database clear logfile group 2;
                                  alter database clear logfile group 3;
                                  alter database clear logfile group 4;
                                  alter database clear logfile group 5;
                                  alter database clear logfile group 6;
                                  alter database clear logfile group 7;
                                  alter database clear logfile group 8;
                                  alter database clear logfile group 9;
                                  alter database clear logfile group 10;
                                  alter database clear logfile group 11;
                                  alter database clear logfile group 12;
                                  alter database clear logfile group 13;
                                  alter database clear logfile group 14;
                                  alter database clear logfile group 15;
                                  alter database clear logfile group 16;
                                  复制

                                  如果执行clear后仍不能drop,可以尝试调整LOG_FILE_NAME_CONVERT参数。

                                  5、删除asm磁盘组上旧的log group

                                    su - grid
                                    asmcmd
                                    cd +CCC_DATA
                                    rm group_1到group_16
                                    确保删除的log不在select * from v$logifle里。
                                    复制

                                    6、重新添加redo,每个实例添加8组日志,每组日志包括两个日志文件

                                      alter database add logfile thread 1 group 1 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 2 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 3 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 4 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 5 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 6 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 7 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 8 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 9 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 10 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 11 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 12 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 13 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 14 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 1 group 15 ('+CCC_DATA') size 2g;
                                      alter database add logfile thread 2 group 16 ('+CCC_DATA') size 2g;
                                      复制

                                      7、查询standbylog信息,并删除非活动的standby logfile

                                        select * from v$standby_log;
                                        alter database drop standby logfile group 17;
                                        alter database drop standby logfile group 18;
                                        alter database drop standby logfile group 19;
                                        alter database drop standby logfile group 20;
                                        alter database drop standby logfile group 21;
                                        alter database drop standby logfile group 22;
                                        alter database drop standby logfile group 23;
                                        alter database drop standby logfile group 24;
                                        alter database drop standby logfile group 25;
                                        alter database drop standby logfile group 26;
                                        alter database drop standby logfile group 27;
                                        alter database drop standby logfile group 28;
                                        alter database drop standby logfile group 29;
                                        alter database drop standby logfile group 30;
                                        alter database drop standby logfile group 31;
                                        alter database drop standby logfile group 32;
                                        alter database drop standby logfile group 33;
                                        alter database drop standby logfile group 34;
                                        复制
                                          如果有ACTIVE状态standby log无法删除,在主库主库切换一组日志后再行删除备库standby log。
                                          如果仍然无法切换为非ACTIVE状态,需要再启停一次MRP进程,然后确认ACTIVE状态standby log转为UNASSIGNED 状态后,再行删除。
                                          select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                                          ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
                                          ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
                                          select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                                          select * from v$standby_log;
                                          复制

                                          8、删除asm磁盘组上旧的standby log group

                                            su - grid
                                            asmcmd
                                            cd +CCC_DATA
                                            rm standby_17到group_34
                                            确保删除的log不在select * from v$standby_log里。
                                            复制

                                            9.重新添加standby log

                                              alter database add standby logfile thread 1 group 17 ('+CCC_DATA') size 2g; 
                                              alter database add standby logfile thread 2 group 18 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 19 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 20 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 21 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 22 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 23 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 24 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 25 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 26 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 27 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 28 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 29 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 30 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 31 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 32 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 1 group 33 ('+CCC_DATA') size 2g;
                                              alter database add standby logfile thread 2 group 34 ('+CCC_DATA') size 2g;
                                              每个实例9组standby日志
                                              复制

                                              10、数据库需调整参数

                                                show parameter standby_file_management
                                                alter system set standby_file_management=AUTO scope=both;
                                                show parameter standby_file_management
                                                #启用备库日志非实时 应用
                                                select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                                                ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
                                                select process,status,thread#,sequence#,block#,blocks from v$managed_standby;
                                                复制

                                                ###2021-02-23 22:20 chenjuchao###

                                                文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                评论