4 Replies Latest reply: Apr 11, 2013 10:41 AM by user8932632 RSS

    ORA-01503: CREATE CONTROLFILE failed

    user8932632
      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?