有两个方法:一是将controlfile 转出来,修改数据库名称重建;另一个是使用nib 工具修改。我这里介绍nib 工具修改操作方法。
工具nib 是Oracle 9i 开始提供的,专门用于修改数据库名称。
第一步,备份整库。
因为这种操作会有可能失败,所以必须要先备份。
第二步,将库正常关闭,再启动到mount 状态。
第三步,使用nib 修改数据库名称
修改命令为 nid target=sys/welcome1 dbname=webdb
修改完成后,提示数据库已经关闭,需要使用open resetlogs 方式打开。
第四步,打开数据库。
打开之前,需要新生成符合新数据库名称的初始化参数文件和密码文件。监听器文件也需要做针对性修改。
/u04/webdb_rman@db3=>webreader$nid target=sys/welcome1 dbname=webdb
DBNEWID: Release 10.2.0.4.0 - Production on Tue May 15 11:43:33 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to database WEBREADER (DBID=4271057885)
Connected to server version 10.2.0
Control Files in database:
+VG1/webdb/control01.ctl
+VG1/webdb/control02.ctl
+VG1/webdb/control03.ctl
Change database ID and database name WEBREADER to WEBDB? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 4271057885 to 2506031974
Changing database name from WEBREADER to WEBDB
Control File +VG1/webdb/control01.ctl - modified
Control File +VG1/webdb/control02.ctl - modified
Control File +VG1/webdb/control03.ctl - modified
Datafile +VG1/webdb/system01.dbf - dbid changed, wrote new name
Datafile +VG2/webdb/data_salebill05.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/sysaux01.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/users01.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/undotbs02.dbf - dbid changed, wrote new name
………………………
Instance shut down
Database name changed to WEBDB.
Modify parameter file and generate a new password file before restarting.
Database ID for database WEBDB changed to 2506031974.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.
DBNEWID: Release 10.2.0.4.0 - Production on Tue May 15 11:43:33 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to database WEBREADER (DBID=4271057885)
Connected to server version 10.2.0
Control Files in database:
+VG1/webdb/control01.ctl
+VG1/webdb/control02.ctl
+VG1/webdb/control03.ctl
Change database ID and database name WEBREADER to WEBDB? (Y/[N]) => Y
Proceeding with operation
Changing database ID from 4271057885 to 2506031974
Changing database name from WEBREADER to WEBDB
Control File +VG1/webdb/control01.ctl - modified
Control File +VG1/webdb/control02.ctl - modified
Control File +VG1/webdb/control03.ctl - modified
Datafile +VG1/webdb/system01.dbf - dbid changed, wrote new name
Datafile +VG2/webdb/data_salebill05.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/sysaux01.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/users01.dbf - dbid changed, wrote new name
Datafile +VG1/webdb/undotbs02.dbf - dbid changed, wrote new name
………………………
Instance shut down
Database name changed to WEBDB.
Modify parameter file and generate a new password file before restarting.
Database ID for database WEBDB changed to 2506031974.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.