How to Manually Determining and Resolving Archive Gaps in ASM (Copy archivelog in ASM using RMAN) [ID 1271114.1] |
|
|
修改时间 04-JAN-2012 类型 HOWTO 状态 MODERATED |
|
In this Document
Goal
Solution
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review. |
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1 - Release: 10.2 to 11.2
Information in this document applies to any platform.
Goal
The note describes how to find a GAP and resolve it in case of ASM on both primary and standby or ASM on either primary or standby.
Solution
1. Check for the GAP,
On standby,
SQL>SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
2. On primary Check the location where the missing logfiles exist.
SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=<n> AND DEST_ID=<n> AND SEQUENCE# BETWEEN <LOW_SEQUENCE#> AND <HIGH_SEQUENCE#>;
For example,
SQL> SELECT * FROM V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
----------- ------------- --------------
1 1113 1115
SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 1113 AND 1115;
NAME
--------------------------------------------------------------------------------
+DGROUP2/PROD/datafile/ARC00001113_0732997804.001
+DGROUP2/PROD/datafile/ARC00001114_0732997804.001
+DGROUP2/PROD/datafile/ARC00001115_0732997804.001
3. Use RMAN to copy to someother local filesystem.
RMAN>copy archivelog '+DGROUP2/PROD/datafile/ARC00001113_0732997804.001' to '/u01/app/oracle/ARC00001113_0732997804.001';
Do the same for all the logs.
4. SCP to standby.
scp /u01/app/oracle/ARC00001113_0732997804.001 drs1.idc.oracle.com:/u04/standby/
5. Register manually by mentioning the copied file location.
On standby,
SQL>alter database register logfile '/u01/app/oracle/ARC00001113_0732997804.001';
NOTE : Alternatively we can copy this archive log to standby ASM location and then do a register.
On standby,
$rman target /
RMAN>copy archivelog '/u01/app/oracle/ARC00001113_0732997804.001' to '+DGROUP2/STDBY/datafile/ARC00001113_0732997804.001';
Now register,
SQL>alter database register logfile '+DGROUP2/STDBY/datafile/ARC00001113_0732997804.001';