Tuesday, February 11, 2020

ORACLE 
DataGuard Gap Recovery

Primary Host
==============
primary


SQL> select status,instance_name,database_role from v$database,v$instance;

STATUS       INSTANCE_NAME    DATABASE_ROLE
------------ ---------------- ----------------
OPEN         Hyderabad         PRIMARY


SQL> select thread#,max(sequence#) from v$archived_log group by thread#;

   THREAD# MAX(SEQUENCE#)
---------- --------------
         1          10899

 SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/data01/oradata/Hyderabad1/system01.dbf
/data02/oradata/Hyderabad1/sysaux01.dbf
/data05/oradata/Hyderabad1/undotbs01.dbf
/data04/oradata/Hyderabad1/users01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_BLOB_DATA_ATTACHMENTS_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_CLOB_DATA_TEXT_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_AUDIT_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_CRM_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_MASTER_PRODUCTS_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_OUTPUT_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_STATIC_01.dbf

NAME
--------------------------------------------------------------------------------
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_TNX_PRODUCTS_01.dbf
/data11/oradata/Hyderabad1/Hyderabad_TGTP_DATA_USER_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_AUDIT_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_CRM_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_MASTER_PRODUCTS_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_OUTPUT_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_STATIC_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_TNX_PRODUCTS_01.dbf
/data12/oradata/Hyderabad1/Hyderabad_TGTP_INDX_USER_01.dbf
/data01/oradata/Hyderabad1/patrol_tbs_01.dbf


standby ORACSI
============

SQL> select status,instance_name,database_role from v$database,v$instance;

STATUS       INSTANCE_NAME    DATABASE_ROLE
------------ ---------------- ----------------
MOUNTED      Hyderabad         PHYSICAL STANDBY

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

   THREAD# MAX(SEQUENCE#)
---------- --------------
         1           2954

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
   59742180
  


 SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/data01/oradata/Hyderabad2/system01.dbf
/data02/oradata/Hyderabad2/sysaux01.dbf
/data05/oradata/Hyderabad2/undotbs01.dbf
/data04/oradata/Hyderabad2/users01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_BLOB_DATA_ATTACHMENTS_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_CLOB_DATA_TEXT_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_AUDIT_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_CRM_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_MASTER_PRODUCTS_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_OUTPUT_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_STATIC_01.dbf

NAME
--------------------------------------------------------------------------------
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_TNX_PRODUCTS_01.dbf
/data11/oradata/Hyderabad2/Hyderabad_TGTP_DATA_USER_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_AUDIT_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_CRM_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_MASTER_PRODUCTS_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_OUTPUT_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_STATIC_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_TNX_PRODUCTS_01.dbf
/data12/oradata/Hyderabad2/Hyderabad_TGTP_INDX_USER_01.dbf

21 ligne(s) sélectionnée(s).
  
SQL>alter database recover managed standby database cancel;
  
PRIMARY
=========

rman target / rcvcat RMAN/RMANRCVCAT@RMAN
   
RMAN> backup incremental from scn 59742180 database format '/produits/oracle/rman/Incremental_%U.bak';

(or) 

run { 
allocate channel c1 type disk format '/produits/oracle/rman/%U.rmb'; 
backup incremental from scn 59742180 database;
}

RMAN> backup current controlfile for standby format '/produits/oracle/rman/Incremental%U.ctl';

(or)

SQL>alter database create standby controlfile as '/produits/oracle/rman/Incremental.ctl';

scp * x130654@standby:/produits/oracle/rman

STANDBY:
============
 rman target / rcvcat RMAN/RMANRCVCAT@RMAN
   
RMAN> catalog start with '/produits/oracle/rman/*';
RMAN> recover database noredo;
RMAN> shutdown immediate
RMAN> startup nomount
RMAN> restore standby controlfile from '/produits/oracle/rman/Incremental%U.ctl'; 

RMAN> shutdown immediate

RMAN> startup mount


Standby Database:
======================
SQL> alter database recover managed standby database disconnectfrom session;

Database altered.

SQL> select process,status,sequence# from v$managed_standby;

PROCESS   STATUS        SEQUENCE#
--------- ------------ ----------



Primary Database:
======================
On the Primary database, check the Maximum Archivelog Sequence generated.

SQL> select thread#,max(sequence#) from v$archived_log group bythread#;

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


Standby Database:
======================

Check the maximum archivelog sequence that is applied on the Physical standby database.

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

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

No comments:

Post a Comment