patternMinor
Duplicate database leaves orphan archivelog files
Viewed 0 times
orphanduplicateleavesdatabasearchivelogfiles
Problem
I am cloning the production database to another one, lets say
Before running the script I am doing an archivelog rman backup of the CLONEDB (it deletes backed up archivelogs) and
While running
Then rman recovers database (via
Everything is OK, database starts up, users are happy. But the archivelog file (in this example
So from time to time I must do the housekeeping and delete old, orphaned archivelogs directly from the disk. Of course I would like to do it automatically, with the duplication script. I could add
CLONEDB, in a regular basis. I am using rman duplicate database script like:run {
duplicate target database to CLONEDB
FROM ACTIVE DATABASE
PASSWORD FILE
SPFILE
SET ....
DB_FILE_NAME_CONVERT=....
LOGFILE
GROUP 1 (
....
) SIZE 100M,
....
;
}Before running the script I am doing an archivelog rman backup of the CLONEDB (it deletes backed up archivelogs) and
DROP DATABASE CLONEDB.While running
duplicate database, rman copies datafiles and archivelogs from the source database. For example, I can see that such file has been copied:input archived log thread=1 sequence=666 ...
output file name=+DYSK/archivelog/2015_01_16/thread_1_seq_666
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01Then rman recovers database (via
set until scn 666666; recover clone database delete archivelog;), so the archivelog above is applied to the database:starting media recovery
archived log for thread 1 with sequence 666 is already on disk as file +DYSK/archivelog/2015_01_16/thread_1_seq_666
archived log file name=+DYSK/archivelog/2015_01_16/thread_1_seq_666 thread=1 sequence=666
media recovery complete, elapsed time: 00:00:02
Finished recover at 2015.01.16 16:21:57
Oracle instance startedEverything is OK, database starts up, users are happy. But the archivelog file (in this example
thread_1_seq_666) stays on the disk. And because rman changes the database incarnation after duplicate process, this file is never deleted during the backup process, as it belogns to the previous incarnation.So from time to time I must do the housekeeping and delete old, orphaned archivelogs directly from the disk. Of course I would like to do it automatically, with the duplication script. I could add
rm command from asmcmd for the old files, but maybe there is a way to convince rman to do it for me during the duplicate database?Solution
The
I would expect Oracle to clean up the archivelogs which were used during the clone process.
So I would say this is an unexpected behavior. Try to log a Service Request at Oracle.
I cannot recall if I had to clean up archivelogs after a clone processes. Well, I can say that I never did delete archivelogs after a db clone because I did not check for any. I rarely clone
As workaround I would delete them with a script afterwards.
duplicate database ... from active database is designed to work without any existing backup.I would expect Oracle to clean up the archivelogs which were used during the clone process.
So I would say this is an unexpected behavior. Try to log a Service Request at Oracle.
I cannot recall if I had to clean up archivelogs after a clone processes. Well, I can say that I never did delete archivelogs after a db clone because I did not check for any. I rarely clone
from active database. I normally clone from backup location without a connection to the primary database. I somehow prefer that.As workaround I would delete them with a script afterwards.
Context
StackExchange Database Administrators Q#90410, answer score: 4
Revisions (0)
No revisions yet.