database cloning

2
A database cloning procedure is especially useful for the DBA who wants to give his developers a full-sized TEST and DEV instance by cloning the PROD instance into the development server areas. This Oracle clone procedure can be use to quickly migrate a system from one UNIX server to another. It clones the Oracle database and this Oracle cloning procedures is often the fastest way to copy a Oracle database. STEP 1: On the old system, go into SQL*Plus, sign on as SYSDBA and issue: “alter database backup controlfile to trace”. This will put the create database syntax in the trace file directory. The trace keyword tells oracle to generate a script containing a create controlfile command and store it in the trace directory identified in the user_dump_dest parameter of the init.ora file. It will look something like this: STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "OLDLSQ" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 2 MAXDATAFILES 240 MAXINSTANCES 1 MAXLOGHISTORY 113 LOGFILE GROUP 1 ('/u03/oradata/oldlsq/log1a.dbf', '/u03/oradata/olslsq/log1b.dbf') SIZE 30M, GROUP 2 ('/u04/oradata/oldlsq/log2a.dbf', '/u04/oradata/oldlsq/log2b.dbf') SIZE 30M DATAFILE '/u01/oradata/oldlsq/system01.dbf', '/u01/oradata/oldlsq/mydatabase.dbf' ; # Recovery is required if any of the datafiles are restored # backups, or if the last shutdown was not normal or immediate. RECOVER DATABASE # Database can now be opened normally. ALTER DATABASE OPEN;  STEP 2: Shutdown the old database STEP 3: Copy all data files into the new d irectories on the new server. You may chang e the file names if you want, but you must edit the controlfile to reflect the new data files names on the new server. rcp /u01/oradata/oldlsq/* newhost:/u01/oradata/newlsq rcp /u01/oradata/oldlsq/* newhost:/u01/oradata/newlsq rcp /u03/oradata/oldlsq/* newhost:/u03/oradata/newlsq rcp /u04/oradata/oldlsq/* newhost:/u04/oradata/newlsq  STEP 4: Copy and Edit the Control file – Using the output syntax from STEP 1, modify the controlfile creation script by changing the following: Old:

Upload: riteshhty

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Database Cloning

8/3/2019 Database Cloning

http://slidepdf.com/reader/full/database-cloning 1/2

A database cloning procedure is especially useful for the DBA who wants to give his

developers a full-sized TEST and DEV instance by cloning the PROD instance into

the development server areas.

This Oracle clone procedure can be use to quickly migrate a system from one UNIX

server to another. It clones the Oracle database and this Oracle cloning procedures isoften the fastest way to copy a Oracle database.

STEP 1: On the old system, go into SQL*Plus, sign on as SYSDBA and issue: “alter 

database backup controlfile to trace”. This will put the create database syntax in the

trace file directory. The trace keyword tells oracle to generate a script containing a

create controlfile command and store it in the trace directory identified in the

user_dump_dest parameter of the init.ora file. It will look something like this:

STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "OLDLSQ" NORESETLOGS

NOARCHIVELOGMAXLOGFILES 16MAXLOGMEMBERS 2MAXDATAFILES 240MAXINSTANCES 1MAXLOGHISTORY 113LOGFILEGROUP 1 ('/u03/oradata/oldlsq/log1a.dbf','/u03/oradata/olslsq/log1b.dbf') SIZE 30M,GROUP 2 ('/u04/oradata/oldlsq/log2a.dbf','/u04/oradata/oldlsq/log2b.dbf') SIZE 30MDATAFILE'/u01/oradata/oldlsq/system01.dbf','/u01/oradata/oldlsq/mydatabase.dbf';# Recovery is required if any of the datafiles are restored# backups, or if the last shutdown was not normal or immediate.RECOVER DATABASE# Database can now be opened normally.ALTER DATABASE OPEN;

 

STEP 2: Shutdown the old database

STEP 3: Copy all data files into the new directories on the new server. You may change the file

names if you want, but you must edit the controlfile to reflect the new data files names on thenew server.

rcp /u01/oradata/oldlsq/* newhost:/u01/oradata/newlsqrcp /u01/oradata/oldlsq/* newhost:/u01/oradata/newlsqrcp /u03/oradata/oldlsq/* newhost:/u03/oradata/newlsqrcp /u04/oradata/oldlsq/* newhost:/u04/oradata/newlsq

 

STEP 4: Copy and Edit the Control file – Using the output syntax from STEP 1, modify thecontrolfile creation script by changing the following:

Old:

Page 2: Database Cloning

8/3/2019 Database Cloning

http://slidepdf.com/reader/full/database-cloning 2/2

CREATE CONTROLFILE REUSE DATABASE "OLDLSQ" NORESETLOGS

 New:

CREATE CONTROLFILE SET DATABASE "NEWLSQ" RESETLOGS

STEP 5: Remove the “recover database” and “alter database open” syntax

# Recovery is required if any of the datafiles are restored# backups, or if the last shutdown was not normal or immediate.RECOVER DATABASE# Database can now be opened normally.ALTER DATABASE OPEN;

 

STEP 6: Re-names of the data files names that have changed.

Save as db_create_controlfile.sql.

Old:

DATAFILE'/u01/oradata/oldlsq/system01.dbf','/u01/oradata/oldlsq/mydatabase.dbf'

 New:

DATAFILE'/u01/oradata/newlsq/system01.dbf','/u01/oradata/newlsq/mydatabase.dbf'

STEP 7: Create the bdump, udump and cdump directories

cd $DBA/adminmkdir newlsqcd newlsqmkdir bdumpmkdir udumpmkdir cdumpmkdir pfile

STEP 8: Copy-over the old init.ora file

rcp $DBA/admin/olslsq/pfile/*.ora newhost:/u01/oracle/admin/newlsq/pfile

STEP 9: Start the new database

@db_create_controlfile.sql

STEP 10: Place the new database in archivelog mode