• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 21285
  • Last Modified:

ORA-01503: CREATE CONTROLFILE failed

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
jl820471
Asked:
jl820471
  • 4
  • 2
  • 2
  • +2
1 Solution
 
SDuttaCommented:
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
 
jl820471Author Commented:
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
 
CallumTCommented:
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
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
schwertnerCommented:
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
 
schwertnerCommented:
I mean init<sid>.ora file. Sorry for the mistake.
0
 
jl820471Author Commented:
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
 
muskware77Commented:
Have a look at Metalink (i am positive they have resources pertainig to resolving the subject matter).
0
 
jl820471Author Commented:
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
 
jl820471Author Commented:
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
 
SDuttaCommented:
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

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 2
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now