Backup & Recovery :: How To Restore Database From Different Server
May 30, 2013
We have a database server running oracle 12G on linux which is the production then we have a DR using the same version of DB and linux, I want to restore from tape into the DR from the production backup. the UNIX admin has restored already from tape the rman backup, i would like to know what are the steps to restore the backup from tape, also the DR database server was created identical like production using the same spfile etc.
were do i copy restored file into on the DR server? also then in RMAN do i just start the DR database and run the command restore database? what else do i need?
I have taken cold back-up of a complete database using below rcv from a server.
RMAN> connect target / run{ set command id to 'bkp_EMCPROD_db'; allocate channel c1 type 'sbt_tape' parms="BLKSIZE=1048576, ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin/tdpo.opt)"; backup current controlfile format 'ct_t%t_T%T_d%d_s%s.ctl'; backup database format 'db_t%t_T%T_d%d_s%s_p%p.db'; backup current controlfile format 'ct_t%t_T%T_d%d_s%s.ctl'; release channel c1; }
I need to restore this back-up on another server of the same Database Name. Below is the rcv which my sr. dba asked me to look into for the restore.
/* From the new server to restore the back-up */ RMAN> connect target "rman/xxxxx@emcprod" connect auxiliary / run { set until time "to_date('Nov 03 2011 19:00:00','Mon DD YYYY HH24:MI:SS')"; allocate auxiliary channel c1 type 'sbt_tape' parms="ENV=(TDPO_OPTFILE=/opt/tivoli/tsm/client/oracle/bin64/tdpo.sacsun8.opt)"; restore database; }
We are using Oracle 10g R2 in Windows Server 2003. I'm trying to restore a database in a new server, using RMAN backups.
Our external consultant configured RMAN scripts for full and incremental backups but never tested them . Since he just doesn't show up, I'm forced to tested them, restoring the whole database in a new server.
My instance is named MTDPROD, and I will create all from scratch.
At current server, RMAN files are generated in: //192.168.1.149/g$/XXXSRV4-ArcLogs/MTDPROD/RMAN
At new server, I run all these commands:
C:>oradim -new -sid MTDPROD -intpwd mtdprod Instance created -- I created the relevant folder hierarchy under <ORACLE_BASE> directory -- Then, I created the relevant directories for Oracle Database, as follows: --a. Create BDUMP, CDUMP, and UDUMP directories under '<ORACLE_ BASE>
[code]....
By instance, I see a lot of this kind of files:
- FULL_MTDPROD_20110529_386_1.BAK - INCR_MTDPROD_20110621_480_7.BAK And only see these two files: - C-2169285856-20110527-03 - C-2169285856-20110527-04
It seems that this C-2169285856-.... files only were on 27/05/2011 and then no more. However, the FULL_... and INCR_.. files are generated every day. The FULL is generated at the end of each month and INCR is generated every day.
This is the backfull.sql:
run { allocate channel c1 type disk maxpiecesize=4G; CROSSCHECK archivelog all; backup incremental level 0 format '\192.168.1.149g$XXXSRV4-arclogsMTDPRODRMANFULL_
[code]....
This is the backincr.sql:
run { allocate channel c1 type disk maxpiecesize=4G; CROSSCHECK archivelog all; backup incremental level 1 cumulative format '\192.168.1.149g$XXXSRV4-arclogsMTDPRODRMANINCR_ %d_%T_%s_%p.bak'
I am attempting to use an rman backup form our live server to restore live data over an existing dev database with a different name. I cant use the duplicate command as the versions of oracle are different (10.2.0.4 EE on live, 10.2.0.5 SE on dev) So I copied the backup sets including an autobackup control file onto the dev server. I set the ORACLE_SID to the DEV version (SUN43DEV) and startup nomount and restore controlfile from the backup location. This works and restored the live controlfile. However, I then wanted to mount the database and catalog the backupsets before making a note of the last archivelog etc and restoring the backup with set newname options. But when I try to mount the database I am told that the database has a different name (SUN43 is not SUN43DEV). I read somewhere that I need to set the ORACLE_SID to the live value (SUN43) and restore as that, then use nid TO RESET THE DBID and DATABASE NAME. However, my tnsnames on DEV has no entry for the live database, and we do not have any service defined through ORADIM for the live instance on the dev server. Should I be creating an entry in DEV tnsnames that actually looks at the LIVE server? or do I need to create a service and tns entry etc for SUN43 on my DEV server pointing at the DEV server I have not seen any mention in instructions of creating a service or adding the entry to tnsnames, or indeed adding an entry to the listener for the original live sid. I am worried that if I actually point to the live server then the restore would be attempted on the live server not dev even though I am running it from Dev.
Also, do I need to drop the existing database on DEV before I restore or will RMAN just restore over the top of it?
Finally, if I try to add an entry to the LISTENER.ORA for the new sid, when I stop and start the listener, or reload, the entry is not recognised. I also noticed that the existing SUN43DEV entry is not in there either, yet I can still use that SID - I am assuming that is because the listener is not being used and the sid is recognised from the existence of the service in windows services instead?
I am trying to create my database on a new server using rman incremental hot backups.
I have already restored and recovered my level 0 database on new server, but i am not able to restore/recover the level 1 backup on the new server. I have transported level 1 backup irom the old server to the new one. Do i need to recover lvl 1 bkp only or restore it also.
n my last post I asked abt the issues that I was facing while restoring the full backup of RMAN on a new server. I mentioned the steps as well, Now my Question is what If I want to restore the incremental backup on the new server?
What all steps do I have to follow after restoring the zero level backup on a new server.
I need to restore a backup of database A from into Database B. Both have the same names. Database B is already up and running.
I have a full rman backup of Database A ( it was taken with a recovery catalog which I don't have access to now as it was deleted ). I just have the full backup pieces including the control files. Is it possible to recover this database into Database B from this stand point.
I was thinking
2. Shutdown database B 3. Mount database B. It has same name as Database A. 4. With RMAN restore controlfile. Will a new controlfile be created from the backup directory I have the rman pieces for the full backup in ?
I have oracle 10g installed on my system and name of the database is "ORCL" for which I have schedule the incremental backup everyday. Mentioned below are the steps followed
*************PARAMETERS TO BE CHANGED****************** configure channel 1 device type disk format '\192.16.17.140dbbackups192.16.17.152oracle_rman_backup_incrementalstd_%U'; configure channel 2 device type disk format '\192.16.17.140dbbackups192.16.17.152oracle_rman_backup_incrementalstd_%U'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\192.16.17.140dbbackups192.16.17.152oracle_rman_backup_incrementalcntrl_%U'; CONFIGURE RETENTION POLICY TO REDUNDANCY 7; CONFIGURE CONTROLFILE AUTOBACKUP ON; *******************************************************
*******COMMAND FOR THE CONNECTING TO RMAN************** rman LOG = \192.16.17.140dbbackups192.16.17.152oracle_rman_backup_incremental rmanlog_%date:~4,2%-%date:~7,2%-%date:~10%.txt APPEND CONNECT TARGET SYS/ORACLE@ORCL *******************************************************
********INCREMENTAL BACKUP COMMAND********************* RUN { BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG 'incr_backup' DATABASE; BACKUP ARCHIVELOG ALL DELETE INPUT; } ********************************************************************
Now I want to restore this backup to some other system with new database. How to do this recovery to some other database on new system.
Can we restore a database if we have only the datafiles available? The database has been dropped but we have just the datafiles with NO system, sysaux,users and undo datafiles that were saved after taking the database offline and then dropping the database. I know this is strange but if possible, I want to see if we can retrieve some of the data from those datafiles to another database. BTW, There is no backup available for this database except the dbf files on OS.
I have a task which is to get an export of an account.Easy, you will say, use Data Pump but I have not the database only a complete RMAN backup of it (including control file and spfile). Easy once again, restore the database and export but I have not the space to restore the complete database.
all segments of the account are in a couple of tablespaces I know the name (and I know I have space enough to restore them).
Unfortunately, I don't know the other tablespace names (but of course SYSTEM and SYSAUX), in particular I don't know the name of the undo tablespace and, of course, I have no connection with the source database and no way to know these tablespace names.
So here's the question, how can I restore part of the database (SYSTEM, SYSAUX, undo tablespace and a couple of other ones) from a complete backup without knowing the name of the undo tablespace and of the tablespaces I don't need?
I am new in oracle. I want to restore my database in oracle 10g enterprise. Actually i have a backup file(.bkp file) from oracle 10g xe and now i wanna restore in oracle 10g enterprise.
Question: does oracle recover past the scn mentioned in the control file or do you need recover using backup control file for it? No specific scn,time specified.
Scenario: Restore database on new server + copy archivelogs from original to minimize data loss. Backup : 5 AM Archivelogs: 7 AM
New server: Configure dummy instance Restore spfile from tape Restore controlfile from tape: SCN 5AM Restore database (no scn specified) from tape: : SCN 5AM Copy archivelogs from old server to archivelog new location: SCN 7AM. Recover database open database -> SCN 5AM or 7AM?
Does it recover till SCN 5AM (controlfile) or SCN 7AM (latest scn in copied archivelog)
I would like get a copy of an oracle 10g database off the production server(windows 2003) and set it up on Windows 2003 virtual server to use for dev/testing.
What would be the safest and most efficient way.??
I am doing some test, seeking your expert opinion.I have a database and have the following backup strategy.
1) Database running in archive log mode. 2) First I backup all the table space excluding one tablespace 'DP_TS_LOB'.
RMAN> CONFIGURE EXCLUDE FOR TABLESPACE 'DP_TS_LOBS'; RMAN> BACKUP DATABASE;
3) I take a separate Backup of DP_TS_LOB tablespace.
RMAN> BACKUP TABLESPACE DP_TS_LOB;
4) I backup all the archived redo logs.
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; RMAN> backup archivelog all delete input;
Now I wanted to restore the database from the backup excluding the DP_TS_LOB and bring it up and running. DP_TS_LOB is huge and used only on certain work flows. I don't want the database to be down until we restore DP_TS_LOB. I wanted to restore all the other tablespace and bring the database up operational and restore and recover the DP_TS_LOB tablespace datafile's in background taking the datafiles of DP_TS_LOB tablespace offline.I tried the following but unsuccessful.
RMAN> restore controlfile to 'g:ctl_bckctl_01' from autobackup; RMAN> restore spfile to 'g:ctl_bckspfile' from autobackup; RMAN> sql "create PFILE = ''G:ctl_bckPFILE'' from SPFILE = ''G:ctl_bckSPFILE''";
Update the new parameter with new control file name. Copied the control file and parameter file to corresponding location.
First I assumed "Recover Database" will only recover online database files. But got the following error.
RMAN> recover database;
Starting recover at 27-JUL-11 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 07/27/2011 18:23:03 RMAN-06094: datafile 8 must be restored
Then I tried recovering data file separately, but same error.
RMAN> recover datafile 1;
Starting recover at 27-JUL-11 using channel ORA_DISK_1
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 07/27/2011 18:24:30 RMAN-06067: RECOVER DATABASE required with a backup or created control file
I am trying to restore a backup from a live server to a dev server. Have moved nackup sets. Created a windows service to match the old sid on live system. copied the pfile from live and changed the locations of the folders to suit dev. set oracle_sid to the new sid(as created to match live)
connected to rman startup nomount set dbid to the live number restore controlfile alter database mount catalog'd all the backupsets
[code]....
but it fails when it tries the restore .. see below ..The path it is showing is the old path from the live server, so it appears to eb ignoring my set newname statements even though they succeeded earlier - should be restoring them to d:oracleoradatasun43dev ? Does the whole thing have to be put inside one run block or can I put bits in one run block and other bits outside of it etc?
RMAN> restore database;
Starting restore at 14-FEB-12 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restored from tape a backup then issued rman command
RMAN> restore database;
Starting restore at 21-MAY-13 Finished restore at 21-MAY-13
RMAN> alter database open;
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of alter db command at 05/21/2013 15:36:15 ORA-01190: control file or data file 1 is from before the last RESETLOGS ORA-01110: data file 1: '/u02/oradata/system01.dbf' [code]....
I run DLY cold backups including controlfile & archivelogs and keep 3 gens of backups and archivelogs to 3 days also. What is the correct procedure to restore back to an old cold backup. Database is backed up Mon,Tue,Wed on Thur we require to bring database back to Tuesday DLY security.
I have tried: startup mount restore database from tag 'DLYTUE' recover database
( this just rolls forward on all archive logs once it restores datafiles, not getting to point to alter database open resetlogs.)
Next tried to :
recover database archivelog tag 'DLYTUE' ( same outcome )
What is the correct rman procedure including should I remove old archive logs from working OS directory ? Also need to know once I restore back and open database to TUE security how do you tidy up the archive logs and dumps which are no longer require i.e. : weds..
I have read about using the set until time option but how to I get absolute time from when cold backup completed if this is the correct procedure.
I have a doubt regarding the process the RMAN follows for restore and recovery of the database.
My Level 0 full backup completes on Saturdays at around 11 am after taking 8 hours (It starts at 3am).On Sunday, I ask RMAN to restore (on a different box) till Saturday 11:30 am.Then, after the restore is successful, I recover it till 11:45 am.
The recovery also goes fine and Iam able to clone to test box.
Till what time is the database restored? I assume its till 11 am since the L0 backup finishes at 11 am though I have asked it to restore till 11:30 am
During the recovery, ONLY the archives generated between Saturday 3 am and till the time i asked for recovery (Saturday 11:45 am ) are required. But, checking the recovery log file, i was surprised to see that RMAN has restored archive files starting from Friday 9:30 pm (Much before the time the Level 0 backup even started).
We are doing RMAN Duplicate set until time to refresh daily our test database for our developers and it taking long time to finish. We noticed on the restore log that RMAN was using a day old old backup pieces to refresh the test database and don't immediately use the latest backup pieces instead.
For additional details here's the rman duplicate command we are using which we run daily(mon-sat) at 4am once daily full backup on production completed.
RMAN Duplicate commands: run { set until time "to_date(to_char(sysdate,'Mon DD YYYY') || ' 04:00:00', 'Mon DD YYYY HH24:MI:SS')"; allocate auxiliary channel ch1 type disk; duplicate target database to testdb; } exit
Is there a way on how to let RMAN use the latest backup pieces instead?
We have the requirement of performance testing of our proposed production platform, for this i am asked to take RMAN backup of clean position (Say Day0 or baseline backup) and restore it multiple times for few rounds of testing. My question is after 1st restore (with set until time of day0 position) if i open the database with resetlogs, would i be able to restore same clean backup again? I am using control file in the environment instead of RMAN catalog database. What i can do to make this scenario work? I am already in preperation of setting rman catalog database.
I am having a issue, we are trying to restore our db from control files using Symantec Backup exec, but job fails giving me error go to table spaces select all table spaces and unchecked roll forward.
i am unable to find way to uncheck the table spaces. Here is the complete description.
Cause
The system catalog tablespace "syscatspace" contains all of the system catalog information for the tables. Syscatspace needs to be rolled forward first, and then the other tablespaces must be rolled forward.
Solution
Workaround:
When the restore operation is run from a tablespace level backup, perform the rollforward for the syscatspace tablespace first and then for other tablespaces.
Execute the rollforward operation as a DBA operation. The sequence of the recovery process should be as follows:
1. Select all tablespaces, uncheck the rollforward option and run the restore job. 2. Run the rollforward operation as a DBA initiated operation:
rollforward syscatspace to point in time / end of logs. e.g. db2 => rollforward database UEXIT to end of logs and complete Tablespace (SYSCATSPACE) online
3. Perform rollforward of all other tablespaces.
e.g. db2 => rollforward database UEXIT to end of logs and complete tablespace (SYSTOO LSPACE,USERSPACE1) online
Refer to IBM DB2 documentation for more information on DBA-initiated operations.
1. My RAC (old RAC) had got a failures from one node, then there was only one existing node now.
2. I configured a RAC (new RAC) on 2 other servers, both of them (old-RAC and new-RAC) has got same OS version, platform and Oracle version release.
3. I took a full backup yesterday plus archivelog in the node of old-Rac, configure NFS in new-Rac to make the backup within remote-share NFS.
The only problem still now that I've restore/recovery/duplicated single instance, not Rac. So, may you guide me to do it?
Information:
Old-Rac & New-Rac: + Cluster 11g: CFS + Database: 2 nodes with same instance name (cbs1-cbs2) + Location for CRS_HOME and ORACLE_HOME: Same to be. + Location of archivelog: Same to be (+ARCHIVE)
I need to restore entire database(sp+control+datafile) to new host.I have started the instance with nomount( and it has created a dummy parameter file).Now, I need to fire the command to restore spfile.
RUN { ALLOCATE CHANNEL c1 DEVICE TYPE sbt PARMS='...'; RESTORE SPFILE TO PFILE '?/oradata/test/inittrgta.ora' FROM AUTOBACKUP; SHUTDOWN ABORT; }
My questions:-
1.How will RMAN find the location of backupset(Since there is controlfile for neither target or catalog database)?
2.How does RMAN reache the backupset in case of a)tape b)disk?