Prior to the introduction of the DBNEWID utility alteration of the internal DBID of an instance was impossible and alteration of the DBNAME required the creation of a new controlfile. The DBNEWID utility allows the DBID to be altered for the first time and makes changing the DBNAME simpler. Changing the DBID is necessary when you want to use an RMAN catalog to backup a cloned instance. RMAN identifies instances using the DBID, preventing the original and cloned instance being managed by the same catalog. Alteration of the BID in the cloned instance removes this restriction.
SHUTDOWN IMMEDIATE STARTUP MOUNT
nid TARGET=sys/password@TSH1 DBNAME=TSH2Assuming the validation is successful the utility prompts for confirmation before performing the actions. Typical output may look something like:
C:\oracle\920\bin>nid TARGET=sys/password@TSH1 DBNAME=TSH2 DBNEWID: Release 9.2.0.3.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. Connected to database TSH1 (DBID=1024166118) Control Files in database: C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL Change database ID and database name TSH1 to TSH2? (Y/[N]) => Y Proceeding with operation Changing database ID from 1024166118 to 1317278975 Changing database name from TSH1 to TSH2 Control File C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL - modified Control File C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL - modified Control File C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL - modified Datafile C:\ORACLE\ORADATA\TSH1\SYSTEM01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\UNDOTBS01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\CWMLITE01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\DRSYS01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\EXAMPLE01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\INDX01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\ODM01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\TOOLS01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\USERS01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\XDB01.DBF - dbid changed, wrote new name Datafile C:\ORACLE\ORADATA\TSH1\TEMP01.DBF - dbid changed, wrote new name Control File C:\ORACLE\ORADATA\TSH1\CONTROL01.CTL - dbid changed, wrote new name Control File C:\ORACLE\ORADATA\TSH1\CONTROL02.CTL - dbid changed, wrote new name Control File C:\ORACLE\ORADATA\TSH1\CONTROL03.CTL - dbid changed, wrote new name Database name changed to TSH2. Modify parameter file and generate a new password file before restarting. Database ID for database TSH2 changed to 1317278975. All previous backups and archived redo logs for this database are unusable. Shut down database and open with RESETLOGS option. Succesfully changed database name and ID. DBNEWID - Completed succesfully.
SHUTDOWN IMMEDIATE
STARTUP MOUNT ALTER SYSTEM SET DB_NAME=TSH2 SCOPE=SPFILE; SHUTDOWN IMMEDIATE
orapwd file=c:\oracle\920\database\pwdTSH2.ora password=password entries=10
oradim -delete -sid TSH1 oradim -new -sid TSH2 -intpwd password -startmode a -pfile c:\oracle\920\database\spfileTSH2.oraIf you are using UNIX/Linux simply reset the ORACLE_SID environment variable.
ORACLE_SID=TSH2; export ORACLE_SID
lsnrctl reload
STARTUP MOUNT ALTER DATABASE OPEN RESETLOGS;
Repeat the process as before except use the following command to start the DBNEWID utility.
nid TARGET=sys/password@TSH2 DBNAME=TSH3 SETNAME=YES
The SETNAME parameter tells the DBNEWID utility to only alter the database name.
When opening the database the RESETLOGS option is not needed so the database can be started using the STARTUP
command.
SHUTDOWN IMMEDIATE STARTUP MOUNT
nid TARGET=sys/password@TSH3
SHUTDOWN IMMEDIATE STARTUP MOUNT ALTER DATABASE OPEN RESETLOGS;
For further information see:
Hope this helps. Regards Tim...
Back to normal view: https://oracle-base.com/articles/9i/dbnewid