Another RMAN duplicate problem - RAC database to single instance
730676Oct 28 2009 — edited Nov 2 2009Hi,
I have a problem with the RMAN duplicate procedure and was hoping someone can help.
I would like to create a duplicate of our production RAC database on a separate, stand-alone, database server on another site. This duplicate will be used for intensive querying by another business unit who I don't want to have access to our production database.
My procedure goes like this:
1. Create a disk (not ASM) based backup of the datafiles and any archived redo logs:
"run {
allocate channel d1 type disk;
backup format '/u02/stage/df_t%t_s%s_p%p' database plus archivelog delete input;
release channel d1;
}"
2. Tar and scp these files to the same location on the stand-alone database server.
3. In the meantime, work has been happening on the production database and further archived redo logs have been generated. I don't really care about these logs for the purposes of the duplicate however, I just want to duplicate to the point of the recent backup. To do this, I run the following SQL to determine the sequence number that I should be duplicating up to:
"select max(sequence#), thread# from v$archived_log where deleted='YES' group by thread#;"
4. Duplicate the production database to the stand-alone database (all the SQL Net stuff is working).
"run {
set until sequence (value returned by above SQL statement);
duplicate target database to XXX;
}"
However, my problem arises because I don't know how to handle the fact that there are two threads. I understand that each thread relates to one of the RAC instances, I just don't know which one to specify for the duplicate. We have a database service which the client application connects through, and that service runs on on or other of the instances. Should I just care about the logs from the instance where the service is currently running?
Am I even approaching this is the correct way?
I look forward to any help that people may be able to offer.
Regards,
Phil