Friday, January 27, 2012

Change Database name

We all know how to change the database name by recreating the control file. However, I consider this is a risky operation especially if you have a large database that takes many hours to recover. Start with Oracle 10g, we can use a new tool called nid to do the same thing without do resetlogs operation, plus the DB ID is not changed.

servername$nid target=sys/ dbname=newsidname setname=yes
DBNEWID: Release 11.2.0.1.0 - Production on Wed Jan 25 10:43:08 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to database sidname (DBID=3903245474)
Connected to server version 11.2.0
Control Files in database:
/ora01/app/oracle/oradata/oldsidname/control01.ctl
/ora02/app/oracle/oradata/oldsidname/control02.ctl
Change database name of database oldsidname to newsidname? (Y/[N]) => Y
Proceeding with operation
Changing database name from oldsidname to newsidname
Control File /ora01/app/oracle/oradata/oldsidname/control01.ctl - modified
Control File /ora02/app/oracle/oradata/oldsidname/control02.ctl - modified
Datafile /ora01/app/oracle/oradata/oldsidname/system01.db - wrote new name
Datafile /ora01/app/oracle/oradata/oldsidname/sysaux01.db - wrote new name
Datafile /ora01/app/oracle/oradata/oldsidname/undotbs01.db - wrote new name
Datafile /ora02/app/oracle/oradata/oldsidname/users01.db - wrote new name
Datafile /ora01/app/oracle/oradata/oldsidname/temp01.db - wrote new name
Control File /ora01/app/oracle/oradata/oldsidname/control01.ctl - wrote new name
Control File /ora02/app/oracle/oradata/oldsidname/control02.ctl - wrote new name
Instance shut down
Database name changed to newsidname.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.

No comments:

Post a Comment