This note will guide a DBA in copying archivelog files currently located in a ASM diskgroup to a file system. This is commonly useful when a DBA needs to copy archivelog files from a primary to standby database in a dataguard environment.
The article here provides RMAN examples to copy archivelogs files from ASM to filesytem and vice versa.
步骤如下:
RMAN allow you to copy archivelog files to a tape or filesystem. The following examples provide RMAN scripts for copying all archivelog files to '/tmp'.
-- Copy all archivelog files to a location in filesystem
rman>
run
{
allocate channel c1 type disk format '/tmp/arc_%U';
backup archivelog all;
}
-- Back up all archived logs created more than 7 and less than 30 days ago.
run {
allocate channel ch1 type disk format '/tmp/arc_%U';
backup archivelog from time 'SYSDATE-30' until time 'SYSDATE-7';
}
-- Back up all archived logs from sequence # 250 to sequence # 301 and deletes the archived redo logs after the backup is complete.
run {
allocate channel ch1 type disk format '/tmp/arc_%U';
backup
archivelog from logseq 250 until logseq 301 thread 1
}
In FORMAT clause, %U is replaced with unique file names when creating archivelog backups.
The above RMAN statements create a file in the following format in the destination directory (/etc).
-rw-r----- 1 oracle dba2 46623232 Sep 28 13:14 arc_03kqcj6g_1_1
Then, one can restore archive logs that are already located on a filesystem using restore command:
run {
set archivelog destination to '/tmp';
restore archivelog all;
}
If you do not specify SET ARCHIVELOG DESTINATION, then RMAN restores archived redo log files to the flash recovery area (when FRA is configured ).
From Oracle