Database duplication
Hi
I'm trying to restore production to a different mount point which is a brand new server.And mount points of the production to that of new server is totally different.
It is 9.2.07 on solaris , both servers have different file systems
SO, I'm little confused about redo logs creation.
I'm restoring it through rman where my backup is on tape.
NOTE:I'm not doing database duplication.I'm restoring the database through rman until certain SCN.
Below is my rman script and steps I've followed till mounting the database.
Steps on NEW server
RMAN > connect target /
connect catalog rman@rman
set dbid=xxxxxxx
startup nomount pfile=$ORACLE_HOME/dbs/intx.ora
Restore controlfil to '/u10/oradata/shark/control01.ctl';
alter database mount;
It worked perfectly till here....
Now My rman scripts looks this way
run{
allocate channel c1 TYPE 'SBT_TAPE';
allocate channel c2 type 'SBT_TAPE';
allocate channle c3 type 'SBT_TAPE';
SEND 'NB_ORA_SERV=clash, NB_ORA_CLIENT=shark';
set newname for datafile 1 to '/u02/oradata/shark/system01.dbf';
set newname for datafile 2 to '/u02/oradata/shark/webuser_data01.dbf';
set newname for datafile 3 to '/u02/oradata/shark/webuser_indx01.dbf';
set newname for datafile 5 to '/u02/oradata/shark/drsys01.dbf';
set newname for datafile 6 to '/u02/oradata/shark/tools01.dbf';
set newname for datafile 7 to '/u02/oradata/shark/users01.dbf';
restore (database);
SWITCH DATAFILE ALL;
I want to do recovery later....
Now whats the status of redo logs ...where would it be created,..since the file system being different where should I mention rman to create the logs....
Please advice..If I'm unclear please do let me know...
Edited by: ORA_DBA2 on May 14, 2009 10:44 AM
ORA_DBA2 wrote:
I'm still get this though I set the parameter
sql ' alter session set sort_area_size=120';
sql ' alter session set sort_area_retained_size=200';
resync got ORA-1220, retrying with sort_area_size = 170MB
resync got ORA-1220, retrying with sort_area_size = 180MB
resync got ORA-1220, retrying with sort_area_size = 190MB
resync got ORA-1220, retrying with sort_area_size = 200MB
resync got ORA--1220, giving upSo how did you arrive at setting sort_area to 120? We see right here that a sort_area_size of 200mb wasn't enough, so your setting of '120' was insufficient from the git-go. And sort_area_retained should generally be the same or smaller than sort_area_size. Read up on both of those in the REFERENCE manual.
Also, I'd set those in the init.ora file that you reference on db startup.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of sql command at 05/14/2009 11:17:45
RMAN-03014: implicit resync of recovery catalog failed
RMAN-03009: failure of partial resync command on default channel at 05/14/2009 11:17:45
ORA-01220: file based sort illegal before database is open
Similar Messages
-
Active database duplication v.s. backup based duplication
I would like to get some advice from forum that comparing active database duplication with backup based duplication. Which one could do better in performance?
In Oracle 11g, DBA can use RMAN DUPLICATE to clone the database either on the same host or on the remote host. Using RMAN DUPLICATE has two methods:
1. active database duplication -- this is connect to TARGET instance and Auxiliary instance. No backup needed and RMAN will duplicate source database to auxiliary database. This sound very good and save a lot of time if your database is big one (over a couple of TB). This method rely on network and on production database (target DB). It will affect production database performance a lot.
2. backup based duplication - this is to RMAN backup target database, then either physically move backup set to remote host, then connect to taregt and auxiliary to do duplicate. Or without connecting to target, but connect to catalog and auxiliary to do duplication , or don't connect to catalog and only connect to auxiliary with backup location to do duplication. This is called targetless duplication. This method sound cheaper in cost. So if I have a production DB with the size over 4 TB. We are using NAS storage. When I RMAN production DB to a location on storage, can I keep backup set there, then on auxiliary host to mount to that location, then RMAN duplicate database with backup location. In this way, I don't need to physically move backup set from target to auxiliary.
I would like to hear from you. What is pros and cons of different RMAN duplication methods. Thanks.#1 has better performance, I have seen no impact on a 2T source database using 4 channels (takes approx. 4 hours.)
:p -
Problems doing an active Database duplication through RMAN
Hi,
I'm trying to do active Database duplication through RMAN (http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmdupdb.htm#).
My OS is Sun Solaris 5
Oracle version: 11gR1 Database on a 11gR2 Grid.
I'm receiving the error
RMAN> connect auxiliary sys/sys@rac402
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections
I'm seeing the listeners are in blocked state as mt auxiliary Database is in nomount state.
Service "rac40" has 1 instance(s).
Instance "rac402", status BLOCKED, has 1 handler(s) for this service...
Service "rac40_XPT" has 1 instance(s).
Instance "rac402", status BLOCKED, has 1 handler(s) for this service...
If I connect directly, I'm able to connect ("connect auxiliary / " after setting ORACLE_SID)
But active RMAN is saying
RMAN-03002: failure of Duplicate Db command at 06/18/2012 01:37:14
RMAN-06217: not connected to auxiliary database with a net service name (I don't know why Oracle is so specific in connecting through net service name only!!!)
So, how could I move forward?? any help is greatly appreciated!!!
Thanks in advance.
Regards,
CSMHi ,
I have issue to active Database duplication issue and getting below error. Can someone suggest something on this error ?
RMAN> duplicate target database to 'ub305' from active database;
Starting Duplicate Db at 07-AUG-2012 13:33:22
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=2 device type=DISK
contents of Memory Script:
sql clone "create spfile from memory";
executing Memory Script
sql statement: create spfile from memory
contents of Memory Script:
shutdown clone immediate;
startup clone nomount;
executing Memory Script
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 21512572928 bytes
Fixed Size 2235984 bytes
Variable Size 11005854128 bytes
Database Buffers 10468982784 bytes
Redo Buffers 35500032 bytes
contents of Memory Script:
sql clone "alter system set control_files =
''+DG_075_DATA01/ub305/controlfile/current.345.790692287'', ''+DG_075_FRA01/ub305/controlfile/current.292.790692289'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name =
''UA305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''UB305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '+DG_075_DATA01/ub305/controlfile/current.345.790692287';
restore clone controlfile to '+DG_075_FRA01/ub305/controlfile/current.292.790692289' from
'+DG_075_DATA01/ub305/controlfile/current.345.790692287';
sql clone "alter system set control_files =
''+DG_075_DATA01/ub305/controlfile/current.345.790692287'', ''+DG_075_FRA01/ub305/controlfile/current.292.790692289'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
alter clone database mount;
executing Memory Script
sql statement: alter system set control_files = ''+DG_075_DATA01/ub305/controlfile/current.345.790692287'', ''+DG_075_FRA01/ub305/controlfile/current.292.790692289'' comment= ''Set by RMAN'' scope=spfile
sql statement: alter system set db_name = ''UA305'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''UB305'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 21512572928 bytes
Fixed Size 2235984 bytes
Variable Size 11005854128 bytes
Database Buffers 10468982784 bytes
Redo Buffers 35500032 bytes
Starting backup at 07-AUG-2012 13:34:11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1333 instance=ua3051 device type=DISK
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_ua3051.f tag=TAG20120807T133412 RECID=17 STAMP=790695252
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 07-AUG-2012 13:34:15
Starting restore at 07-AUG-2012 13:34:15
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=2 device type=DISK
channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 07-AUG-2012 13:34:16
sql statement: alter system set control_files = ''+DG_075_DATA01/ub305/controlfile/current.345.790692287'', ''+DG_075_FRA01/ub305/controlfile/current.292.790692289'' comment= ''Set by RMAN'' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 21512572928 bytes
Fixed Size 2235984 bytes
Variable Size 11005854128 bytes
Database Buffers 10468982784 bytes
Redo Buffers 35500032 bytes
database mounted
RMAN-05529: WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only.
contents of Memory Script:
set newname for datafile 1 to
"+dg_075_data01";
set newname for datafile 2 to
"+dg_075_data01";
set newname for datafile 3 to
"+dg_075_data01";
set newname for datafile 4 to
"+dg_075_data01";
set newname for datafile 5 to
"+dg_075_data01";
set newname for datafile 6 to
"+dg_075_data01";
set newname for datafile 7 to
"+dg_075_data01";
set newname for datafile 8 to
"+DG_075_DATA01/ub305/datafile/ts001_rsa.ora";
backup as copy reuse
datafile 1 auxiliary format
"+dg_075_data01" datafile
2 auxiliary format
"+dg_075_data01" datafile
3 auxiliary format
"+dg_075_data01" datafile
4 auxiliary format
"+dg_075_data01" datafile
5 auxiliary format
"+dg_075_data01" datafile
6 auxiliary format
"+dg_075_data01" datafile
7 auxiliary format
"+dg_075_data01" datafile
8 auxiliary format
"+DG_075_DATA01/ub305/datafile/ts001_rsa.ora" ;
sql 'alter system archive log current';
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 07-AUG-2012 13:34:46
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=+DG_305_DATA01/ua305/datafile/ts001_rsa.ora
output file name=+DG_075_DATA01/ub305/datafile/ts001_rsa.ora tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:05
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=+DG_305_DATA01/ua305/datafile/system.256.788357663
output file name=+DG_075_DATA01/ub305/datafile/system.322.790695353 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=+DG_305_DATA01/ua305/datafile/sysaux.257.788357663
output file name=+DG_075_DATA01/ub305/datafile/sysaux.321.790695359 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00007 name=+DG_305_DATA01/ua305/datafile/ata_apm.271.788369355
output file name=+DG_075_DATA01/ub305/datafile/ata_apm.320.790695367 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=+DG_305_DATA01/ua305/datafile/undotbs1.258.788357663
output file name=+DG_075_DATA01/ub305/datafile/undotbs1.319.790695373 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DG_305_DATA01/ua305/datafile/users.259.788357663
output file name=+DG_075_DATA01/ub305/datafile/users.316.790695377 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=+DG_305_DATA01/ua305/datafile/undotbs2.264.788357815
output file name=+DG_075_DATA01/ub305/datafile/undotbs2.315.790695381 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=+DG_305_DATA01/ua305/datafile/ata_mds.270.788369353
output file name=+DG_075_DATA01/ub305/datafile/ata_mds.314.790695383 tag=TAG20120807T133447
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 07-AUG-2012 13:36:24
sql statement: alter system archive log current
contents of Memory Script:
backup as copy reuse
archivelog like "+DG_305_FRA01/ua305/archivelog/2012_08_07/thread_1_seq_223.572.790694523" auxiliary format
"+DG_075_FRA01" archivelog like
"+DG_305_FRA01/ua305/archivelog/2012_08_07/thread_1_seq_224.573.790695385" auxiliary format
"+DG_075_FRA01" archivelog like
"+DG_305_FRA01/ua305/archivelog/2012_08_07/thread_2_seq_91.574.790695387" auxiliary format
"+DG_075_FRA01" ;
catalog clone recovery area;
switch clone datafile all;
executing Memory Script
Starting backup at 07-AUG-2012 13:36:30
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=223 RECID=311 STAMP=790694522
output file name=+DG_075_FRA01/ub305/archivelog/2012_08_07/thread_1_seq_223.299.790695391 RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=224 RECID=312 STAMP=790695384
output file name=+DG_075_FRA01/ub305/archivelog/2012_08_07/thread_1_seq_224.267.790695393 RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting archived log copy
input archived log thread=2 sequence=91 RECID=313 STAMP=790695386
output file name=+DG_075_FRA01/ub305/archivelog/2012_08_07/thread_2_seq_91.283.790695393 RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 07-AUG-2012 13:36:34
searching for all files in the recovery area
List of Files Unknown to the Database
=====================================
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_220.279.790692475
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_221.312.790692477
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_222.311.790692479
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_89.310.790692479
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_89.309.790694525
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_90.261.790694527
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_223.262.790694527
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_223.299.790695391
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_224.267.790695393
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_91.283.790695393
File Name: +dg_075_fra01/UB305/CONTROLFILE/Current.289.790692289
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_220.279.790692475
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_221.312.790692477
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_222.311.790692479
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_89.310.790692479
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_89.309.790694525
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_90.261.790694527
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_223.262.790694527
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_223.299.790695391
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_1_seq_224.267.790695393
File Name: +dg_075_fra01/UB305/ARCHIVELOG/2012_08_07/thread_2_seq_91.283.790695393
List of Files Which Where Not Cataloged
=======================================
File Name: +dg_075_fra01/UB305/CONTROLFILE/Current.289.790692289
RMAN-07517: Reason: The file header is corrupted
datafile 1 switched to datafile copy
input datafile copy RECID=17 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/system.322.790695353
datafile 2 switched to datafile copy
input datafile copy RECID=18 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/sysaux.321.790695359
datafile 3 switched to datafile copy
input datafile copy RECID=19 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/undotbs1.319.790695373
datafile 4 switched to datafile copy
input datafile copy RECID=20 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/users.316.790695377
datafile 5 switched to datafile copy
input datafile copy RECID=21 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/undotbs2.315.790695381
datafile 6 switched to datafile copy
input datafile copy RECID=22 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/ata_mds.314.790695383
datafile 7 switched to datafile copy
input datafile copy RECID=23 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/ata_apm.320.790695367
datafile 8 switched to datafile copy
input datafile copy RECID=24 STAMP=790695395 file name=+DG_075_DATA01/ub305/datafile/ts001_rsa.ora
contents of Memory Script:
set until scn 8950952;
recover
clone database
delete archivelog
executing Memory Script
executing command: SET until clause
Starting recover at 07-AUG-2012 13:36:35
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=191 device type=DISK
starting media recovery
archived log for thread 1 with sequence 224 is already on disk as file +DG_075_FRA01/ub305/archivelog/2012_08_07/thread_1_seq_224.267.790695393
archived log for thread 2 with sequence 91 is already on disk as file +DG_075_FRA01/ub305/archivelog/2012_08_07/thread_2_seq_91.283.790695393
archived log file name=+DG_075_FRA01/ub305/archivelog/2012_08_07/thread_1_seq_224.267.790695393 thread=1 sequence=224
archived log file name=+DG_075_FRA01/ub305/archivelog/2012_08_07/thread_2_seq_91.283.790695393 thread=2 sequence=91
media recovery complete, elapsed time: 00:00:01
Finished recover at 07-AUG-2012 13:36:38
Oracle instance started
Total System Global Area 21512572928 bytes
Fixed Size 2235984 bytes
Variable Size 11005854128 bytes
Database Buffers 10468982784 bytes
Redo Buffers 35500032 bytes
contents of Memory Script:
sql clone "alter system set db_name =
''UB305'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
shutdown clone immediate;
startup clone nomount;
executing Memory Script
sql statement: alter system set db_name = ''UB305'' comment= ''Reset to original value by RMAN'' scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 21512572928 bytes
Fixed Size 2235984 bytes
Variable Size 11005854128 bytes
Database Buffers 10468982784 bytes
Redo Buffers 35500032 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "UB305" RESETLOGS ARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 32
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '+dg_075_fra01', '+dg_305_data01' ) SIZE 100 M REUSE,
GROUP 2 ( '+dg_075_fra01', '+dg_305_data01' ) SIZE 100 M REUSE
DATAFILE
'+DG_075_DATA01/ub305/datafile/system.322.790695353'
CHARACTER SET AL32UTF8
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 08/07/2012 13:37:18
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed
ORA-00349: failure obtaining block size for '+dg_305_data01'
ORA-15001: diskgroup "DG_305_DATA01" does not exist or is not mounted -
I used rman to duplicate database A to database B. Solaris 2.7 with Oracle 8.1.5. When I use sqlplus to connect to database B I get the folloing errors.
ORA-06553: PLS-801: internal error [56319]
Error accessing package DBMS_APPLICATION_INFO
ERROR:
ORA-06553: PLS-801: internal error [56319]
When I try to backup the duplicate B using RMAN I get the following error.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database: ORA-06553: PLS-801: internal error [56319]
RMAN-04015: error setting target database character set to US7ASCII
What are my solutions to this problem? Where did I go wrong? I am an oracle newbie.Hi. I can help you with the character set error, but I don't know about the PL/SQL error. If the duplication works correctly, all necessary packages should be there--the duplicate database should be identical to the primary database except for the new DBID.
RMAN Does Not Recognize Character Set Name: Scenario
In this scenario, you are connected to the target database while it is not open and attempting to perform an RMAN operation. You receive the following error:
PLS-00553: character set name is not recognized
Diagnosis of Cause
Typically, this message means that the character set in the client environment, that is, the environment in which you are running the RMAN executable, is different from the character set in the target database environment.
Solution
1.Query the target database to determine the value of the NLS_CHARACTERSET parameter. For example, run this query:
SQL> SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
2.Set the character set environment variable in the client to the same value as the variable in the server. For example, you can set the NLS_LANG environment variable on a UNIX system as follows:
% setenv NLS_LANG WE8ISO8859P1 -
Database duplication oracle 10g different ways
Hi everyone,
I need to know the different ways of duplicating the oracle 10g database.Reply will be appreciated.If U know any document ID,kindly post it too.
Thanks
Jaya prataab Jyou could:
- shutdown the database and simply copy all files
- use rman duplicate to make a clone
- use transportable tablespaces
- datapump export/import
- conventional export/import -
Database duplication accross platforms
Hi,
Can anyone tell me if there are any methods for maintaining a clone database accross platforms? I believe transportable tablespaces will work accross platforms but standby databases will not (?). Anyway, the source production database is on a Unix system and the target (reporting) database is on Windows. Currently the user receives a complete copy of the database every night, but would like to maintain a more current version on the Windows OS, maybe every 4 to 6 hrs update it with the most current info. Can anyone suggest the best method of doing this?
thanks.Dear Cdor,
To provide a short description:
Dblink is a link between databases that you could do insert into something@other_database or select something from something@other_database.
The database links will provide you the access to the other database.
The mviews are materialized views, mviews are views that actually contains data. Imagine to create an "image" of the table in the other database so the users could query it locally. And imagine now that Oracle will refresh this information for you by incremental or non-incremental way. Oracle will do that when you told it to or in a timely fashion.
The official docs about mviews are in: http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref843
And the official docs about dblinks are in:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/ds_concepts.htm#sthref3873
Have a nice day and hope it helps!
Ricardo Rodriguez -
Can Split Mirror backups be used for RMAN database duplication?
Hi
We running Oracle 11gR2 EE.
We have storage backup procedures in place,which use Split Mirror technology, i.e BCV
We want to use RMAN to duplicate the source DB, using the BCV copy
Is this possible/feasible?
RudiHi
Thanks for the reply.
My intention is not to backup using RMAN from the BCV.Instead I want RMAN to use this BCV as the storage for our reporting DB
I will elaborate further my intended workflow.
Btw,the reporting DB will have a new name and all the SqlNet files will be in place.
Please let me know what you think.
On the target
In the existing production server (source) :
1.Put the DB in backup mode
2.Split the disks
3.End backup
4.Keep record of SCN
4.Register the new backups as datafile copy
On the target server (target)
1.Mount the report DB
2.perform incomplete recovery the report DB until the SCN
3.Open resetlogs
2 issues I'm not sure about :
a.How to I sync the report DB controlfile,so it will "see" the new backup?
b.Do I need a RMAN repository?
Rudi
Edited by: Rudi on Jan 7, 2013 5:12 AM -
Creating a duplicated database from active database
I'm having problem trying to duplicate a database from a target database (PROD) to the auxiliary one (AUX).
This is what I've configured:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = PROD)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1/)
(SID_NAME = PROD)
(SID_DESC =
(GLOBAL_DBNAME = AUX)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1/)
(SID_NAME = AUX)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1521))
ADR_BASE_LISTENER = /u01/app/oracletnsnames.ora
AUX =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = AUX)
PROD =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1521)))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PROD)
)/u01/app/oracle/product/11.2.0/db_1/dbs/initAUX.ora
db_name='AUX'
cp /u01/app/oracle/product/11.2.0/db_1/dbs/orapwPROD /u01/app/oracle/product/11.2.0/db_1/dbs/orapwAUX- Started PROD database (open and in archive log mode)
- Started AUX database (in nomount mode and usinf pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initAUX.ora')
But when I issue the following command I get connected to auxiliary database (not started) :
rman target sys/oracle@PROD auxiliary sys/oracle@AUX
connected to target database: PROD (DBID=196032563)
connected to auxiliary database (not started)And executing the duplicate command it returns:
RMAN> duplicate target database to AUX from active database spfile parameter_value_convert '/DATA/PROD/','+DG_DATA_AUX' set db_create_file_dest='+DG_DATA_AUX';
Starting Duplicate Db at 2010-09-28:13:36:50
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 09/28/2010 13:36:50
RMAN-06403: could not obtain a fully authorized session
RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directorylsnrctl stopped and restarted several times. This is the output of lsnrctl status command:
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 28-SEP-2010 13:45:14
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=my_ip)(PORT=1521)))
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 28-SEP-2010 12:44:50
Uptime 0 days 0 hr. 1 min. 22 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/my_ip/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=my_ip)(PORT=1521)))
Services Summary...
Service "PROD" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Service "PRODXDB" has 1 instance(s).
Instance "PROD", status READY, has 1 handler(s) for this service...
Service "AUX" has 2 instance(s).
Instance "AUX", status UNKNOWN, has 1 handler(s) for this service...
Instance "AUX", status BLOCKED, has 1 handler(s) for this service...
The command completed successfullyI have already created a duplicated database from a backup of the target one and the configuration was quite the same: the differences are that using active database duplication I needed to use orapw files (and they need to have the same password) and that I needed to connect using Oracle Net service name to connect to the auxiliary instance.. otherwise I got:
export ORACLE_SID=AUX
rman target sys/oracle@PROD auxiliary sys/oracle
connected to target database: PROD (DBID=196032563)
connected to auxiliary database: AUX (not mounted)
RMAN> duplicate target database to AUX from active database spfile parameter_value_convert '/DATA/PROD/','+DG_DATA_AUX' set db_create_file_dest='+DG_DATA_AUX';
Starting Duplicate Db at 2010-09-28:12:27:21
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 09/28/2010 12:27:21
RMAN-06217: not connected to auxiliary database with a net service nameWhere am I wrong?Thanks for your support. My instance was and is still in nomount mode. But I'm not able to connect this instance as auxiliary and in the right expected mode:
connected to auxiliary database: AUX (not mounted)
[oracle@my_ip oracle]$ env|grep SID
ORACLE_SID=AUX
[oracle@my_ip oracle]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 29 10:28:44 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
idle> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
idle> startup nomount pfile=/u01/app/oracle/product/11.2.0/db_1/dbs/initAUX.ora
ORACLE instance started.
Total System Global Area 217157632 bytes
Fixed Size 2211928 bytes
Variable Size 159387560 bytes
Database Buffers 50331648 bytes
Redo Buffers 5226496 bytes -
RMAN Cloning - Active Duplication failure
Platform : HP-UX B.11.31 U ia64
Oracle Version: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
connected to auxiliary database (not started)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 01/07/2012 09:35:41
RMAN-03015: error occurred in stored script Memory Script
RMAN-04014: startup failed: ORA-01078: failure in processing system parameters
ORA-00119: invalid specification for system parameter REMOTE_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENERS_SALES_DB'
Any idea on how to resolve this error / what causes this error much appreciated.I am facing issue on active database duplication and has below issue. Can any one help me on this?
RMAN> connect target sys@Pa305
connected to target database: PA305 (DBID=2787277616)
RMAN> connect auxiliary sys@Pb305
connected to auxiliary database: PB305 (not mounted)
RMAN> DUPLICATE TARGET DATABASE
TO 'PB305'
FROM ACTIVE DATABASE
2> 3> 4> ;
Starting Duplicate Db at 31-JUL-2012 17:20:07
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=2838 instance=PB3051 device type=DISK
contents of Memory Script:
sql clone "alter system set control_files =
''+DG_075_DATA01/PB305/controlfile/current.270.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.286.790104009'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name =
''PA305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''PB305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '+DG_075_DATA01/PB305/controlfile/current.269.790104009';
restore clone controlfile to '+DG_075_FRA01/PB305/controlfile/current.288.790104009' from
'+DG_075_DATA01/PB305/controlfile/current.269.790104009';
sql clone "alter system set control_files =
''+DG_075_DATA01/PB305/controlfile/current.269.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.288.790104009'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
alter clone database mount;
executing Memory Script
sql statement: alter system set control_files = ''+DG_075_DATA01/PB305/controlfile/current.270.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.286.790104009'' comment= ''Set by RMAN'' scope=spfile
sql statement: alter system set db_name = ''PA305'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''PB305'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/31/2012 17:20:18
RMAN-06174: not connected to auxiliary database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
RMAN> -
How to restore a database from backup taken in standby database
Its our environment standard to run backup in standby database.
Now we have to perform refresh production database to UAT database.
I have performed normal refresh/duplicate. Is there any additional procedures need to be followed to perform refresh from standby database backupRMAN Restoration to New Server with Different Directory and New Database Name
In this case, I have an existing production database with RMAN Level 0 backup:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'C:\flash_recovery_area\galaxy\backupsets\autobackup\SAMSUNG-ctl_%F';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:\flash_recovery_area\galaxy\backupsets\level0\level0-%d-%T-%U' MAXPIECESIZE 4G;
DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE - 7';
SHOW ALL;
REPORT SCHEMA;
LIST BACKUP OF DATABASE;
REPORT NEED BACKUP;
REPORT UNRECOVERABLE;
LIST EXPIRED BACKUP BY FILE;
LIST ARCHIVELOG ALL;
REPORT OBSOLETE;
CROSSCHECK BACKUP DEVICE TYPE DISK;
CROSSCHECK COPY OF ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED BACKUP DEVICE TYPE DISK;
DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK;
RUN {
sql 'alter system archive log current';
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG DELETE INPUT;
LIST BACKUP OF DATABASE;
REPORT NEED BACKUP;
REPORT UNRECOVERABLE;
LIST EXPIRED BACKUP BY FILE;
LIST ARCHIVELOG ALL;
REPORT OBSOLETE;
CROSSCHECK BACKUP DEVICE TYPE DISK;
CROSSCHECK COPY OF ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED BACKUP DEVICE TYPE DISK;
DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK;
The backupsets will be restored into a new server with different file structure. The database will also be different. In the new server, I have created a blank database (SID or CUSTOM database with the name DBGRID). This is easier so I won't have to create any directories, user ORADIM or create new PWFile.
This document assumes that a blank (starter) database has been created in the new server. The RDBMS version is the same as the source database.
In this example, the source database name is GALAXY and the target database name is DBGRID.
Let me know if you have any feedback or comments. All I want is to share these steps with you and make it better so we can help other DBA's as well.
Steps start here
-->
ORIGINAL DATABASE: GALAXY
DUPLICATE DATABASE: DBGRID
FROM THE SOURCE DATABASE (GALAXY)
1. Backup the database using RMAN incremental backups.
2. Check the RMAN logs generated and look for the result of the command:
C:\Users\Administrator>set ORACLE_SID=GALAXY
C:\Users\Administrator>rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Aug 1 06:55:08 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: GALAXY (DBID=3578870300)
RMAN> report schema;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name GALAXY
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
1 680 SYSTEM *** C:\ORACLE\ORADATA\GALAXY\SYSTEM01.DBF
2 510 SYSAUX *** C:\ORACLE\ORADATA\GALAXY\SYSAUX01.DBF
3 140 UNDOTBS1 *** C:\ORACLE\ORADATA\GALAXY\UNDOTBS01.DBF
4 5 USERS *** C:\ORACLE\ORADATA\GALAXY\USERS01.DBF
5 106 EXAMPLE *** C:\ORACLE\ORADATA\GALAXY\EXAMPLE01.DBF
6 2048 ALLINDEX *** C:\ORACLE\ORADATA\GALAXY\ALLINDEX01.DBF
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
1 29 TEMP 32767 C:\ORACLE\ORADATA\GALAXY\TEMP01.DBF
This command shows all the physical database files that will be backed-up by the current RMAN job.
List the online redolog files:
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
3 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO03A.LOG NO
3 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO03B.LOG NO
2 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO02A.LOG NO
2 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO02B.LOG NO
1 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO01A.LOG NO
1 ONLINE C:\ORACLE\ORADATA\GALAXY\REDO01B.LOG NO
6 rows selected.
3. Since the target server has different structure, it is easier to use a pfile to startup the database rather than restoring the spfile from backup.
C:\Users\Administrator>set ORACLE_SID=GALAXY
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 1 06:56:14 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create pfile='C:\TEMP\initGALAXYrman.ora' from spfile;
File created.
4. Edit the pfile to have the following parameters:
(These parameters has been edited to fit the target database requirements)
galaxy entries has been changed to dbgrid. Directories has been corrected as well.
dbgrid.__db_cache_size=192937984
dbgrid.__java_pool_size=4194304
dbgrid.__large_pool_size=4194304
dbgrid.__oracle_base='D:\app\Administrator'#ORACLE_BASE set from environment
dbgrid.__pga_aggregate_target=281018368
dbgrid.__sga_target=524288000
dbgrid.__shared_io_pool_size=0
dbgrid.__shared_pool_size=301989888
dbgrid.__streams_pool_size=4194304
*.audit_file_dest='D:\app\Administrator\admin\DBGRID\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='D:\oradata\DBGRID\control01.ctl','D:\oradata\DBGRID\control02.ctl'
*.db_block_size=8192
*.db_domain=''
Leave as it is for now --> *.db_name='GALAXY'
*.db_recovery_file_dest='D:\fra\backupsets\duplicate'
*.DB_RECOVERY_FILE_DEST_SIZE=4G
*.diagnostic_dest='D:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DBGRIDXDB)'
*.job_queue_processes=1000
*.log_archive_dest_1='location=D:\fra\backupsets\archs'
*.log_buffer=10485760
*.memory_target=805306368
*.open_cursors=300
*.processes=800
*.remote_login_passwordfile='EXCLUSIVE'
*.session_cached_cursors=300
*.sessions=885
*.undo_tablespace='UNDOTBS1'
Make sure that all the directory values in this edited pfile are existing in the target server.
5. Copy all the RMAN backup pieces generated in the source database. Transfer the edited pfile as well. Make sure that all directories presented in the pfile exists in the target server.
In this example, RMAN backupsets are located at:
Backupsets:
Level0 and Level1 = D:\fra\backupsets\duplicate\level0 , D:\fra\backupsets\duplicate\level1
Controlfile and Spfile Autobackup = D:\fra\backupsets\duplicate\autobackup
Edited pfile initGALAXYrman= C:\TEMP\initDBGRIDnew.ora
FROM THE TARGET DATABASE (DBGRID)
6. Connect to RMAN and perform database duplication using RMAN backup restoration
C:\Users\Administrator>rman target /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Aug 1 07:26:45 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN> set dbid = 3578870300; --> THIS IS THE DBID OF THE SOURCE DATABASE!
executing command: SET DBID
RMAN> startup nomount pfile='C:\TEMP\initDBGRIDnew.ora'; -->restore the edited pfile
Oracle instance started
Total System Global Area 535662592 bytes
Fixed Size 1375792 bytes
Variable Size 327156176 bytes
Database Buffers 192937984 bytes
Redo Buffers 14192640 bytes
RMAN> restore controlfile from 'D:\fra\backupsets\duplicate\autobackup\SAMSUNG-CTL_C-3578870300-20120801-00'; -->restore the correct controlfile
Starting restore at 01-AUG-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
output file name=D:\ORADATA\DBGRID\CONTROL01.CTL
output file name=D:\ORADATA\DBGRID\CONTROL02.CTL
Finished restore at 01-AUG-12
RMAN> alter database mount; -->mount the database
database mounted
released channel: ORA_DISK_1
RMAN> catalog start with "D:\fra\backupsets\duplicate";
--> catalog the location of the backup pieces to make it known to the control file
Starting implicit crosscheck backup at 01-AUG-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
Crosschecked 3 objects
Finished implicit crosscheck backup at 01-AUG-12
Starting implicit crosscheck copy at 01-AUG-12
using channel ORA_DISK_1
Finished implicit crosscheck copy at 01-AUG-12
searching for all files in the recovery area
cataloging files...
no files cataloged
searching for all files that match the pattern D:\fra\backupsets\duplicate
List of Files Unknown to the Database
=====================================
File Name: D:\FRA\BACKUPSETS\duplicate\autobackup\SAMSUNG-CTL_C-3578870300-20120801-00
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-01NHGTGV_1_1
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-02NHGTIA_1_1
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-03NHGTMT_1_1
Do you really want to catalog the above files (enter YES or NO)? YES
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: D:\FRA\BACKUPSETS\duplicate\autobackup\SAMSUNG-CTL_C-3578870300-20120801-00
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-01NHGTGV_1_1
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-02NHGTIA_1_1
File Name: D:\FRA\BACKUPSETS\duplicate\level0\LEVEL0-GALAXY-20120801-03NHGTMT_1_1
RMAN> list backup summary; -->check your backup they are now known
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
1 B A A DISK 01-AUG-12 1 2 NO TAG20120801T011054
2 B 0 A DISK 01-AUG-12 1 2 NO TAG20120801T011137
3 B A A DISK 01-AUG-12 1 2 NO TAG20120801T011405
RMAN> list archivelog all; -->list you archivelog for point in time recovery
List of Archived Log Copies for database with db_unique_name GALAXY
=====================================================================
Key Thrd Seq S Low Time
26 1 29 A 01-AUG-12
Name: D:\FRA\BACKUPSETS\ARCHS\ARC0000000029_0785167457.0001
Perform database restoration and recovery. The sequence number is Seq+1 for complete recovery, so that will be 29 + 1 = 30. You can also do recovery via SCN or time based recovery.
Remember in the previous step: RMAN> REPORT SCHEMA;
Each datafile has a corresponding datafile number.
Follow the format to convert them into their respective new restoration directory in the target server.
SET NEWNAME has the format:
SET NEWNAME FOR DATAFILE [FILE NUMBER IN THE REPORT SCHEMA COMMAND] TO
‘[NEW LOCATION AND FILENAME OF THE DATAFILES]’;
RMAN> run {
2> SET UNTIL SEQUENCE 30 THREAD 1;
3> set newname for datafile 1 to 'D:\oradbgrid\oradata\SYSTEM01.DBF';
4> set newname for datafile 2 to 'D:\oradbgrid\oradata\SYSAUX01.DBF';
5> set newname for datafile 3 to 'D:\oradbgrid\oradata\UNDOTBS01.DBF';
6> set newname for datafile 4 to 'D:\oradbgrid\oradata\USERS01.DBF';
7> set newname for datafile 5 to 'D:\oradbgrid\oradata\EXAMPLE01.DBF';
8> set newname for datafile 6 to 'D:\oradbgrid\oradata\ALLINDEX01.DBF';
9> restore database;
10> switch datafile all;
11> recover database;
12> }
executing command: SET until clause
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 01-AUG-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=19 device type=DISK
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 00001 to D:\oradbgrid\oradata\SYSTEM01.DBF
channel ORA_DISK_1: restoring datafile 00002 to D:\oradbgrid\oradata\SYSAUX01.DBF
channel ORA_DISK_1: restoring datafile 00003 to D:\oradbgrid\oradata\UNDOTBS01.DBF
channel ORA_DISK_1: restoring datafile 00004 to D:\oradbgrid\oradata\USERS01.DBF
channel ORA_DISK_1: restoring datafile 00005 to D:\oradbgrid\oradata\EXAMPLE01.DBF
channel ORA_DISK_1: restoring datafile 00006 to D:\oradbgrid\oradata\ALLINDEX01.DBF
channel ORA_DISK_1: reading from backup piece D:\FRA\BACKUPSETS\DUPLICATE\LEVEL0\LEVEL0-GALAXY-20120801-02NHGTIA_1_1
channel ORA_DISK_1: piece handle=D:\FRA\BACKUPSETS\DUPLICATE\LEVEL0\LEVEL0-GALAXY-20120801-02NHGTIA_1_1 tag=TAG20120801T011137
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:02:06
Finished restore at 01-AUG-12
Starting recover at 01-AUG-12
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 29 is already on disk as file D:\FRA\BACKUPSETS\ARCHS\ARC0000000029_0785167457.0001
archived log file name=D:\FRA\BACKUPSETS\ARCHS\ARC0000000029_0785167457.0001 thread=1 sequence=29
media recovery complete, elapsed time: 00:00:01
Finished recover at 01-AUG-12
Log in to SQL*Plus to recreate the redolog files.
Format:
ALTER DATABASE RENAME FILE ‘[OLD REDOLOG LOCATION]’ TO ‘[NEW REDOLOG LOCATION]’;
C:\Users\Administrator>sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 1 08:54:27 2012
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select instance_name, status from v$instance;
INSTANCE_NAME STATUS
dbgrid MOUNTED
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO03A.LOG' TO 'C:\oracle\oradata\dbgrid\REDO03A.LOG';
Database altered.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO03B.LOG' TO 'C:\oracle\oradata\dbgrid\REDO03B.LOG';
Database altered.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO02A.LOG' TO 'C:\oracle\oradata\dbgrid\REDO02A.LOG';
Database altered.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO02B.LOG' TO 'C:\oracle\oradata\dbgrid\REDO02B.LOG';
Database altered.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO01A.LOG' TO 'C:\oracle\oradata\dbgrid\REDO01A.LOG';
Database altered.
SQL> ALTER DATABASE RENAME FILE 'C:\ORACLE\ORADATA\GALAXY\REDO01B.LOG' TO 'C:\oracle\oradata\dbgrid\REDO01B.LOG';
Database altered.
Open the database in resetlogs option. Create spfile from the edited pfile then bounce the database.
RMAN> alter database open resetlogs;
database opened
SQL> create spfile from pfile='C:\TEMP\initDBGRIDnew.ora';
File created.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 535662592 bytes
Fixed Size 1375792 bytes
Variable Size 327156176 bytes
Database Buffers 192937984 bytes
Redo Buffers 14192640 bytes
Database mounted.
Database opened.
SQL> select instance_name, status from v$instance;
INSTANCE_NAME STATUS
dbgrid OPEN
Create a new TEMP tablespace, make this as the new default temporary tablespace. Drop the old TEMP tablespace. Restart the database.
SQL> CREATE TEMPORARY TABLESPACE TEMP01 TEMPFILE 'D:\oradbgrid\oradata\TEMP0101.dbf' SIZE 200M;
Tablespace created.
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP01;
Database altered.
SQL> drop tablespace TEMP including contents and datafiles;
Tablespace dropped.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance sta -
Duplicate from Active database
Hi,
I have RAC primary database running in 11.2.0.3 with linux 5(dc). We also have configured RAC cluster on DR site recently.Now we need to create stanby database on DR site.
For this is have following doubts
My database size is 6TB(from dba_segmnets) and total is 14TB(from dba_data_files)
1) How duplicate of active database works internally? Does it copy the exact file to standby site for example copy datafile(which is of 5GB in size) and send it over to standby over network?
2) Both primary and standby sites are in different states, so i was thinking to backup the primary database first to tapes and then courier tapes to dr site and then finally restore and recover standby.
I have doubts in above approaches which should i implement. I think active database duplication will skip a)backup time b) courier time. Is that correct?
However if my database size is 14TB and using 1st method, does it send files to dr worth of 14TB size?I am working on active database duplication and has below issue. Can any one help me on this?
RMAN> connect target sys@Pa305
connected to target database: PA305 (DBID=2787277616)
RMAN> connect auxiliary sys@Pb305
connected to auxiliary database: PB305 (not mounted)
RMAN> DUPLICATE TARGET DATABASE
TO 'PB305'
FROM ACTIVE DATABASE
2> 3> 4> ;
Starting Duplicate Db at 31-JUL-2012 17:20:07
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=2838 instance=PB3051 device type=DISK
contents of Memory Script:
sql clone "alter system set control_files =
''+DG_075_DATA01/PB305/controlfile/current.270.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.286.790104009'' comment=
''Set by RMAN'' scope=spfile";
sql clone "alter system set db_name =
''PA305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''PB305'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '+DG_075_DATA01/PB305/controlfile/current.269.790104009';
restore clone controlfile to '+DG_075_FRA01/PB305/controlfile/current.288.790104009' from
'+DG_075_DATA01/PB305/controlfile/current.269.790104009';
sql clone "alter system set control_files =
''+DG_075_DATA01/PB305/controlfile/current.269.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.288.790104009'' comment=
''Set by RMAN'' scope=spfile";
shutdown clone immediate;
startup clone nomount;
alter clone database mount;
executing Memory Script
sql statement: alter system set control_files = ''+DG_075_DATA01/PB305/controlfile/current.270.790104009'', ''+DG_075_FRA01/PB305/controlfile/current.286.790104009'' comment= ''Set by RMAN'' scope=spfile
sql statement: alter system set db_name = ''PA305'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''PB305'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/31/2012 17:20:18
RMAN-06174: not connected to auxiliary database
RMAN-03015: error occurred in stored script Memory Script
RMAN-04006: error from auxiliary database: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
RMAN> -
How to setup and auxiliary database
Hi Everyone,
i studied the documentation to create duplicate db, i understand the steps, only one thing is not cleared in my mind that how to create a auxiliary db. should i create a new database through database creation wizard, then modify the parameter file, but it will create control files too.
Please clear my mind about this confusion.
thanksHi,
The RMAN DUPLICATE command to create a duplicate database from target database backups while still retaining the original target database. To prepare for database duplication, you must first create an auxiliary instance.
Creating an auxillary instance here just means setting up the correct init.ora parameters. You should not create the database using the creation wizard. For the duplication to work, you must connect RMAN to both the target (primary) database and an auxiliary instance started in NOMOUNT mode. The DUPLICATE command creates the control files by using the names listed in the
initialization parameter file of the auxiliary instance. When choosing names for the duplicate database control files, make sure that you set the initialization parameter
settings correctly so that you do not overwrite the production files at the target database.
Thanks,
Prajwal. -
UAT Database from Standby database
Hi,
I'm using oracle 11.2.0.2.0 on Windows 2008,
I have prod & standby databases, I want to create new UAT DB which wiil be same as prod,
How Can create a UAT using standby database cold backup,
can i use cold backup of standby database.
Thanks
Edited by: user10745179 on Oct 22, 2012 12:42 PMThis would be a database duplication from backup with RMAN. A Catalog will help, particularly as you are working in a Data Guard environment, but it is a straightforward and well documented operation:
http://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmdupdb.htm#i1008564 -
How to duplicate by rman database?
dear sir, i read one article and follow step and 2nd auxiliary database i delete all dbf, ctl, log(redo) files ...then tryying to create dubplicate giving me error
can some one send steps of it
rgds
shahzadDatabase Duplication with RMAN
Use the RMAN DUPLICATE command to create a copy of the target database that you can use for testing. The command restores backups and copies of the primary database's files and creates a new database.
As part of the duplicating operation, RMAN manages the following:
Restores the target datafiles into the duplicate database and performs incomplete recovery using all available archived log and incremental backups.
Opens the duplicate database with the RESETLOGS option after incomplete recovery to create the online redo logs.
Generates a new, unique database identifier for the duplicate database.
Note also the following features of RMAN duplication. You can:
Skip read-only tablespaces with the SKIP READONLY clause (read-only tablespaces are included by default). You can also exclude any tablespace with the SKIP TABLESPACE clause so long as it is not the SYSTEM tablespace and does not contain rollback or undo data. If you omit tablespaces, then you can add them later.
Create your duplicate database in a new host. If the same directory structure is available, then you can use the NOFILENAMECHECK option and reuse the target datafile filenames for the duplicate datafiles.
Create your duplicate database by using the SET UNTIL command or UNTIL clause of the DUPLICATE command to recover it to a noncurrent time. By default, the DUPLICATE command creates the database using the most recent backups of the target database and then performs recovery to the most recent consistent point contained in the incremental and archived redo log backups.
Use the duplicate database without a recovery catalog.
Register the duplicate database in the same recovery catalog as the target database. This option is possible because the duplicate database receives a new database identifier during duplication. If you copy the target database using operating system utilities, then the database identifier of the copied database remains the same so you cannot register it in the same recovery catalog.
Figure 6-3 illustrates a case of database duplication. In this example, RMAN creates two duplicate database by using one set of datafile backups: one database on the local host and one database a remote host.
Figure 6-3 Creating a Duplicate Database from Backups
Text description of the illustration sbr81078.gif
The method you use to duplicate your database depends on whether you are creating your duplicate database on the same or a different host and whether the duplicate directory structure is the same as your target database directory structure. For example, in some cases you can keep the same directory structure and filenames in your duplicate database, while other times you must rename the files.
See Also:
Chapter 12, "Duplicating a Database with Recovery Manager" to learn how to make a duplicate database, and Oracle9i Recovery Manager Reference for DUPLICATE command syntax.
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96566/rcmconc2.htm#462471
Joel Pérez
http://www.oracle.com/technology/experts -
Problems with DUPLICATE DATABASE when datafile was added after full backup
Hi,
I'm facing a problem when performing database duplication with the RMAN duplicate database command on a 10g database. If I preform the duplication from a full backup that is missing a datafile which was added to the database after the full backup, I get the following error message:
Starting restore at 10-10-2009 18:00:38
released channel: t1
released channel: t2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 10/10/2009 18:00:39
RMAN-03015: error occurred in stored script Memory Script
RMAN-06026: some targets not found - aborting restore
RMAN-06100: no channel to restore a backup or copy of datafile 43The redo log which was CURRENTat the time of the datafile's 43 creation is also available in the backups. It seems like RMAN can't use the information from the archived redo logs to reconstruct the contents of datafile 43. I suppose that because the failure is reported already in the RESTORE and not in the RECOVER phase, so the archived redo logs aren't even accessed yet. I get the same message even if I make a separate backup of datafile 43 (so a backup that is not in the same backupset as the backup of all other datafiles).
From the script the duplicate command produces, I guess that RMAN reads the contents of the source database's controlfile and tries to get a backup which contains all the datafiles to restore them on the auxiliary database - if such a backup is not found, it fails.
Of course if I try to perform a restore/recover of the source database it works without problems:
RMAN> restore database;
Starting restore at 13.10.09
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK
creating datafile fno=43 name=F:\ORA10\ORADATA\SOVDEV\SOMEDATAFILE01.DBF
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to F:\ORA10\ORADATA\SOVDEV\SYSTEM01.DBF
.....The datafile 43 is recreated and then redo is applied over.
So, does anyone know if duplicate database can't use archived redo logs to recreate the contents of a datafile as a normal restore/recover does? If it's so, then it means it's necessary to perform a full database backup before every run of duplicate database if a datafile was added after such a backup.
Thanks in advance for any answers.
Regards,
JureHi Jure,
I have hit exactly the same problem during duplication.
Because we backup the archive logs every 6 hours with rman I added an extra run block to this script.
run
backup incremental level 0
format 'bk_%d_%s_%p_%t'
filesperset 4
database not backed up;
(I also than hit a bug in the catalog which was solved by patching up the catalog dbs from 11.1.0.6 to 11.1.0.7.)
This will narrow down the datafile not being part of any rman backup to 6 hours while skipping datafiles for which a backup already exists.
Regards,
Tycho
Maybe you are looking for
-
how do you make a tab in html within a JLabel text. also how do you get rid of the bold that seems to be on every J label?
-
Work without popup when calling webhelp?
Is there a way to start robohelp on a certain topic, with the navigation pane(pointing to this topic) without using the javascript API (RH_ShowHelp) only by using an URL ? (with params). Also generating no popus whatsoever. The reason we need this, i
-
My iPhone 4 decided to stop charging?
My IPhone Is less then a year old, the problem is NOT the charge cable, power outlet, or a case of having a dirty charge point. I would suspect my battery has failed me, but since the phone is still so new I would have to assume that cannot be the pr
-
Camtasia SWF and Robohelp x5 - Please help!
I think the summary says it all. I produce a swf file using Camtasia (a well known and popular video producer) and when I include all the video files in the project, nothing shows up after it's compiled (there are 4 files: an swf video, controller ht
-
FDS - accessing outside java classes
Hi, I understand FDS can interact flex clients using RPC,message and data services. What are the possible options for FDS to intreact with Java applications/classes which are outside of FDS/web server/app server. Is there any secret componenets (like