|
感觉自己一直对一些基本概念没有精确的了解,所以查查DOC复习一下。 checkpoint是什么?checkpoint就是CKPT process,当它被触发的时候告诉database writer process DBWT,把内存中的脏数据写入到磁盘中,完成这个以后,checkpoint进程会更新数据文件头,并在控制文件中记录checkpoint的完成。 checkpoint的主要目的就是为了同步高速缓冲区(内存)和磁盘的信息。 每个checkpoint都记录一系列获得活跃的事务和记录最近的事务的日志的地址。一次checkpoint包含以下步骤: 1. 1把redo buffers的内容刷到redo log中。 2. 2在redo log file中留下一个checkpoint记录。 3. 3把database buffer cache的变更刷新到磁盘。 4. 4在checkpoint完成后,更新数据文件头和控制文件。 Oracle checkpoint的频率和数据库在崩溃后的恢复时间有紧密的联系。因为checkpoint的时候atabase writer processes把所有的修改更新到磁盘,越频繁的checkpoints,就越少的数据需要恢复当数据库崩溃的时候。不过,checkpoint会带来一定性能开销。Oracle可以自动的进行checkpoint调整,从而到达最佳的效率和性能,而你不需要设置checkpoint的相关 参数。自动Checkpoint调整,通过设置FAST_START_MTTR_TARGET初始化参数为0,或者为空,你就可以启动checkpoint自动管理。这就意味着你不用设置任何参数来告诉Oracle发生checkpoint的频率。这将使得你的数据库崩溃后恢复所消耗的时间为一个合理的值。 在什么时候,会发生checkpoint呢?以下几种情况会触发 checkpoint。 1.当发生日志组切换的时候,减少crash后的recovery时间。 2.当符合 LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target 参数设置的时候 LOG_CHECKPOINT_TIMEOUT 默认1800秒 LOG_CHECKPOINT_INTERVAL 默认 0 fast_start_mttr_target 默认,如果被指定,会覆盖LOG_CHECKPOINT_INTERVAL fast_start_io_target,10g以后已经抛弃。 3.当 ALTER SYSTEM SWITCH LOGFILE,ALTER SYSTEM CHECKPOINT 4.当 alter tablespace XXX begin backup,end backup 5.当 alter tablespace ,datafile offline ; SCN是什么?The System Change Number system change number (SCN)是一个非常重要的标记,Oracle使用它来标记数据库在过去时间内的状态和轨迹。 当你从一个表查询数据的时候,你不会影响数据的状态,但是当你修改、插入或者删除数据的时候,数据库的状态就和之前发生了变化。Oracle使用SCN来保存所有变化的轨迹。SCN是一个逻辑时钟来记录数据库事件。它非常的重要,并不是只是为了恢复。 SCN有点类似于sequence,Oracle在SGA中增加它。当一个事务修改或者插入数据,Oracle首先写入一个新的SCN到回滚段中。log writer进程立刻把提交的记录写入到重做日志中,这条提交的记录将拥有唯一的SCN。事实上,把SCN写入到日志,就意味着一个事务的完成。SCN帮助Oracle决定在一次突然中断或者SHUTDOWN ABORT后,是否需要一个崩溃恢复。每当数据库发生checkpoint,Oracle 写一个START SCN命令到数据文件头。控制文件维护着每个数据文件 的SCN,称为STOP SCN,通常是无穷大,每当实例正常关闭(SHUTDOWN NORMAL or SHUTDOWN IMMEDIATE),Oracle会复制数据文件头START SCN到控制文件的STOP SCN。如果是正常的重启数据库,是不需要恢复的,因为控制文件和数据文件的SCN是吻合的。反之,突然中断系统就没法同步SCN,SCN不匹配,Oracle就认为需要做恢复。 另外Oracle还使用数据块的SCN来维护查询的一致性和多版本。 如何获得数据库的SCN呢? SQL> select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHANGE_NUMBER ------------------------ 7831154747459
|
一共有 1 条评论