0% found this document useful (0 votes)
55 views2 pages

Rename The Database

The document provides step-by-step instructions for renaming an Oracle 10g or 11g database using the nid utility. The process involves backing up the database, creating a new parameter file, shutting down and mounting the database, running the nid command to change the SID, updating configuration files and passwords, and restarting the database. Backup and recovery files like RMAN backups remain valid after renaming the database since the database ID does not change.

Uploaded by

Subramanian K
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views2 pages

Rename The Database

The document provides step-by-step instructions for renaming an Oracle 10g or 11g database using the nid utility. The process involves backing up the database, creating a new parameter file, shutting down and mounting the database, running the nid command to change the SID, updating configuration files and passwords, and restarting the database. Backup and recovery files like RMAN backups remain valid after renaming the database since the database ID does not change.

Uploaded by

Subramanian K
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Articles from Rants & Raves - The Blog!

Rename an Oracle 10g or 11g Database


2012- 03- 07 16:03:28 Norman

Due t o a document not being supplied t o me recent ly, I built a f ew 11g


dat abases wit h t he wrong SID. I needed t o change t hem all. I f ound a f ew web
pages, Oracle and ot hers, on using t he nid ut ilit y t o do just t hat , however,
t hey were incomplet e. T he f ull process is described here.
T he f ollowing has been t est ed f ully on an 11.2.0.2 Oracle dat abase. T he nid
ut ilit y used also exist s in Oracle 10.2.0.5 and possibly ot her versions t hat I do
not have access t o at t he moment .
Backup t he dat abase or ensure a backup exist s in RMAN. T his shouldnt
be necessary but you are a DBA right ? And chances we do not t ake!
create pfile='/home/oracle/initnew_sid.ora' from spfile;
t his ensures t hat t he pf ile you are about t o edit cont ains all t he current
set t ings. It is saved in a non-st andard locat ion f or saf et y.
Shut down t he dat abase cleanly. Use shutdown or shutdown
immediate.
Startup mount t he dat abase.
Check t he open_cursors paramet er. If you have a lot of dat a f iles you
might need t o increase t his set t ing t emporarily:
alter system set open_cursors=1500 scope=memory;
In a shell session run t he f ollowing nid command:
nid target=/ dbname=new_sid setname=y logfile=new_name.log
T he logf ile creat ed will show det ails of what just happened and should
be checked f or errors. As f ar as I am aware, but dont t rust me on t his,
errors will not change t he dat abase at all.
T he inst ance will also have been shut down at t he end of t he nid
command.
Edit /etc/oratab t o change t he old sid t o t he new one.
Edit tnsnames.ora t o do likewise. Also applies t o OID, LDAP, what ever
you use f or alias resolut ion.
St op t he appropriat e list ener, edit listener.ora and rest art t he
list ener. If t he list ener in quest ion serves ot her dat abases, just edit t he
listener.ora f ile and run lsnrctl reload listener_name.
Copy t he newly creat ed /home/oracle/initnew_sid.ora t o
$ORACLE_HOME/dbs/initnew_sid.ora t hen edit t he new f ile and
change t he db_name paramet er.

You may, if desired, delet e t he old f iles


$ORACLE_HOME/dbs/initold_sid.ora and
$ORACLE_HOME/dbs/spfileold_sid.ora as t hey are no longer
needed. (Unless you plan on renaming t he dat abase back again of
course!)
Export ORACLE_SID as t he new sid. ORACLE_HOME will remain t he same
as bef ore.
Run t he orapwd command t o creat e a new password f ile if required.
St art up t he dat abase.
create spfile='oracle_home/dbs/spfilenew_sid.ora' from
pfile; Obviously subst it ut ing t he correct values f or new_sid and
oracle_home.
Shut down and rest art t he dat abase t o use t he new spf ile.
Check it all just worked:
select name from v$database;
show parameter db_name
T hat s t he simple bit and in t heory is all you need t o do. However, be aware
t hat any dat a f iles, cont rol f iles, recovery f ile dest inat ions et c st ill have t heir
old f ormat names. You may end up wit h a dat abase called fred locat ed in
/srv/barney/oradata f or example. If you wish t o go down t he rout e of
renaming everyt hing t o suit t he dat abase name, see part 2 of t his discussion,
here.
As t he cont rol f iles are not overwrit t en by t his process, and because t he DBID
doesnt change, all your RMAN backup inf ormat ion is saf e and even af t er t he
dat abase has been renamed, you can use an old backup t o rest ore and
recover t he dat abase. Ive t est ed t his on a t ablespace recovery t o be sure.
Ok, when I say your backups are saf e, t hey are, but if you t ry t o
rest ore t he cont rolf ile f rom an old pre-rename dump, it will rest ore
wit h no errors. However, when you at t empt t o mount t he dat abase
you will be inf ormed t hat t he name in t he cont rolf ile doesnt mat ch
t he dat abase. Edit t he rest ored cont rolf ile(s) t o change t he name
and cont inue.
Im pret t y sure t hat because t he DBID doesnt change, an RMAN cat alogue will
not lose any backup det ails eit her. On my t est syst em, I dont yet have a
cat alogue t o play wit h, so best you t est on an expendable dat abase f irst . Just
saying!
Online and backed up archived logs as well as t he online redo logs are used
quit e happily t o apply any required REDO.
It just works!

You might also like