控制文件是用于描述物理数据库当前状态的二进制文件。
丢失控制文件则数据库无法使用,必须加以修复。
数据库加载阶段需要根据控制文件中的信息判断数据库的状态。
控制文件很重要,所以应该设置多份拷贝(通常为3份)。
1,数据库名字和标识符
2,数据库创建时间戳
3,表空间名字 (添加或删除表空间时记录)
4,数据文件和redo日志文件的名字和位置
5,当前redo日志文件序列号 (做log switch时记录)
6,检查点信息 (做checkpoint时记录)
7,undo段的起始点和结束点
8,redo日志归档信息 (日志归档时记录)
9,备份信息 (由RMAN负责维护)
1,修改spfile
SQL> alter system set control files = '$ORACLE_BASE/oradata/gldb/control01.ctl','$ORACLE_BASE/oradata/gldb/control01.ctl' scope=spfile;
2,关闭数据库
SQL> shutdown normal;
3,复制控制文件
$ cp $ORACLE_BASE/oradata/gldb/control01.ctl $ORACLE_BASE/oradata/gldb/control01.ctl
4,启动数据库
SQL> startup;
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/control01.ctl
/home/oracle/oradata/gldb/control02.ctl
/home/oracle/oradata/gldb/control03.ctl
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/control01.ctl, /home/oracle/oradata/gldb/control02.ctl
, /home/oracle/oradata/gldb/control03.ctl
SQL> show parameters control_files;
------------------------------------ ----------- ------------------------------
control_files string /home/oracle/oradata/gldb/cont
rol01.ctl, /home/oracle/oradat
a/gldb/control02.ctl, /home/or
acle/oradata/gldb/control03.ct
l