日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

db_block_checking與db_block_checksum

系統(tǒng) 2500 0

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

-- db_block_checking 與 db_block_checksum

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

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

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


1.db_block_checking

??????? db_block_checking 是當(dāng)block發(fā)生任何變化的時候進行邏輯上的完整性和正確性檢查。該參數(shù)能夠避免內(nèi)存中數(shù)據(jù)塊的損壞。塊

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

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

???設(shè)置參考。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數(shù)據(jù)塊寫入到磁盤時,基于塊內(nèi)的所有字節(jié)計算得出一個校驗值并將其寫入塊頭。

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

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

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

???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,非系統(tǒng)表空間中數(shù)據(jù)在邏輯上可能已經(jīng)損壞,但是 db_block_checksum 卻是無法檢查出來的(負(fù)責(zé)物

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

?

???有些情況下,比如索引塊損壞,造成通過索引無法獲得數(shù)據(jù),但是讀索引塊的時候并沒有出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這兩個參數(shù)對性能的影響

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

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

???????

5.總結(jié)

???a. 對結(jié)果進行對比,可以看出當(dāng)將兩個block參數(shù)設(shè)置為true時,其速度比為false時慢了近30%,不過此對比根據(jù)實際環(huán)境應(yīng)有所不同。

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

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

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

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

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

??????? 件損壞)引發(fā)的壞塊。但它并不偵測在內(nèi)存中已經(jīng)出錯的數(shù)據(jù)塊。不管錯誤與否,DBWn后會將其寫入到數(shù)據(jù)文件。

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

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

???????

6.快捷參考

有關(guān)性能優(yōu)化請參考

??? Oracle 硬解析與軟解析

??? 共享池的調(diào)整與優(yōu)化(Shared pool Tuning)

??? Buffer cache 的調(diào)整與優(yōu)化(一)

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

?

有關(guān)ORACLE體系結(jié)構(gòu)請參考

??? Oracle 表空間與數(shù)據(jù)文件

??? Oracle 密碼文件

??? Oracle 參數(shù)文件

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

??? Oracle 控制文件(CONTROLFILE)

??? Oracle 歸檔日志

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

??? Oracle 數(shù)據(jù)庫實例啟動關(guān)閉過程

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

??? Oracle 實例和Oracle數(shù)據(jù)庫(Oracle體系結(jié)構(gòu))

?

有關(guān)閃回特性請參考

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

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

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

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

?

有關(guān)基于用戶管理的備份和備份恢復(fù)的概念請參考

??? Oracle 冷備份

??? Oracle 熱備份

??? Oracle 備份恢復(fù)概念

??? Oracle 實例恢復(fù)

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

??? SYSTEM 表空間管理及備份恢復(fù)

??? SYSAUX表空間管理及恢復(fù)

?

有關(guān)RMAN的備份恢復(fù)與管理請參考

??? RMAN 概述及其體系結(jié)構(gòu)

??? RMAN 配置、監(jiān)控與管理

??? RMAN 備份詳解

??? RMAN 還原與恢復(fù)

??? RMAN catalog 的創(chuàng)建和使用

??? 基于catalog 創(chuàng)建RMAN存儲腳本

基于catalog 的RMAN 備份與恢復(fù)

使用RMAN遷移文件系統(tǒng)數(shù)據(jù)庫到ASM

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

?

有關(guān)ORACLE故障請參考

??? ORA-32004 的錯誤處理

??? ORA-01658 錯誤

??? CRS-0215 錯誤處理

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

??? 又一例SPFILE設(shè)置錯誤導(dǎo)致數(shù)據(jù)庫無法啟動

??? 對參數(shù)FAST_START_MTTR_TARGET = 0 的誤解及設(shè)定

??? SPFILE 錯誤導(dǎo)致數(shù)據(jù)庫無法啟動(ORA-01565)

?

有關(guān)ASM請參考

??? 創(chuàng)建ASM實例及ASM數(shù)據(jù)庫

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

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

?

有關(guān)SQL/PLSQL請參考

??? SQLPlus 常用命令

??? 替代變量與SQL*Plus環(huán)境設(shè)置

??? 使用Uniread實現(xiàn)SQLplus翻頁功能

??? SQL 基礎(chǔ) -->SELECT 查詢

??? SQL 基礎(chǔ) --> NEW_VALUE 的使用

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

??? SQL 基礎(chǔ) --> 常用函數(shù)

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

??? SQL 基礎(chǔ) --> 創(chuàng)建和管理表

??? SQL 基礎(chǔ) --> 多表查詢

??? SQL 基礎(chǔ) --> 過濾和排序

??? SQL 基礎(chǔ) --> 子查詢

??? SQL 基礎(chǔ) --> 分組與分組函數(shù)

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

??? SQL 基礎(chǔ) --> ROLLUP與CUBE運算符實現(xiàn)數(shù)據(jù)匯總

??? PL/SQL --> 游標(biāo)

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

??? PL/SQL --> 語言基礎(chǔ)

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

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

??? PL/SQL --> 包的創(chuàng)建與管理

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

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

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

??? PL/SQL --> DML 觸發(fā)器

??? PL/SQL --> INSTEAD OF 觸發(fā)器

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

??? PL/SQL --> 函數(shù)

??? PL/SQL --> 動態(tài)SQL

??? PL/SQL --> 動態(tài)SQL的常見錯誤

?

有關(guān)ORACLE其它特性

??? Oracle 常用目錄結(jié)構(gòu)(10g)

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

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

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

??? Oralce OMF 功能詳解

??? Oracle 用戶、對象權(quán)限、系統(tǒng)權(quán)限 ?

? ?? Oracle 角色、配置文件

??? Oracle 分區(qū)表

??? Oracle 外部表

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

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

??? 數(shù)據(jù)泵 EXPDP 導(dǎo)出工具的使用

??? 數(shù)據(jù)泵 IMPDP 導(dǎo)入工具的使用

??? 導(dǎo)入導(dǎo)出 Oracle 分區(qū)表數(shù)據(jù)

??? SQL*Loader使用方法

??? 啟用用戶進程跟蹤

??? 配置非默認(rèn)端口的動態(tài)服務(wù)注冊

??? 配置ORACLE 客戶端連接到數(shù)據(jù)庫

??? system sys,sysoper sysdba 的區(qū)別

??? 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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 兴宁市| 饶平县| 中牟县| 镇原县| 扎兰屯市| 资中县| 堆龙德庆县| 康乐县| 雅安市| 涟源市| 钟山县| 萍乡市| 宁城县| 九寨沟县| 福安市| 汝南县| 天祝| 宁乡县| 二手房| 石台县| 柳州市| 长宁县| 莱西市| 都匀市| 邢台市| 济源市| 昌宁县| 伊金霍洛旗| 民权县| 浮山县| 五大连池市| 仲巴县| 榆中县| 寻甸| 双辽市| 黔南| 阿拉尔市| 晋城| 金秀| 株洲县| 新和县|