1、控制文件概述每个oracle数据库必须至少有一个控制文件,用于记载数据库物理结构,每个oracle数据库应该至少有两个控制文件相互镜像,并存储在不同磁盘上防止磁盘失效控制文件记载信息包括:.数据库名称.数据文件名称和位置.重做日志名称和位置.表空间名称.当前日志序列号.检查点信息.日志历史信息单个控制文件1.查看控制文件:select * from v$controlfile;或 select value from v$parameter whee name=control_files;或 host ls -l /u01/app/oracle/oradata/ora10/control*2.备
2、份一个或移动一个控制文件:启动数据库 startup open 创建 pfile 文件create pfile from spfile;备份一个控制文件 cp control01.ctl control04.ctl,移动一个控制文件 mv control01.ctl /u01/control01.ctl 修改 pfile 文件增加备份的控制文件路径和更改移动的控制路径 vi init$ORACLE_SID.ora。然后用 pfile 启动数据库 startup open pfile=$ORACLE_HOME/dbs/init$ORACLE_SID.ora;最后 create spfile fr
3、om pfile;全部数控制文件模拟:cd /u01/app/oracle/oradata/ora10/删除全部的:rm -rf contro*启动数据库报错:startup open;把数据库启动到 nomount 下:startup nomount;重新指定新的控制文件:alter system set control_files=/u01/newcontrol01.ctl,/u01/newcontrol02.ctl scope=spfile;重新启动生效:shutdown immediate; startup nomount;查看新的控制文件:select * from v$parame
4、ter where name=control_files;查看数据库与日志文件:host ls -l /u01/app/oracle/oradata/ora10/重建控制文件:create controlfile database ora10 noresetlogs logfilegroup 1 /u01/app/oracle/oradata/ora10/redo01.log,group 2 /u01/app/oracle/oradata/ora10/redo02.log,group 3 /u01/app/oracle/oradata/ora10/redo03.logdatafile/u01/
5、app/oracle/oradata/ora10/system01.dbf,/u01/app/oracle/oradata/ora10/undotbs01.dbf,/u01/app/oracle/oradata/ora10/sysaux01.dbf,/u01/app/oracle/oradata/ora10/users01.dbf,/u01/app/oracle/oradata/ora10/example01.dbf/如可没有就不用写 character set zhs16gbk;启动数据库:alter database open;重建临时表空间:alter tablespace temp a
6、dd tempfile /u01/app/oracle/oradata/ora10/temp.dbf size 10485760 reuse autoextend off;查看控制文件:select name from v$controlfile;Host ls -l /u01/Alter database backup controlfile to/u01/a.ctl;(备份成二进制文件)Alter database backup controlfile to trace;(备份创建控制文件的脚本,在 udump 目录下)Rman 方法:开启自动备份删除全部控制文件1.Rman target
7、 /2.Startup nomount;3.Restore controlfile from autobackup;或 restore controlfile to 原来 controlfile 的路径 /控制文件名称.ctl from 备份的路径 ;如果在没有开启 自动备份的情况下,在 oracle dbs 目录下会有一个 snapcf_$ORACLE_SID.f的文件。4.alter database mount;5.restore database;6.recover database;7.alter database open resetlogs;8.recover database;/online redo log 要是坏了或者丢了就 recover database noredo;9.恢复完成