进行之前请先备份一下:
1)二进制备份:
alter database backup controlfile
to 'd:\path\file_name.bkp'; 【path】路径自己选择,【file_name】文件名自己编辑。
2)脚本文件备份:
alter database backup controlfile ro trace;
【trace】路径位置通过show parameter user_dump_dest;命令查询脚本文件的备份位置。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
开始删除控制文件,仅保存一个完好的控制文件!
开启服务OracleDBConsoleorcl 和 OracleServiceORCL
尝试登陆数据库报错:ORA-01033
------------------------------------------------------------通过sysdba恢复---------------------------------------------------------------------------------------
在doc命令下输入sqlplus system/[password] as sysdba 登陆成功后使用control_files函数设置控制文件复路文件,
alter system set control_files =
'F:\path\control01.ctl' , 'F:\path\control02.ctl' , 'E:\path\control03.ctl'
scope = spfile;
分别存放于【磁盘E】和【磁盘F】为备份安全考虑!
关闭服务OracleDBConsoleorcl 和 OracleServiceORCL
复制完好的控制文件逐条路径覆盖控制文件
开启服务OracleDBConsoleorcl 和 OracleServiceORCL
通过select name from v$controlfile;语句查看控制文件是否生效!