Below steps helps you in performing database cloning using hot backup
...
Assumptions:
1. directory structure is different in both source and target servers
2. Oracle version : 10.2.0.5
3. OS version : Linux 5
4. target database name is same as source database name
5. DATABASE SHOULD BE IN ARCHIVEMODE
step 1 : Take the hot backup of source database
If the souce database in not in Archivemode, alter database to archivemode.
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
sql> alter database begin backup;
Check the status whether the datafiles are in backup mode.
select * from v$backup;
FILE# STATUS CHANGE# TIME
===========================
1 ACTIVE 000007 22-DEC-11
2 ACTIVE 000007 22-DEC-11
$ copy datafiles to backup location
select name from v$datafile;
NAME
================================================
/oradata/test123/system01.dbf
/oradata/test123/undotbs01.dbf
SQL>exit
$ cd /u04/app/oracle/product/10.2.0/oradata/test/
$ ls -lrt
-rw-r-- 1 oracle staff 209723392 DEC 22 10:00 undotbs01.dbf
-rw-r-- 1 oracle staff 429924352 DEC 22 10:00 system01.dbf
$ cp *.dbf /oradata/clonedb/data
sql> alter database end backup;
step 2 : Take controlfile trace and pfile or spfile (that was using by the source database)
step 3 : Install Oracle software on another machine (choose “Install only” option in OUI). Don’t create any database
step 4 : Copy all the files (including trace file and pfile or spfile) from source server to target server either using FTP or rcp
Note: Not necessary in copying control files and redologfiles
step 5 : Place pfile or spfile in “dbs” directory on target
step 6 : Copy the remaining files to their respective locations (If any directories are missing, do create them)
step 7 : Connect as sysdba and Startup the database in nomount stage
step 8 : Edit the trace file (that was copied) and generate a create controlfile script from it.
Modify the script and specify the new locations of the files.
step 9 : Execute the controlfile script which will create controlfiles in the location specified in CONTROL_FILES parameter.
Once control files are created, database will be forwarded to MOUNT state.
sql> @create_controlfile.sql
step 10 : Finally, Open the database with resetlogs option
sql> startup nomount
sql> alter database mount;
sql> recover database using backup controlfile until cancel;
sql> alter database open resetlogs;
No comments:
Post a Comment