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.
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.
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.
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.
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!