1.1 备份控制文件脚本
SQL> alter database backup controlfile to trace as '/home/oracle/control1.sql';
Database altered.
[oracle@rhel6 ~]$ cat control1.sql
CREATE CONTROLFILE set DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'/u01/app/oradata/orcl/redo01_a.log',
'/u01/app/oradata/orcl/redo01_b.log'
) SIZE 50M,
GROUP 2 (
'/u01/app/oradata/orcl/redo02_a.log',
'/u01/app/oradata/orcl/redo02_b.log'
) SIZE 50M,
GROUP 3 (
'/u01/app/oradata/orcl/redo03_a.log',
'/u01/app/oradata/orcl/redo03_b.log'
) SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oradata/orcl/system01.dbf',
'/u01/app/oradata/orcl/undotbs01.dbf',
'/u01/app/oradata/orcl/sysaux01.dbf',
'/u01/app/oradata/orcl/users01.dbf',
'/u01/app/oradata/orcl/example01.dbf',
'/u01/app/oradata/orcl/rman01.dbf',
'/u01/app/oradata/orcl/sjb02.dbf',
'/u01/app/oradata/orcl/sjb01.dbf',
'/u01/app/oradata/orcl/t_drop01.dbf',
'/u01/app/oradata/orcl/undotbs201.dbf'
CHARACTER SET AL32UTF8
;
1.2 干净的关闭数据库和监听器,dbconsole
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@rhel6 ~]$ lsnrctl stop
[oracle@rhel6 ~]$ emctl stop dbconsole
1.3 修改相关目录名和文件名
[oracle@rhel6 ~]$ mv /u01/app/oradata/ora10g/ /u01/app/oradata/orcl
[oracle@rhel6 ~]$ mv /u01/app/flash_recovery_area/ORA10G/ /u01/app/flash_recovery_area/ORCL
[oracle@rhel6 ~]$ mv /u01/app/admin/ora10g/ /u01/app/admin/orcl
[oracle@rhel6 ~]$ cd $ORACLE_HOME/dbs
[oracle@rhel6 dbs]$ mv orapwora10g orapworcl
[oracle@rhel6 dbs]$ mv spfileora10g.ora spfileorcl.ora
[oracle@rhel6 dbs]$ export ORACLE_SID=orcl
[oracle@rhel6 dbs]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 15 15:43:34 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> create pfile from spfile;
File created.
SQL> exit
Disconnected
[oracle@rhel6 dbs]$ sed -i 's/ora10g/orcl/g' initorcl.ora
[oracle@rhel6 ~]$ mv /u01/app/oradata/orcl/control0* /tmp
1.4 重新创建控制文件,恢复数据库,完成数据库的更名操作
[oracle@rhel6 dbs]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Jul 15 15:45:32 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> create spfile from pfile;
File created.
SQL> @/home/oracle/control1.sql;
Control file created.
SQL> recover database using backup controlfile until can