控制文件中记载了数据库的当前状态。
一、存放内容:
1、 数据库名;
2、 数据库标示符;
3、 联机及归档日志文件名称、位置;
4、 当前日志序列号;
5、 检查点信息;
6、 数据文件名称、位置;
7、 表空间信息;
8、 备份信息、状态。
二、从控制文件中获取信息的数据字典:
1、 v$database
2、 v$log
3、 v$logfile
4、 v$datafile
5、 v$tempfile
6、 v$tablespace
7、 v$archived
8、 v$archived_log
9、 v$backup
10、 v$loghist
三、查看控制文件的配置
通过v$controlfile_record_section:
Select type,record_size,record_total,records_used from v$controlfile_record_section;
查看数据库有哪些控制文件(两个视图):
1、 v$parameter:
select value from v$parameter where name=’control_files’;
2、 v$controlfile:
select * from v$controlfile;
四、添加和移动控制文件
(一)、使用PFILE的情况
1、 查看控制文件位置信息(利用v$controlfile);
2、 正常关闭数据库(非abort方式);
3、 修改PFILE中的control_files参数,添加或者修改控制文件信息;
4、 利用操作系统命令,移动或者拷贝控制文件到添加或者修改的位置;
5、 启动数据库;
6、 查询v$controlfile验证添加或者修改的信息生效;
7、 无误则删除旧的控制文件。
(二)、使用SPFILE的情况
1、查看控制文件位置信息(利用v$controlfile);
2、alter system set control_files=’控制文件1’,’控制文件2’,… scope=spfile;
3、正常关闭数据库;
4、利用操作系统命令,移动或者拷贝控制文件到添加或者修改的位置;
5、启动数据库;
6、查询v$controlfile验证添加或者修改的信息生效;
7、无误则删除旧的控制文件。
五、控制文件备份
1、 alter database backup controlfile to ‘位置’;
2、 alter database backup controlfile to trace; 备份到追踪文件中