您的位置:首页 > 数据库 > Oracle

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息