ORA-01503: CREATE CONTROLFILE failed
I am copying a database from one server to another and changing the name of the database.
Oracle version 11.1.0.7, on Linux
Following are the steps followed (I have changed the names from actual to old_db and new_db for the forum). SID is within 4 char
-- shutdown database old_db
-- copy all files to new host new_server
-- One new_server
1. startup mount
2. Used nid to change the db name to new_db : nid target=/ dbname=new_db setname=y logfile=new_db.log
3. edit /etc/oratab and changed to new_db
4. edit initnew_db.ora, change db_name, db_unique_name, service_name
5. export ORACLE_SID to new_db
6. run orapw command
7. startup database
Everything looks good.
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string new_db
db_unique_name string new_db
global_names boolean FALSE
instance_name string new_db
lock_name_space string
log_file_name_convert string
service_names string new_db.world
Now, my filenames are still pointing to old location
/app/oradata/old_db/filenames
That I want to change to
/app/oradata/new_db/filenames
Steps Followed:
1. Backup control file to trace
2. Use the first part CREATE CONTROLFILE REUSE DATABASE "new_db" NORESETLOGS NOARCHIVELOG
3. change all occurrence of /app/oradata/old_db/filenames to /app/oradaat/new_db/filesnames
4. Shutdown new_db
5. Edit initold_db.ora to change control file location
6. Startup nomount
7. Run the above step 2 for control file creation
I am getting this error
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01161: database name OLD_DB in file header does not match given name of NEW_DB
ORA-01517: log member: '/app/oradata/new_db/redo/redo01.log'
Can someone please let me know what step I missed?