Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 8 and changing DB id's
How about this. You'll find more on the oracle metalink. I've used this
method before and it works fine.
Document ID: 106373.655 Title: Changing dbname or ORACLE_SID Creation Date: 07 September 1994
Impact: MEDIUM Abstract: This bulletin describes how to change the dbname for a database, or the ORACLE_SID for an instance, without having to recreate the database. Keywords: SID;DBNAME;CHANGING;ORACLE_SID;INSTANCE;CONTROLFILE -----------------------------------------------------------------------
Modifying a database to run under a new ORACLE_SID
and redefine the environment variable ORACLE_SID to a new value. ie search thru disks and do a grep ORACLE_SID * 4. cd $ORACLE_HOME/dbs and rename the following files:
o init<sid>.ora (or use pfile to point to the init file.) o control file(s) This is optional if you don't rename any of the
controlfiles, and the control_files parameter is used. control_files would be set in the initSID.ora file or in a file it references with the ifile parameter. Make sure control_files doesn't point to any old file names, if you renamed them. o crdb<sid>.sql & crdb2<sid>.sql This is optional. These are only used at database creation. 5. cd $ORACLE_HOME/rdbms/admin and rename the file: o startup<sid>.sql This is optional.(On some platforms, this file may be in $ORACLE_HOME/rdbms/install.) Make sure the contents of this file do not reference old initSID.ora files that have been renamed. This file simplifies the process to "startup exclusive" your database.
instructions in the bulletin: 98863.723. 7. Change the ORACLE_SID environment variable to the new value. 8. start up database and verify it works. Once you have done this, shutdown
the database and take a final backup of all control, redo and data
files.
9. When the instance is started, the control file gets updated with the
current ORACLE_SID.
Changing the dbname for a database
listed in the user_dump_dest variable. The trace file will have the form "ora_NNNN.trc with NNNN being anumber.
new file called something like ccf.sql. 6. Edit the ccf.sql file and modify the CREATE CONTROLFILE command.
Just change the word "REUSE" to "SET",and "NORESETLOGS" to "RESETLOGS",
and modify the dbname. Old line: CREATE CONTROLFILE REUSE DATABASE "olddbname" NORESETLOGS ... New line: CREATE CONTROLFILE set DATABASE "newdbname" RESETLOGS ... Then save the ccf.sql file.
the way of creating the new ones.
8. Edit initSID.ora so that db_name="newdbname". 9. sqldba 10. connect internal 11. startup nomount 12. @ccf 13. alter database open; 14. Make sure the database is working. Shutdown and backup the database.
References
Oracle Worldwide Customer Support
Glen Upreti <Glen.Upreti_at_NOSPAMnau.edu> wrote in article
<3778D0E1.28F73209_at_nau.edu>...
> I had posted this a while back and just wanted to see if anyone has had
> the same problem.
>
> I have multiple database instances which I copy/clone into other
> database instances on the same machine. I basically copy the datafiles
> from one database and then run a create controlfile script which I
> extract from the source database. Although I would prefer doing it a
> cleaner way (export/import) the time it takes (5-6 hours) for that vs.
> the cloning method (10-20min) does not make it feasible.
>
> The problem is that because I am using a straight datafile copy the
> clone is really a clone of the original, and in Oracle 8 the dbid is not
> reset which means I can't use rman because rman cannot handle having
> multiple database instances with the same dbid.
>
> Is there any way to manually change the dbid? Is that OK or will oracle
> chase me down and beat me in the streets as a example of what not to do?
>
> Any help with this is greatly appreciated,
> Glen Upreti
>
>
> --
> |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
> Glen Upreti
> Senior Oracle DBA
> Northern Arizona University
> Phone (520)523-8393 Fax(520)523-7407
> Glen.Upreti_at_nau.edu
Received on Tue Jun 29 1999 - 10:36:16 CDT