Move your mouse over this icon to show all screenshots.
You can also move your mouse over each individual icon to see only the screenshot
associated with it.
You can create a copy of your database on the same UNIX machine
by following the steps outlined below.
Note: If you are using a release of Oracle prior to
Oracle9i Release 2,
you should not use this procedure if you are using Recovery Manager (RMAN) to
back up your database.
As an alternative to these procedures, you can use the RMAN
DUPLICATE command to create a
duplicate database from target database backups.
You will make a copy of the files that comprise your database.
You will then create a new control file by executing a script you generate from
your existing control file.
Note: Creating a copy of a database involves usage
of the CREATE CONTROLFILE command. If this command is not executed correctly,
your database could be corrupted. If this happens and the files in question
are important, you will need to restore the original database from a backup.
You can make a copy of your database by performing the following
steps:
1.
Invoke SQL*Plus and connect as a user with SYSDBA privileges.
2.
Issue the following command to create a script that
will be used to generate your new control file.
ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;
3.
This command generates a trace file that will be stored
in the location specified by the USER_DUMP_DEST
initialization parameter. The file will be named ORA_nnnn.trc.
You can find the value of USER_DUMP_DEST
by issuing the following command:
SHOW PARAMETER USER_DUMP_DEST
4.
Copy this file to a file named ccf<NEW_SID>.sql
(or other name of your choice) where NEW_SID
is the system identifier (ORACLE_SID)
of your copied database.
5.
You must identify the data files and redo log files
that you need to copy for your new database. You can view the file names
in the trace file you created in step 2. Alternatively, you can perform
the following queries to obtain the file names:
SELECT name
FROM v$datafile;
SELECT member FROM v$logfile;
6.
Shut down your instance using the NORMAL,
IMMEDIATE, or TRANSACTIONAL
options:
SHUTDOWN IMMEDIATE
7.
Make a whole (full or complete) backup of your database
files. You should include the data files and redo log files you identified
in step 3. In addition you should back up the server parameter file, initialization
parameter file and any additional parameter files indicated by the IFILE
initialization parameter.
8.
Copy your data files, redo log files, control files,
and initialization parameter files to the new location. Be sure to preserve
the file ownership and privileges.
9.
Change the name of the initialization parameter file
to use your new system identifier (ORACLE_SID).
10.
Edit the initialization parameter file for your copied
database. Change the value of the CONTROL_FILES
parameter to your new control file names. Change the value of the DB_NAME
parameter to the database name of your copied database.
11.
Edit the trace file you created in step 2 to make the
following changes:
Remove the comment lines and the STARTUP
NOMOUNT statement that precede the CREATE
CONTROLFILE statement.
Remove the comment lines and the RECOVER
DATABASE and ALTER DATABASE
OPEN commands that follow the CREATE
CONTROLFILE statement.
Add the SET
DATABASE clause and change the database name to your new database
name as in the following example.
Change:
CREATE CONTROLFILE REUSE
DATABASE "DB1" RESETLOGS
To:
CREATE CONTROLFILE REUSE SET
DATABASE "DB2" RESETLOGS
Change the data file and redo log file names to the
names for your copied database
Note: If you omit any files from the CREATE
CONTROLFILE command, these files cannot be added to the new database
at a later date. If any of the file names are not changed from their original
names in the CREATE CONTROLFILE
command, the files of the original database will become part of the copied
database and it will not be possible to restore them to the original database.
If this happens, the original database will need to be restored from a
backup.
12.
If you are using a password file for authentication,
you should create a new password file for your copied database using the
ORAPWD utility.
At the operating system prompt, change the value of
the ORACLE_SID environment
variable to your new ORACLE_SID.
You can use the following command in the C shell:
%setenv ORACLE_SID <NEW_SID>
14.
Invoke SQL*Plus and connect as a user with SYSDBA privileges.
15.
Start your instance in NOMOUNT mode:
STARTUP NOMOUNT PFILE=<pfile name>
16.
Execute your SQL script to create a new control file:
@ccf<new sid>
17.
Open your database with the RESETLOGS
option:
ALTER DATABASE OPEN RESETLOGS;
18.
Make a whole (full or complete) backup of your database
using operating system commands or RMAN.
Move your mouse over this icon to hide all screenshots