亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

db_block_checking與db_block_checksum

系統 2149 0

--************************************

-- db_block_checking 與 db_block_checksum

--************************************

??? db_block_checking與db_block_checksum兩個參數都是對block進行檢查,然而兩者很容易混淆。事實上,兩個參數中前者是對塊做邏

輯性檢查,后者則是做物理性檢查。兩者各司其職,并不矛盾。下面分別給出具體描述。


1.db_block_checking

??????? db_block_checking 是當block發生任何變化的時候進行邏輯上的完整性和正確性檢查。該參數能夠避免內存中數據塊的損壞。塊

???的檢查將對系統會有1%到10%的性能影響。取決于對db_block_checking參數的設置。頻繁的DML將使得塊檢查帶來更多的開銷。在系統

???負荷允許的情形下建議設置為full。該參數對SYSTEM表空間始終是處于“打開”狀態,而不管該參數是否設置為OFF。下面是該參數的

???設置參考。FALSE和TRUE是為了老版本的兼容。

??????? Property???????????? Description

??????? ---------------???? ------------

??????? Parameter type???????? String

??????? Syntax???????????????????????? DB_BLOCK_CHECKING = { FALSE| OFF| LOW | MEDIUM | TRUE| FULL}? -->OFF(=FALSE),FULL(=TRUE)

??????? Defaultvalue??????? ????? FALSE

??????? Modifiable????????? ? ? ? ? ALTER SYSTEM

??????? Basic?????????????? ? ? ? ? ?? No

??????????????????????????????

2.db_block_checksum

??????? db_block_checksum 用于DBWn和direct loader數據塊寫入到磁盤時,基于塊內的所有字節計算得出一個校驗值并將其寫入塊頭。

???在該參數設置為typical和full時,當讀入時候重新計算校驗和寫出時候的校驗對比,如果不同則認為是塊損壞。如果設置為FULL模式

???,則基于update/delete應用程序語句級別的改變發生后,校驗值會被重新計算并寫入。同時對于日志塊,在寫入之前,同樣會生產校

???驗值并寫入到塊頭。該參數主要是防止IO硬件和IO子系統的錯誤。如果設置為OFF則只對系統表空間有效。下面是該參數的設置參考。

???FALSE和TRUE是為了老版本的兼容。

??????? Property???????????? Description

??????? ---------------???? ------------

??????? Parameter type???????? String

??????? Syntax???????????????????????? DB_BLOCK_CHECKSUM = { OFF| FALSE| TYPICAL | TRUE| FULL}? -->OFF(=FALSE),FULL(=TRUE)

??????? Defaultvalue???????? ? ?? TYPICAL

???????Modifiable?????????????????? ALTER SESSION,ALTER SYSTEM

??????? Basic??????????????? ????????? No

?

3.存在的問題

???如果db_block_checking = off,非系統表空間中數據在邏輯上可能已經損壞,但是 db_block_checksum 卻是無法檢查出來的(負責物

???理層面的校驗),原樣寫到磁盤原樣讀到內存,因為它只校驗塊在寫出后和讀入之間是否發生變化而不檢查寫出前是否存在邏輯上的正確。

?

???有些情況下,比如索引塊損壞,造成通過索引無法獲得數據,但是讀索引塊的時候并沒有出1578錯誤,有可能是這個原因。

???SQL>ho oerr ora 1578

???01578,00000,"ORACLE data block corrupted (file # %s, block # %s)"

???// *Cause:? Thedatablockindicated was corrupted, mostly due tosoftware

???//????????? errors.

???// *Action: Try torestorethesegmentcontaining theblockindicated. This

???//???? ?????may involve dropping thesegmentandrecreating it. Ifthere

???//????????? isa tracefile,report theerrorsinit toyour ORACLE

???//????????? representative

?

4.db_block_checking和db_block_checksum這兩個參數對性能的影響

???下面的例子中做一個測試來查看該參數對性能的影響。實際上,環境的不同將使得測試結果會大相庭徑。

????? a. 創建測試對象???????
??? b. 修改兩個參數為FALSE???????
? ?? c. 對測試表test中三次分別插入100,000行數據????????????
????? 從上面的結果可以看出插入100百萬條記錄所需的最長時間為56.87秒,最短的時間為59.13,平均時間為58.5233。
??? d. 修改兩個參數為TRUE???????
??? e. 再次測試表test中三次分別插入100,000行數據???????????
?????? 從上面的結果可以看出插入100百萬條記錄所需的最長時間為03:01.66秒,最短的時間為02:49.15,平均時間為02:57秒左右。

???????

5.總結

???a. 對結果進行對比,可以看出當將兩個block參數設置為true時,其速度比為false時慢了近30%,不過此對比根據實際環境應有所不同。

?? b. 對于性能上的差異而言,當設置兩個block參數設置為true時,將需要更多的CPU資源來生成校驗值以及進行內存塊的驗證。同時,

??????? 該操作容易引起redo copy latch的持有時間增加和引起這個latch的競爭。

?? c. 不管db_block_checking和db_block_checksum這兩個參數的值為何值,SYSTEM表空間都會進行做checking和checksum,可以通過隱含

??????? 參數_db_always_check_system_ts設置為FALSE,但為了SYSTEM表空間數據安全,不建議將這個隱含參數值設置為FALSE。

?? d. checksum 通過校驗結構夠保證寫入到數據文件與從數據文件讀取的塊前后兩者是一致的。通常對于偵測由于IO操作(磁盤損壞,硬

??????? 件損壞)引發的壞塊。但它并不偵測在內存中已經出錯的數據塊。不管錯誤與否,DBWn后會將其寫入到數據文件。

?? e. checking 則正好彌補了checksum的不足,它對數據塊在內存提供一致性驗證,確保每一個數據塊的完整性。

?? f. 更多關于Block checking, http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1094433279412

???????

6.快捷參考

有關性能優化請參考

??? Oracle 硬解析與軟解析

??? 共享池的調整與優化(Shared pool Tuning)

??? Buffer cache 的調整與優化(一)

??? Oracle 表緩存(caching table)的使用

?

有關ORACLE體系結構請參考

??? Oracle 表空間與數據文件

??? Oracle 密碼文件

??? Oracle 參數文件

??? Oracle 聯機重做日志文件(ONLINE LOG FILE)

??? Oracle 控制文件(CONTROLFILE)

??? Oracle 歸檔日志

??? Oracle 回滾(ROLLBACK)和撤銷(UNDO)

??? Oracle 數據庫實例啟動關閉過程

??? Oracle 10g SGA 的自動化管理

??? Oracle 實例和Oracle數據庫(Oracle體系結構)

?

有關閃回特性請參考

??? Oracle 閃回特性(FLASHBACK DATABASE)

??? Oracle 閃回特性(FLASHBACK DROP &RECYCLEBIN)

??? Oracle 閃回特性(Flashback Query、Flashback Table)

??? Oracle 閃回特性(Flashback Version、Flashback Transaction)

?

有關基于用戶管理的備份和備份恢復的概念請參考

??? Oracle 冷備份

??? Oracle 熱備份

??? Oracle 備份恢復概念

??? Oracle 實例恢復

??? Oracle 基于用戶管理恢復的處理 (詳細描述了介質恢復及其處理)

??? SYSTEM 表空間管理及備份恢復

??? SYSAUX表空間管理及恢復

?

有關RMAN的備份恢復與管理請參考

??? RMAN 概述及其體系結構

??? RMAN 配置、監控與管理

??? RMAN 備份詳解

??? RMAN 還原與恢復

??? RMAN catalog 的創建和使用

??? 基于catalog 創建RMAN存儲腳本

基于catalog 的RMAN 備份與恢復

使用RMAN遷移文件系統數據庫到ASM

?? RMAN 備份路徑困惑(使用plus archivelog時)

?

有關ORACLE故障請參考

??? ORA-32004 的錯誤處理

??? ORA-01658 錯誤

??? CRS-0215 錯誤處理

??? ORA-00119,ORA-00132 錯誤處理

??? 又一例SPFILE設置錯誤導致數據庫無法啟動

??? 對參數FAST_START_MTTR_TARGET = 0 的誤解及設定

??? SPFILE 錯誤導致數據庫無法啟動(ORA-01565)

?

有關ASM請參考

??? 創建ASM實例及ASM數據庫

??? ASM 磁盤、目錄的管理

?? ? 使用 ASMCMD 工具管理ASM目錄及文件

?

有關SQL/PLSQL請參考

??? SQLPlus 常用命令

??? 替代變量與SQL*Plus環境設置

??? 使用Uniread實現SQLplus翻頁功能

??? SQL 基礎 -->SELECT 查詢

??? SQL 基礎 --> NEW_VALUE 的使用

??? SQL 基礎 --> 集合運算(UNION 與UNION ALL)

??? SQL 基礎 --> 常用函數

??? SQL 基礎 --> 視圖(CREATE VIEW)

??? SQL 基礎 --> 創建和管理表

??? SQL 基礎 --> 多表查詢

??? SQL 基礎 --> 過濾和排序

??? SQL 基礎 --> 子查詢

??? SQL 基礎 --> 分組與分組函數

??? SQL 基礎 --> 層次化查詢(START BY ... CONNECT BY PRIOR)

??? SQL 基礎 --> ROLLUP與CUBE運算符實現數據匯總

??? PL/SQL --> 游標

??? PL/SQL --> 異常處理(Exception)

??? PL/SQL --> 語言基礎

??? PL/SQL --> 流程控制

??? PL/SQL --> PL/SQL記錄

??? PL/SQL --> 包的創建與管理

??? PL/SQL --> 隱式游標(SQL%FOUND)

??? PL/SQL --> 包重載、初始化

??? PL/SQL --> DBMS_DDL包的使用

??? PL/SQL --> DML 觸發器

??? PL/SQL --> INSTEAD OF 觸發器

??? PL/SQL --> 存儲過程

??? PL/SQL --> 函數

??? PL/SQL --> 動態SQL

??? PL/SQL --> 動態SQL的常見錯誤

?

有關ORACLE其它特性

??? Oracle 常用目錄結構(10g)

??? 使用OEM,SQL*Plus,iSQL*Plus管理Oracle實例

??? 日志記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)

??? 表段、索引段上的LOGGING與NOLOGGING

??? Oralce OMF 功能詳解

??? Oracle 用戶、對象權限、系統權限 ?

? ?? Oracle 角色、配置文件

??? Oracle 分區表

??? Oracle 外部表

??? 使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

??? 簇表及簇表管理(Index clusteredtables)

??? 數據泵 EXPDP 導出工具的使用

??? 數據泵 IMPDP 導入工具的使用

??? 導入導出 Oracle 分區表數據

??? SQL*Loader使用方法

??? 啟用用戶進程跟蹤

??? 配置非默認端口的動態服務注冊

??? 配置ORACLE 客戶端連接到數據庫

??? system sys,sysoper sysdba 的區別

??? ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

??? Oracle 補丁全集 (Oracle 9i 10g 11g Path)

??? Oracle 10.2.0.1 升級到 10.2.0.4

??? Oracle 徹底 kill session

?


db_block_checking與db_block_checksum


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 正在播放国产乱子伦视频 | 欧美日韩中文亚洲v在线综合 | 国产精品久久久久9999 | 欧美性久久久久 | 青青草国产三级精品三级 | 欧美一级全部免费视频 | 天天操夜夜做 | 成年女人毛片免费观看中文w | 夜色私人影院永久入口 | 最新亚洲精品国自产在线观看 | 欧美在线播放成人免费 | 一级女人18毛片免费 | 色综合日本 | 久久这里是精品 | 久久久久久久国产精品影院 | 日韩天堂在线 | 99精品高清视频一区二区 | 夜色私人影院永久地址入口 | 成人免费一级毛片在线播放视频 | 羞羞视频在线观看视频 | 国产综合91 | 特级黄色 | 国产成人教育视频在线观看 | 国产一区 在线视频 | 婷婷综合五月中文字幕欧美 | 尤物国产在线精品福利一区 | 18视频在线观看 | 国产亚洲自在精品久久 | 精品国产一区二区三区成人 | 四虎在线观看视频 | 狠狠色综合色综合网络 | 呦女www | 欧美最猛的24k毛片视频 | 久久亚洲精中文字幕冲田杏梨 | 久久久社区 | 亚洲精品在线免费看 | 伊人久久久综在合线久久在播 | 成人国产精品 | 一级毛片在线观看免费 | 欧美xxxxbbbb在线播放 | 婷婷爱五月 |