
控制文件是oracle数据库最稳重要的文件,一旦控制文件损坏,则数据库无法顺利启动,且修复非常麻烦。
未确保控制文件的安全性,经常采用多路复用控制文件和备份控制文件。
正常情况下数据库会自动创建两个控制文件,但是我们再实际管理中,仍需创建一个或多个控制文件进行备份。
查看现有控制文件情况
打开cmd窗口,输入命令sqlplus sys/sys@localhost/orcl as sysdba登录到本机的oracle数据库
登陆oracle数据库后,输入命令 select name as 控制文件 from v$controlfile;
回车后,可以看到当前控制文件所在的文件路径及文件名。
可以看到当前系统又两个控制文件
可以分别根据文件路径进入到文件夹查看该控制文件
多路复用控制文件方法
多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢复。
比如这里要将控制文件备份到D:/中的import文件夹中去(文件夹可以自定义新建)
在sql命令框中输入命令alter system set control_files ='D:LZBORADATAORCLCONTROL01.CTL','D:LZBFAST_RECOVERY_AREAORCLCONTROL02.CTL','D:importCONTROL03.CTL' scope=spfile;回车执行,其中'D:importCONTROL03.CTL' 就是新的控制文件所在路径和文件名
更改control_files文件参数后,需要关闭数据库后才能对控制文件进行备份。
在sql命令行中输入shutdown immediate;关闭数据库
关闭成功后,需要手动将control01.ctl的控制文件复制到新建的文件夹import中去,可以ctrl+C然后ctrl+v粘贴,也可以安装ctrl后直接拖拽进行复制。
复制控制文件后需要手动将文件夹改为control03.ctl
控制文件备份后,在sql查看输入命令startup启动数据库
启动数据库后,我们可以用命令select name as 控制文件 from v$controlfile;再次查看控制文件,可以看到新增的控制文件control03.ctl