zoukankan      html  css  js  c++  java
  • [bbk5378] 第89集 第11章 数据库诊断 05

    oracle在内存中操作数据块,达到一定条件后,往磁盘文件上去读或者写的时候,会检查是否存在坏块.

    db_block_checksum参数设置成off的时候,Oracle只针对系统表空间的数据块进行检查,非系统表空间则不关心.

    假如db_block_checksum=typical,oracle会在由内存写到磁盘的时候,会检查是否存在坏块.

    假如db_block_checksum=full,oracle会在执行DML操作之前,都会检查是否存在坏块.不管是内存中的还是磁盘上的块,只要发生insert,delete,update发生多少次就会检查多少次,如果是内存中的,当往磁盘中写的时候还要检查,提高了数据的安全性,牺牲了数据库性能能.毕竟安全第一嘛,还是值得的.不过oracle推荐值,默认值是typical。

    解读db_lost_write_protect参数:

      none,表空间丢失写保护的功能没有打开

      typical,对于可读可写的表空间,其丢失写保护的功能打开.

      full,对于只读性的表空间,其丢失数据写保护的功能打开.

    假如想实现数据库块的恢复,首先需要识别出哪些块坏了,坏在哪个表空上,哪个数据文件上,要实现上述要求,首先需要设置Oracle初始化参数,来开启此项功能,具体设置要求如下:

    DB_ULTRA_SAFE OFF DATA_ONLY DATA_AND_INDEX
    DB_BLOCK_CHECKING OFF or FALSE MEDIUM FULL or TRUE
    DB_BLOCK_CHECKSUM TYPICAL FULL FULL
    DB_BLOCK_WRITE_PROTECT TYPICAL TYPICAL TYPICAL

    表功能性解读:当DB_ULTRA_SAFE设置为OFF时,DB_BLOCK_CHECKING自动设置为OFF or FALSE

                            DB_BLOCK_CHECKSUM自动设置为TYPICAL

                            DB_BLOCK_WRITE_PROTECT自动设置为TYPICAL

    Block Media Recovery

    • Lowers the mean time to recover(MTTR)
    • Increases availability during media recovery
      • -The data file remains online during recovery
      • -Only blocks being recovered are inaccessible
    • Is invoked using the RMAN RECOVER...BLOCK command
      • Restores blocks using flashback logs and full or level 0 backups
      • Media recovery is performed using redo logs
    • The V$DATABASE_BLOCK_CORRUPTION view displays blocks marked corrupt.

    在进行坏块恢复的时候,数据库处于Online状态,其他无损的块任然可以正常访问,只是修复坏块;如此以来提高了数据库的可访问性.    

    Prerequisites for Block Media Recovery(块媒介恢复的先决条件)

    • The target database must be in ARCHIVELOG mode.
    • The backups of the data files containing the corrupt blocks must be full or level 0 backups
      • -Proxy copies must be restored to a non-default location before they can be used.
    • RMAN can use only archived redo logs for the recovery.
    • The corrupted data block can be restored form Flashback logs if available.

    The RECOVER...BLOCK Command

    The RMAN RECOVER...BLOCK command:

    • Identifies the backups containing the blocks to recover
    • Reads the backups and accumulates requested blocks into in-memory buffers
    • Manages the block media recovery session by reading the archive logs from backup if necessary.
    RECOVER DATAFILE 6 BLOCK 3;--Recover a single block
    
    
    
    RECOVER        --Recover multiple blocks in multiple data files
    DATAFILE 2 BLOCK 43
    
    DATAFILE 2 BLOCK 79
    
    DATAFILE 6 BLOCK 183;
    
    
    
    RECOVER CORRUPTION LIST; --Recover all blocks logged in V$DATABASE_BLOCK_CORRUPTION
  • 相关阅读:
    <!--[if IE 9]>....<!end if-->
    背景颜色设置
    UIImageView 响应UIButton的点击事件
    响应键盘return事件
    iOS 封装数据请求,解析数据(异步)
    UIImageView 圆角
    JS 控制文本框必须输入值才能查询
    MVC4 @Html.Raw()
    JS加成显示
    随机生成人物名称
  • 原文地址:https://www.cnblogs.com/arcer/p/3119235.html
Copyright © 2011-2022 走看看