oracle将控制文件从裸设备迁移到文件系统

将控制文件从裸设备/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备份方法

请使用浏览器的分享功能分享到微信等