Backup & Recovery :: Rman Restore On New Server - Set Newname Not Working?
Feb 14, 2012
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
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 getting error when i try to restore one tablespace using RMAN.
RMAN> restore tablespace test;
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00558: error encountered while parsing input commands RMAN-01009: syntax error: found "test": expecting one of: "double-quoted-string, identifier, single-quoted-string" RMAN-01007: at line 1 column 20 file: standard input
But it's working for other tablespace
RMAN> restore tablespace users;
Starting restore at 10-OCT-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/product/11.2.0/db_1/dbs/TEST/users01.dbf
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.
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 have to test a hot rman backup on testing environment and I have some doubts.
STAGE Server 1 production database (linux) backup folder on cifs share windows server Server 2 testing database (linux)
First I installed linux on same network, I gave it access to cifs backup resource, then I installed the same database version than production environment, then I create a typical database with only same database production name. Also the Linux partitions between linux servers are different.
i want to clone the test db to dev db but i dont want default users and tablespaces(SYS,SYSAUX,...) in the test db datapump and exp are not working, then contacted ORACLE support and they concluded that test db sysaux was corrupted.i took RMAN all tablespace bkup except default tablespaces. then created new database using DBCA and now i want to restore and recover all those test db tablesapces but while i'm doing restore its saying
RMAN> restore tablespace MAIN_DATA;
Starting restore at 07-SEP-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=129 device type=DISK creating datafile file number=20 name=/opt/oracle/oradata/DEV71/main_data01.dbf restore not done; all files read only, offline, or already restored Finished restore at 07-SEP-12
I want to restore my database from server x to server y.
The control files on server x are named [$ORACLE_SID]_control01.ctl and [$ORACLE_SID]_control02.ctl.
We have an auto backup of the control files.
When I restore the control files on host y, (from autobackup) the restored controle files have other names: control01.ctl and control02.ctl. After the restore and recover (which goes well) the database does not start correctly.
SQL> ORACLE instance started.
Total System Global Area 626327552 bytes Fixed Size 2224088 bytes Variable Size 411041832 bytes Database Buffers 205520896 bytes Redo Buffers 7540736 bytes Database mounted. ORA-01122: database file 1 failed verification check ORA-01110: data file 1: '/data/coda/coda_system01.dbf' ORA-01202: wrong incarnation of this file - wrong creation time
I have on PC running Windows Server 2003 named "Host A" and another Windows Server 2003 named "Host B".I made a Backup from Host A and want to restore this on Host B with following procedure.
Prepare & Backup: SQLPLUS SYS AS SYSDBA SQL>SHUTDOWN IMMEDIATE SQL>STARTUP MOUNT SQL>ALTER DATABASE ARCHIVELOG; SQL>ALTER DATABASE OPEN; SQL>ARCHIVE LOG LIST; SQL>ALTER SYSTEM ARCHIVE LOG START; SQL>QUIT [code]...
But when i now try to access the Database Control i got following Error:„503 Service Unavailable: Servlet error an exception occurred the current application deployment descriptor do not allow for including it in this response" and the restored Datas are not included.
I have no backup taken in my oracle server.Today morning i created a data file and unknowingly deleted it. Now i need to restore the datafile with its contents without using RMAN.
7 of days ago Full backup has been taken to disk due to issues with tape devices.3 days ago tape devices have been fixed and we switched to CommVault managed tape backups. CommVault calls RMAN with following command:
These backups done successfully.Then archivelog backup taken similar way.But when I issue RESTORE DATABASE PREVIEW SUMMARY; RMAN starts with Full backup set, though newer Incremental Level 0 ones are available.Why it does not use these newer ones?
I have Oracle Database 11g Release 11.2.0.3.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management. OS is Windows server 2008. Database size is approx 273 GB. I am running RMAN full back from a node with archive log all. With only 1 channel. Total backup size is almost 230 GB.
It is taking about 2 hours to complete the backup in the evening, but when i take same backup at midnight its takes about 1:15 hrs.
I'm on a Windows server 2003 R2 64 bit, database is 11.1.0.7. From RMAN connected to the target and the catalog, this is a show all;
RMAN> show all;
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS; CONFIGURE BACKUP OPTIMIZATION OFF; CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'F:oracleadmin
[code]....
I'm running incremental backups, a level 0 on sunday and a level 1 the other days of the week, this is the ctl file:
LEVEL 0: connect target /@ORCL connect catalog rman/rmanpw@rmancat RUN {
[code]....
The level 0 does delete the archive logs (because of the delete input). Each backupset has two copies of the archive logs (which is what I want), and I expected the logs to be deleted after being backed up 2 days (each day is twice, 2 days = 4 times). But it's not deleting the logs, even after 6 runs.
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 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.
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.??
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; }
I have two Solaris 5.11 x86 64 bit servers. I need to be able to copy the backup files to a temp location on the 2nd server and restore that server so it is a test version of the first server. There is no RMAN catalog, I simply want to backup on A move to B restore from files copied to b.
On the first server installed Oracle Enterprise 11.2.0.3. sid = orcl. i created one schema with a new table space added a table and inserted 500,000 rows.
i set the db to archivelog=on, set configure controlfile autobackup on
i then did RMAN backup as backupset database spfile;
on the second server, i installed Oracle Enterprise 11.2.03, sid=orcl exactly like i did on the first server.i scp'd all of the files created by the backup to one location on the test server. i renamed spfileorcl.ora in dbs to somethinge else. startup nomount, exit and go to rman and run this:
DUPLICATE DATABASE TO 'orcl' SPFILE BACKUP LOCATION '/tmp/backups' NOFILENAMECHECK;
this runs for a while and looks like it works but eventually fails with :
RMAN-05541: no archived logs found in target database
subsequent attempts to 'startup' the database receive the error ORA-19838: Cannot use this control file to open database.
This is very frustrating. I have gone over all of the manuals, documentation and more but there is no 'step by step' process that i can find that is current with my version of Oracle that documents the steps necessary to simply backup a db, move it to a test server to a disk and then restore that test server as a copy of the first server.