重命名数据库(bb-->aa)
OS:windows 2003
1.创建备份控制文件的跟踪文件;
alter database backup c ontrfile to trace as 'aa_ctl.sql';
更改aa_ctl.sql中的内容,最后,sql语句的形式应该与以下的例子相似,在下面的例子中,数据库的名称设置为aa;
CREATE CONTROLFILE set DATABASE "aa" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\REDO01.LOG' SIZE 50M, GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\REDO02.LOG' SIZE 50M, GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\REDO03.LOG' SIZE 50M DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\SYSTEM01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\UNDOTBS01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\SYSAUX01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\USERS01.DBF', 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\aa\EXAMPLE01.DBF' CHARACTER SET ZHS16GBK ; |
2.更改initbb.ora中的所有bb字段为aa
******* |
3.备份数据库,包括控制文件的备份.(可以使联机备份,也可以使脱机备份).
4关闭数据库.修改数据库中对路径数据文件进行重命名,这些操作将在第1步创建的sql文件中执行.注意:一定要删除控制文件.否则会出现错误:
SQL> @c:\aa_ctl.sql CREATE CONTROLFILE set DATABASE "aa" RESETLOGS NOARCHIVELOG * 第 1 行出现错误: ORA-01503: CREATE CONTROLFILE ?? ORA-00200: ???????? ORA-00202: ????: ''C:\ORACLE\PRODUCT\10.2.0\ORADATA\AA\CONTROL01.CTL'' ORA-27038: ????????? OSD-04010: ?????? ????, ?????????????? |
5.启动实例:
startup nomount;
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
6.执行第一步创建的sql脚本.
SQL> @c:\aa_ctl.sql
控制文件已创建。
7.发出recover database 命令;
recover database;
8.打开数据库:
alter database open resetlogs;
9.改变数据库的全局名称:
alter database rename global_name to aa;
10.执行完整的数据库备份.
在重命名操作前,应该确保已经拥有完整的数据库备份和原控制文件的副本,同时也要确保在重命名操作执行后立即对数据库进行备份.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21340813/viewspace-615362/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21340813/viewspace-615362/