将控制文件从裸设备/dev/raw1迁移到文件系统/u01/.../control01.ctl
步骤:
1>生成创建控制文件的脚本
SQL>alter database backup controlfile to trace;
2>生成PFILE
SQL>create pfile='/u01/init.ora' from spfile;
3>关闭库,找到创建controlfile脚本
10g及以前脚本在udump下的最新trc文件里,11g在alert文件所在目录的最新trc文件里
拷贝语句生成一个创建控制文件脚本/home/oracle/cr_ctl.sh
4>修改pfile init.ora里的control_files参数为/u01/.../control01.ctl(若多份控制文件,写多个)
5>使用修改后的PFILE文件启动库到nomount状态,再执行创建控制文件的脚本
SQL>startup nomount pfile='/u01/init.ora'
SQL>@/home/oracle/cr_ctl.sh
6>恢复库
SQL>recover database
7>打开库
SQL>alter database open;
8>验证控制文件到文件系统中
SQL》select name from v$controlfile;
9>创建SPFILE
SQL>create spfile from pfile='/u01/init.ora'
10>重启库
SQL>shutdown immediate;
SQL>startup;
附:还可以使用RMAN备份方法