Oracle控制文件(10g)
2012-05-11 21:13
288 查看
作用:
二进制文件
记录了数据库当前实例的结构和行为,数据文件日志文件的信息,维护数据库一致性
参数文件中定义了控制文件的位置和大小
很小的二进制文件,一般不超过100m
mount阶段open以后,一直在用
一套控制文件只能连接一个database
分散放置,至少一份,至多八份
相关视图:
v$controlfile ---- 列出实例的所有控制文件的名字和状态
v$parameter ---- 列出所有参数的位置和状态(where name='control_files')
v$controlfile_recode_section ---- 提供控制文件的记录部分的信息
show parameter control_files ---- 列出控制文件的名字、状态和位置
查看控制文件内容:
strings $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl
alter database backup controlfile to trace as '<filepath&name>'
转储控制文件:
alter system set events 'immediate trace name controlf level 10'
level 1 块头
level 2 文件内容
level 3 1+2
level 10 全部
管理控制文件:
spfile 修改spfile参数control_files(alter……)
一致性关闭数据库
增加或减少控制文件
启动数据库使用spfile
验证结果
pfile 一致性关闭数据库
修改pfile参数
增加或减少控制文件
启动数据库使用spfile
验证结果
状态查询:参数和具体文件是否对应、磁盘空间剩余、控制文件<100M
热备控制文件:
数据库归档模式下,alter database backup controlfile to '<fpath&name>'
其他模式下:alter database backup controlfile to trace as '<fpath&name>'得到建立控制文件脚本
数据库归档模式下rman备份:
rman target /
>backup current controlfile; or
>backup database include current controlfile;
rman自动备份控制文件:
>show all中的configure controlfile autobackup设置为on
>configure controlfile autobackup on
问题解决:
控制文件不一致:
1. 拷贝新版本的控制文件到旧版本文件
2. 修改参数文件,只使用新版本的文件(alter system set……),重启
控制文件丢失:
【mount阶段,使用archive log list可以查看数据库是否在归档模式下】
1. 控制文件无备份
a.数据库非归档,数据文件联机日志文件存在 --- 重建控制文件
>create controlfile reuse database <sid> noarchivelog noresetlogs datafile <'datafiles'> logfile <group X 'logfiles' size Y>
2. 控制文件有备份
a.数据库归档,数据文件联机和归档日志文件存在 --- 还原控制文件
先全备,再将控制文件拷贝到参数指定的路径,然后>alter database recover database using backup controlfile until change;
二进制文件
记录了数据库当前实例的结构和行为,数据文件日志文件的信息,维护数据库一致性
参数文件中定义了控制文件的位置和大小
很小的二进制文件,一般不超过100m
mount阶段open以后,一直在用
一套控制文件只能连接一个database
分散放置,至少一份,至多八份
相关视图:
v$controlfile ---- 列出实例的所有控制文件的名字和状态
v$parameter ---- 列出所有参数的位置和状态(where name='control_files')
v$controlfile_recode_section ---- 提供控制文件的记录部分的信息
show parameter control_files ---- 列出控制文件的名字、状态和位置
查看控制文件内容:
strings $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl
alter database backup controlfile to trace as '<filepath&name>'
转储控制文件:
alter system set events 'immediate trace name controlf level 10'
level 1 块头
level 2 文件内容
level 3 1+2
level 10 全部
管理控制文件:
spfile 修改spfile参数control_files(alter……)
一致性关闭数据库
增加或减少控制文件
启动数据库使用spfile
验证结果
pfile 一致性关闭数据库
修改pfile参数
增加或减少控制文件
启动数据库使用spfile
验证结果
状态查询:参数和具体文件是否对应、磁盘空间剩余、控制文件<100M
热备控制文件:
数据库归档模式下,alter database backup controlfile to '<fpath&name>'
其他模式下:alter database backup controlfile to trace as '<fpath&name>'得到建立控制文件脚本
数据库归档模式下rman备份:
rman target /
>backup current controlfile; or
>backup database include current controlfile;
rman自动备份控制文件:
>show all中的configure controlfile autobackup设置为on
>configure controlfile autobackup on
问题解决:
控制文件不一致:
1. 拷贝新版本的控制文件到旧版本文件
2. 修改参数文件,只使用新版本的文件(alter system set……),重启
控制文件丢失:
【mount阶段,使用archive log list可以查看数据库是否在归档模式下】
1. 控制文件无备份
a.数据库非归档,数据文件联机日志文件存在 --- 重建控制文件
>create controlfile reuse database <sid> noarchivelog noresetlogs datafile <'datafiles'> logfile <group X 'logfiles' size Y>
2. 控制文件有备份
a.数据库归档,数据文件联机和归档日志文件存在 --- 还原控制文件
先全备,再将控制文件拷贝到参数指定的路径,然后>alter database recover database using backup controlfile until change;
相关文章推荐
- oracle 10g 管理控制文件
- oracle 10g rac asm上面的控制文件损坏既增加方法
- 控制文件损坏或者丢失的Oracle 10g数据库恢复控制文件一例
- Oracle 10g 关于控制文件的等待事件
- ORACLE 10g ASM 控制文件多路复用
- oracle 10g控制文件存储信息
- oracle 10g rac 添加控制文件
- ORACLE 10g将数据文件,日志文件和控制文件迁移到不同的路径
- Oracle 10G RAC ASM - 控制文件多路存储
- SuSE 10 Enterprise 下 Oracle 10g 关于找不到initorcl.ora文件和控制文件问题
- oracle 10G减少和增加控制文件个数
- oracle 10G控制文件因介质失败导致全部不可用的恢复
- ORACLE重建控制文件,ORA-01122;ORA-01110;ORA-01207问题解决经验总结
- oracle模拟控制文件的损坏进行操作
- Oracle 控制文件
- Oracle 11g导出来的dmp导入到 10g的数据库(IMP-00010:不是有效的导出文件,头部验证失败)
- Oracle控制文件解析
- oracle的控制文件(control file)
- Oracle 数据库如何修改控制文件的位置
- oracle物理体系结构--控制文件