ITPub博客

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

control file parallel write事件小记

Linux操作系统 作者:浮云暖暖 时间:2014-07-07 10:43:34 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/26366530/viewspace-1211113/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-09

  • 博文量
    71
  • 访问量
    75757