ITPub博客

首页 > Linux操作系统 > Linux操作系统 > control file parallel write事件小记

control file parallel write事件小记

原创 Linux操作系统 作者:wei-xh 时间:2010-12-04 19:06:12 0 删除 编辑

通过视图V$CONTROLFILE_RECORD_SECTION可以知道,控制文件里都记录了那些内容。

SQL> select type,records_used from v$controlfile_record_section;

TYPE                         RECORDS_USED
---------------------------- ------------
DATABASE                                1
CKPT PROGRESS                           0
REDO THREAD                             1
REDO LOG                                3
DATAFILE                                4
FILENAME                                8
TABLESPACE                              5
TEMPORARY FILENAME                      1
RMAN CONFIGURATION                      0
LOG HISTORY                            54
OFFLINE RANGE                           0

TYPE                         RECORDS_USED
---------------------------- ------------
ARCHIVED LOG                            0
BACKUP SET                              0
BACKUP PIECE                            0
BACKUP DATAFILE                         0
BACKUP REDOLOG                          0
DATAFILE COPY                           0
BACKUP CORRUPTION                       0
COPY CORRUPTION                         0
DELETED OBJECT                          0
PROXY COPY                              0
BACKUP SPFILE                           0

TYPE                         RECORDS_USED
---------------------------- ------------
DATABASE INCARNATION                    2
FLASHBACK LOG                           0
RECOVERY DESTINATION                    1
INSTANCE SPACE RESERVATION              1
REMOVABLE RECOVERY FILES                0
RMAN STATUS                             0
THREAD INSTANCE NAME MAPPING            8
MTTR                                    1
DATAFILE HISTORY                        0
STANDBY DATABASE MATRIX                10
GUARANTEED RESTORE POINT                0

TYPE                         RECORDS_USED
---------------------------- ------------
RESTORE POINT                           0

已选择34行。

控制文件里记录了数据库的SCN信息,当前日志号,归档日志信息,备份集信息,数据文件信息等等。而这些信息,很多都是需要更新的,更新的频率视情况而定。更新当前日志号的信息,是发生日志切换的时候需要做的,更新备份集的信息是在用RMAN备份的时候需要做的。一般来说,大体有一下几种常见的情况:

1)日志文件过小,或者数据库DML操作太多,导致日志切换太过频繁。日志的切换都是需要更新控制文件的,此时的表现就是LGWR进程等待control file parallel write事件。

2)MTTR设置的过小,导致检查点频繁发生。我们知道控制文件里是记录SCN信息的,检查点发生的时候,是需要更新SCN的,特别是10g以后的增量检查点,当发生增量检查点的时候,会3秒更新一次控制文件中记录的RBA信息。

3)NOLOGGING 导致的频繁更新数据文件。

对数据文件在nologging选项下执行修改工作时,为了修改unrecoverable scn需要更新控制文件。这时,服务器进程将等待crontrol file parallel write事件。

4)i/o系统的性能缓慢时

最好将控制文件放在独立的磁盘空间上。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22034023/viewspace-680923/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2425347