Changing the DBID of a database is a serious procedure. When the DBID of a database is changed, all previous backups and archived logs of the database become unusable. This is similar to creating a database except that the data is already in the data files. After you change the DBID, backups and archive logs that were created before the change can no longer be used because they still have the original DBID, which does not match the current DBID. You must open the database with the RESETLOGS
option, which re-creates the online redo logs and resets their sequence to 1. Consequently, you should make a backup of the whole database immediately after changing the DBID.
Changing the DBNAME without changing the DBID does not require you to open with the RESETLOGS
option, so database backups and archived logs are not invalidated. However, changing the DBNAME does have consequences. You must change the DB_NAME
initialization parameter after a database name change to reflect the new name. Also, you may have to re-create the Oracle password file. If you restore an old backup of the control file (before the name change), then you should use the initialization parameter file and password file from before the database name change.
Do not change the DBID or DBNAME of a database if you are using a capture process to capture changes to the database. See Oracle Streams Concepts and Administration for more information about capture processes.
If you are dealing with a database in a distributed database system, then each database should have a unique global database name. The DBNEWID utility does not change global database names. This can only be done with the SQL ALTER
DATABASE
statement, for which the syntax is as follows:
ALTER DATABASE RENAME GLOBAL_NAME TO newname.domain;
The global database name is made up of a database name and a domain, which are determined by the DB_NAME
and DB_DOMAIN
initialization parameters when the database is first created.
The following example changes the database name to sales
in the domain us
.example
.com
:
ALTER DATABASE RENAME GLOBAL_NAME TO sales.us.example.com
You would do this after you finished using DBNEWID to change the database name.
Oracle Database Administrator's Guide for more information about global database names