Solved

ORA-01503: CREATE CONTROLFILE failed

Posted on 2004-11-01
18,985 Views
Last Modified: 2011-08-18
I am making a copy of our production database on another server and I am trying to give this new instance the DB name "IQ1", but I am getting the following error message when running the create new controlfile script. I don't understand why it is erroring on this file "?/dbs/dbs1@.dbf'"?




SVRMGR> @new_cntrlfile_IQ1.sql
ORA-01081: cannot start already-running ORACLE - shut it down first
CREATE CONTROLFILE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG
*
ORA-01503: CREATE CONTROLFILE failed
ORA-01565: error in identifying file '?/dbs/dbs1@.dbf'
ORA-27037: unable to obtain file status
HP-UX Error: 2: No such file or directory
Additional information: 3
ORA-01507: database not mounted
ORA-01507: database not mounted
ALTER DATABASE OPEN
*
ORA-01507: database not mounted


Here is the script:

STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG
    MAXLOGFILES 255
    MAXLOGMEMBERS 3
    MAXDATAFILES 500
    MAXINSTANCES 50
    MAXLOGHISTORY 24957
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
# Database can now be opened normally.
ALTER DATABASE OPEN;
# No tempfile entries found to add.
0
Question by:jl820471
    10 Comments
     
    LVL 10

    Expert Comment

    by:SDutta
    Since you are using existing controlfiles to create the database with a new name, you should use the REUSE option.

    CREATE CONTROLFILE REUSE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG ....

    0
     

    Author Comment

    by:jl820471
    I re-ran the script but it is still complaining about the new database name in the first line of the script. How do I get the script to change the old name of the database from IP1 to IQ1 and update the controlfiles to the contain the new name?

    SVRMGR> @/oracle/IQ1/saptrace/usertrace/new_cntrlfile_IQ1.sql
    ORACLE instance started.
    Total System Global Area                       4446202344 bytes
    Fixed Size                                         104936 bytes
    Variable Size                                   771534848 bytes
    Database Buffers                               3672195072 bytes
    Redo Buffers                                      2367488 bytes
    CREATE CONTROLFILE REUSE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG
    *
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01504: database name 'IQ1' does not match parameter db_name 'IP1'
    ORA-01507: database not mounted
    ORA-01507: database not mounted
    ALTER DATABASE OPEN
    *
    ORA-01507: database not mounted
    0
     
    LVL 2

    Expert Comment

    by:CallumT
    What init.ora file are you using to start the new db ? Looks like you might be using the init.ora file for IP1..
    0
     
    LVL 47

    Expert Comment

    by:schwertner
    Run the database with the old name.
    After that change the SID either in the ini<sid>.ora or in the SPFILE (9i/10g).
    Of course you have to change the SID in the LISTENER stuff:
    sqlnet.ora, listener.ora, tnsnames.ora
    So if you can avoid the change of the SID it will be beter to run the instance under the old name.

    Be aware that the change of the SID do not makes the DB unique.
    To make it unique you have to change the serial number, which is another story.
    0
     
    LVL 47

    Expert Comment

    by:schwertner
    I mean init<sid>.ora file. Sorry for the mistake.
    0
     

    Author Comment

    by:jl820471
    I have change the SID to the new database name and re-run the command. I am still getting the following error from the command. Why is it looking for the dbs1@.dbf file?

    SVRMGR> startup nomount;
    ORACLE instance started.
    Total System Global Area                       4446202344 bytes
    Fixed Size                                         104936 bytes
    Variable Size                                   771534848 bytes
    Database Buffers                               3672195072 bytes
    Redo Buffers                                      2367488 bytes
    SVRMGR> CREATE CONTROLFILE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG;
    CREATE CONTROLFILE SET DATABASE "IQ1" RESETLOGS ARCHIVELOG
    *
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file '?/dbs/dbs1@.dbf'
    ORA-27037: unable to obtain file status
    HP-UX Error: 2: No such file or directory
    Additional information: 3
    0
     
    LVL 2

    Expert Comment

    by:muskware77
    Have a look at Metalink (i am positive they have resources pertainig to resolving the subject matter).
    0
     

    Author Comment

    by:jl820471
    The problem was due to the fact that I removed too much information from the trace file when modify it to a script. I removed the datafile information which caused the error. I have re-run the script and the error didn't re-occur and the problem is resolved. Thanks.
    0
     

    Author Comment

    by:jl820471
    Clarification, my last comment pertains to the "ORA-01565: error in identifying file '?/dbs/dbs1@.dbf'" and what I did to eliminate the first error "ORA-01504: database name 'IQ1' does not match parameter db_name 'IP1'" was to rename the db file /oracle/IQ1/817_64/dbs/lkIP1 to a different name (e.x. jl_lkIP1), and then restart svrmgrl and then run the script.  Both problem are resolved. Thanks again.
    0
     
    LVL 10

    Accepted Solution

    by:
    Good to see that you were able to resolve the problem.
    Yes, the CREATE CONTROLFILE command must contain the LOGFILE ... DATAFILE ...
    with at least one datafile with the SYSTEM tablespace in it.
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
    Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
    Video by: Steve
    Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
    This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

    913 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now