Tags

11g (5) 12c (6) 18c (3) 19c (4) ASM (1) Critical Patch (11) Data Pump (1) Dataguard (9) Diverse (3) GRID (7) GitLab (2) Linux (8) OEM (2) ORA Errors (13) Oracle (12) RMAN (4)
Showing posts with label Handling Standby Redo Logs. Show all posts
Showing posts with label Handling Standby Redo Logs. Show all posts

Wednesday, June 16, 2021

Handling Standby Redo Logs

Handling Online Redo logs and Standby Redo logs

Handling Online Redo logs (ORL) and Standby Redo logs (SRL) on Primary and Physical Standby


PURPOSE: All documents are provided on this Blog just for educational purposes only.  Please make sure that you run it in your test environment before to move on to production environment.


On Standby:

SQL> select sg.group#,sg.thread#,sg.sequence#,sg.bytes/1024/1024 "sizeMB",sg.archived,sg.status,le.type,le.member from V$STANDBY_LOG sg,v$logfile le where le.group#=sg.group# 

    GROUP#    THREAD#  SEQUENCE#     sizeMB ARC STATUS     TYPE    MEMBER

---------- ---------- ---------- ---------- --- ---------- ------- --------------------------------------------------
        40          1        120        200 YES ACTIVE     STANDBY /fast_recovery_area/TSTDB02/onlinelog/o1_mf_40_jdj

                                                                   stm2v_.log

        40          1        120        200 YES ACTIVE     STANDBY +DATA01/TSTDB02/ONLINELOG/group_40.266.1075286387
        41          0          0        200 NO  UNASSIGNED STANDBY /fast_recovery_area/TSTDB02/onlinelog/o1_mf_41_jdj

                                                                   stow9_.log
        41          0          0        200 NO  UNASSIGNED STANDBY +DATA01/TSTDB02/ONLINELOG/group_41.263.1075286389


        42          0          0        200 NO  UNASSIGNED STANDBY /fast_recovery_area/TSTDB02/onlinelog/o1_mf_42_jdj

                                                                   stqxg_.log


SQL> show parameter standby_file_management;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_file_management              string      AUTO

SQL> alter system set standby_file_management=manual;

System altered.

SQL> show parameter standby_file_management

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------

standby_file_management              string      MANUAL



SQL> alter database recover managed standby database cancel;

Database altered.

Online standby redolog:


SQL> alter database clear logfile group 41;

Database altered.

SQL> alter database drop logfile group 41;
Database altered.

SQL> alter database add standby logfile group 41 '+DATA01' size 200m;
Database altered.

Execute the same steps for the group 40,42 and 43:


Online redologs

SQL> alter database clear logfile group 1;
Database altered.

SQL> alter database drop logfile group 1;
Database altered.

SQL> alter database add logfile group 1 '+DATA01' size 200m;
Database altered.

Execute the same steps for the group 2 and 3:


SQL> set linesize 200

col MEMBER format a50

select lg.group#,lg.thread#,sequence#,lg.bytes/1024/1024 "sizeMB",lg.archived,lg.status,le.type,le.member from v$log lg,v$logfile le

where lg.group#=le.group#

/SQL> SQL>   2    3

    GROUP#    THREAD#  SEQUENCE#     sizeMB ARC STATUS           TYPE    MEMBER

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

         1          1          0        200 YES UNUSED           ONLINE  +DATA01/TSTDB02/ONLINELOG/group_1.260.1075303171

         3          1          0        200 YES UNUSED           ONLINE  +DATA01/TSTDB02/ONLINELOG/group_3.269.1075303213

         2          1          0        200 YES UNUSED           ONLINE  +DATA01/TSTDB02/ONLINELOG/group_2.261.1075303183


SQL> select sg.group#,sg.thread#,sg.sequence#,sg.bytes/1024/1024 "sizeMB",sg.archived,sg.status,le.type,le.member

from V$STANDBY_LOG sg,v$logfile le

where le.group#=sg.group#

/  2    3    4


    GROUP#    THREAD#  SEQUENCE#     sizeMB ARC STATUS     TYPE    MEMBER

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

        40          1        120        200 YES ACTIVE     STANDBY +DATA01/TSTDB02/ONLINELOG/group_40.266.1075302753

        41          0          0        200 YES UNASSIGNED STANDBY +DATA01/TSTDB02/ONLINELOG/group_41.258.1075302551

        42          0          0        200 YES UNASSIGNED STANDBY +DATA01/TSTDB02/ONLINELOG/group_42.264.1075302763

        43          0          0        200 YES UNASSIGNED STANDBY +DATA01/TSTDB02/ONLINELOG/group_43.263.1075302771



SQL> alter system set standby_file_management=auto;

System altered.

SQL> alter database recover managed standby database disconnect from session using current logfile;

Database altered.


SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;

PROCESS   STATUS          THREAD#  SEQUENCE#     BLOCK#     BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH      CONNECTED             0          0          0          0
DGRD      ALLOCATED             0          0          0          0
DGRD      ALLOCATED             0          0          0          0
ARCH      CONNECTED             0          0          0          0
ARCH      CLOSING               1        119          1        447
ARCH      CLOSING               1        118       2048        239
RFS       IDLE                  0          0          0          0
RFS       IDLE                  1        120      50536          1
RFS       IDLE                  0          0          0          0
RFS       IDLE                  0          0          0          0
RFS       IDLE                  0          0          0          0
MRP0      APPLYING_LOG          1        120      50536     409600

12 rows selected.



SQL> select max(sequence#) from v$archived_log where applied='YES';

MAX(SEQUENCE#)
--------------

           119


On Primary:

SQL> select max(sequence#) from v$archived_log;

MAX(SEQUENCE#)
--------------

           119 

physical standby without duplicate command

physical standby without duplicate command create a physical standby database using RMAN without using duplicate command PURPOSE:   All docu...