Sign up ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I need to restore an Oracle production database (aaprod) to a test server that already is home to a test database (aatest) under a new name (bbtest). I have a cold backup of the production database

Questions: What is the appropriate approach to restoring this production database to a test server under a new database name using the cold backup?

Easy to do with SQL Server, Oracle is a new gig.

share|improve this question
is the underlying OS windows or Unix? – Stuart Moore Oct 10 '12 at 19:38
My bad, it is Windows. – jl01 Oct 10 '12 at 19:48
How was the database backed up? Did you use RMAN or just manually copy the data files, control files, init.ora etc? – Phil Oct 11 '12 at 4:30
No RMAN is involved so far. This is a manual process for the data, control, etc. – jl01 Oct 11 '12 at 14:29
Do the data files for the aatest instance have identical paths as aaprod? (A different approach is needed if this is the case, as bbtest will need its data files renaming) – Phil Oct 12 '12 at 4:21

1 Answer 1

rule #1) use rman for backup, recovery and cloning of databases.

since this was a user managed backup, and you need your datafiles on a different location, there are a few things to do.

  1. 1) copy the file to where you want
  2. 2) create a pfile.ora that references your control_files
  3. 3) startup mount your database

at this moment you have control_files that still refer to the original datafiles locations. They need to be redirected.

  1. 4) for all your files in v$datafile, issue "alter database rename file '/old/name' to '/new/name';
  2. 5) for all your members in v$logfile, issue "alter database rename file '/old/name' to '/new/name';

now you should be able to open your database.

  1. 6) alter database open;

If you get problems before or during mount, it is probably because of wrong dbname, db_unique_name. Set them as they were/are in prod.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.