控制文件是一个二进制文件记录database结构信息。
系统启动到mount状态下会读control file。
如果控制文件所在的磁盘损坏,相关联的实例将关闭,可以用备份的控制文件启动。
####创建初始的控制文件
数据库创建时控制文件的名字由初始化参数control_files指定,control_file指定的文件名必须包含路径和文件名。
control_file =(d:\oracle\oradata\xq\control01.ctl,d:\oracle\oradata\xq\control02.ctl,d:\oracle\oradata\xq\control03.ctl)
创建数据库时如果指定的文件已存在,就必须在create database 语句中指定reuse子句重用已存在的控制文件,否则不允许创建数据库。另外,如果旧控制文件的size参数与新的控制文件不同,则不能使用reuse子句。不同oracle版本之间控制文件的大小各不相同。
####创建新的控制文件
SQL>alter system set control_files='d:\oracle\oradata\xq\control01.ctl', 新加一个control04的控制文件
d:\oracle\oradata\xq\control02.ctl,
d:\oracle\oradata\xq\control03.ctl,
d: \oracle\oradata\xq\control04.ctl scope=spfile
然后复制一个control文件改名为control04.ctl
init.ora
(1)先停止数据库
(2)修改init.ora文件在control_files参数上加入control.ora控制文件路径
(3)重起SQL>startup pfile=d:\oracle\ora90\database\initxq.ora
####删除控制文件
删除后控制文件至少应该留两个控制文件,否则不允许删除
(1)关闭数据库
(2)删除初始化参数control_files对应的控制文件行
####备份控制文件
可以在运行时备份
(1)SQL>alter database backup controlfile to 'd:\control.bak';
(2)SQL>alter database backup controlfile to trace ; 翻译成创建控制文件的脚本
保存在d:\oracle\admin\xq\udump\下
SQL>show parameter user_dump;查看
####OMF
在omf中db_create_online_log_dest_n 可以指定创建控制文件的位置
####查询控制文件信息
SQL>V$CONTROLFILE 列出数据库中控制文件的名字以及控制文件的状态
SQL>select value from v$parameter where ; 查询当前初始参数的文件值
SQL>v$controlfile_record_section 可以查询出控制文件的记录类型、大小、使用的记录数以及第一个和最后一个记录的索引位置等。
本文作者:未知