oracleocp題庫dba經(jīng)典輔助學(xué)習(xí)oracle10g管理ii_第1頁
oracleocp題庫dba經(jīng)典輔助學(xué)習(xí)oracle10g管理ii_第2頁
oracleocp題庫dba經(jīng)典輔助學(xué)習(xí)oracle10g管理ii_第3頁
oracleocp題庫dba經(jīng)典輔助學(xué)習(xí)oracle10g管理ii_第4頁
oracleocp題庫dba經(jīng)典輔助學(xué)習(xí)oracle10g管理ii_第5頁
免費預(yù)覽已結(jié)束,剩余23頁可下載查看

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、處理數(shù)據(jù)庫損壞課程目標(biāo) 學(xué)完本課后,應(yīng)能完成下列工作: 確定數(shù)據(jù)庫損壞的原因: 硬件 軟件 使用下列功能檢測數(shù)據(jù)庫損壞: ANALYZE DBVERIFY DB_BLOCK_CHECKING DBMS_REPAIR 使用 RMAN 修復(fù)數(shù)據(jù)庫損壞什么是塊損壞 只要對塊執(zhí)行讀或?qū)懖僮?,就會?zhí)行下列一致性檢查 塊版本 高速緩存中的 DBA(數(shù)據(jù)塊地址)值與塊緩沖區(qū)中的 DBA 值比較的結(jié)果 塊校驗和(如果啟用) 由于下列原因之一確定為損壞的塊: 介質(zhì)損壞 邏輯(或軟件)損壞塊損壞故障現(xiàn)象:ORA-01578 錯誤 ORA-01578:“ORACLE data block corrupted (fi

2、le # %s, block # %s)”: 發(fā)現(xiàn)損壞的數(shù)據(jù)塊時生成此信息 始終返回絕對文件號和絕對塊號 返回到發(fā)布查詢的會話(該查詢在發(fā)現(xiàn)損壞時執(zhí)行) 在 alert.log 文件中顯示如何處理損壞 檢查預(yù)警日志和操作系統(tǒng)日志文件。 使用可用的診斷工具,找出損壞的類型。 多次運行檢查功能,確定錯誤是否持續(xù)存在。 根據(jù)需要,從損壞的對象中恢復(fù)數(shù)據(jù)。如何處理損壞 解決硬件問題: 內(nèi)存條 磁盤控制器 磁盤 根據(jù)需要,從損壞的對象中恢復(fù)或還原數(shù)據(jù)與損壞相關(guān)的功能 TRUE 無 塊介質(zhì)恢復(fù) TRUE 邏輯 閃回 TRUE 邏輯 DBMS_REPAIR FALSE 邏輯 DB_BLOCK_CHECKIN

3、G 物理 物理 邏輯 物理 檢測到的損壞 FALSE DB_BLOCK_CHECKSUM FALSE exp FALSE ANALYZE FALSE DBVERIFY 修復(fù)損壞 功能DBVERIFY 實用程序 只能檢查數(shù)據(jù)文件;不能檢查重做日志文件 檢查塊一致性 可以在打開數(shù)據(jù)庫的情況下使用 該實用程序的名稱:dbv$ dbv file=/u01/oradata/users01.dbf blocksize=8192 解釋 DBVERIFY 輸出 一個“page”表示一個塊。 如果塊的頭尾不匹配,DBVERIFY 就會重新讀取此塊。如果塊的頭尾匹配,則報告一個流入塊;否則報告一個塊損壞。 Tot

4、al Pages Examined : 12800 Total Pages Processed (Data) : 4408 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 1264 . . . Total Pages Marked Corrupt : 4 Total Pages Influx : 0 Highest block SCN : 654836 (0.654836) ANALYZE 命令 執(zhí)行邏輯塊檢查 不將塊標(biāo)記為軟損壞;只報告軟損壞情況 驗證索引項和表項SQL ANALYZE TABLE table_nam

5、e VALIDATE 2 STRUCTURE CASCADE; SQL ANALYZE INDEX index_name VALIDATE 2 STRUCTURE; 實時驗證塊完整性:DB_BLOCK_CHECKING DB_BLOCK_CHECKING 初始化參數(shù): 在對每個塊執(zhí)行自我一致性檢查時,控制檢查的處理程度 可防止內(nèi)存和數(shù)據(jù)損壞 可以使用 ALTER SESSION 或 ALTER SYSTEM DEFERRED 命令進(jìn)行設(shè)置實時驗證塊完整性: DB_BLOCK_CHECKSUM DB_BLOCK_CHECKSUM 初始化參數(shù): 確定是否保持校驗和,以及是否對每個塊都進(jìn)行驗證 可以

6、防止由底層 I/O 系統(tǒng)引起的損壞a14f使用 EXP 檢測損壞 可以使用常規(guī)導(dǎo)出來檢測損壞。$ exp hr/hr tables=departments About to export specified tables via Conventional Path . . . exporting table DEPARTMENTS EXP-00056: ORACLE error 1578 encountered ORA-01578: ORACLE data block corrupted (file # 5, block # 51) ORA-01110: data file 5: /u01/a

7、pp/oracle/oradata/orcl/example01.dbf使用閃回檢查邏輯損壞 DBA用戶 撤消 SQL 或閃回表發(fā)現(xiàn)損壞的數(shù)據(jù)閃回版本查詢閃回事務(wù)查詢DBMS_REPAIR 程序包 可用過程 CHECK_OBJECT FIX_CORRUPT_BLOCKS DUMP_ORPHAN_KEYS REBUILD_FREELISTS SEGMENT_FIX_STATUS SKIP_CORRUPT_BLOCKS ADMIN_TABLES使用 DBMS_REPAIR 1. 檢測并報告損壞。 2. 評估 DBMS_REPAIR 的成本和優(yōu)勢。 SET SERVEROUTPUT ONDECLAR

8、E num_corrupt INT;BEGIN num_corrupt := 0; DBMS_REPAIR.CHECK_OBJECT ( schema_name = HR, object_name = DEPARTMENTS, repair_table_name = REPAIR_TABLE, corrupt_count = num_corrupt);END;使用 DBMS_REPAIR 3. 使對象變?yōu)榭捎?。SET SERVEROUTPUT ONDECLARE num_fix INT;BEGIN num_fix := 0; DBMS_REPAIR.FIX_CORRUPT_BLOCKS ( s

9、chema_name = HR, object_name = DEPARTMENTS, object_type = DBMS_REPAIR.TABLE_OBJECT, repair_table_name = REPAIR_TABLE, fix_count = num_fix);END;使用 DBMS_REPAIR 4. 修復(fù)損壞并重建丟失的數(shù)據(jù)。 SET SERVEROUTPUT ONDECLARE num_orphans INT;BEGIN num_orphans := 0; DBMS_REPAIR.DUMP_ORPHAN_KEYS ( schema_name = SCOTT, object

10、_name = PK_DEPT, object_type = DBMS_REPAIR.INDEX_OBJECT, repair_table_name = REPAIR_TABLE, orphan_table_name = ORPHAN_KEY_TABLE, key_count = num_orphans); DBMS_OUTPUT.PUT_LINE(orphan key count: | TO_CHAR(num_orphans);END;塊介質(zhì)恢復(fù) (BMR) 塊介質(zhì)恢復(fù): 降低平均恢復(fù)時間 (MTTR) 提高介質(zhì)恢復(fù)期間的可用性 恢復(fù)期間數(shù)據(jù)文件保持聯(lián)機(jī)狀態(tài) 只有正在恢復(fù)的塊是不可訪問的 可

11、以通過 RMAN 使用 BLOCKRECOVER 命令進(jìn)行調(diào)用 從可用備份中還原個別塊 與服務(wù)器協(xié)調(diào)工作恢復(fù)塊介質(zhì)BLOCKRECOVER 命令 RMAN BLOCKRECOVER 命令: 識別包含要進(jìn)行恢復(fù)的塊的備份 讀取備份并將請求的塊累積到內(nèi)存緩沖區(qū) 必要時,通過從備份中讀取歸檔日志來管理塊介質(zhì)恢復(fù)會話 不能用于不完全恢復(fù)RMAN BLOCKRECOVER DATAFILE 6 BLOCK 3; 使用 BLOCKRECOVER 的示例 恢復(fù)一組損壞的塊 按還原類型限制塊介質(zhì)恢復(fù) 按備份標(biāo)記限制塊介質(zhì)恢復(fù) 按時間、SCN 或日志序列限制塊介質(zhì)恢復(fù)RMAN BMR 接口 動態(tài)視圖顯示損壞的當(dāng)前狀態(tài)。 V$DATABASE_BLOCK_CORRUPTION 視圖顯示當(dāng)前損壞的數(shù)據(jù)庫塊的列表。 V$BACKUP_CORRUPTION 視圖顯示數(shù)據(jù)文件備份中損壞的塊的列表。 V$COPY_CORRUPTION 視圖顯示圖像文件副本中損壞的塊的列表。RMAN BLOCKRECOVER CORRUPTION LIST 2 RESTORE UNTIL TIME sysdate 10; 可以采用的替代操作 表:損壞的塊中的數(shù)據(jù)已丟失。 刪除然后重新創(chuàng)建表,再從導(dǎo)出轉(zhuǎn)儲中導(dǎo)入數(shù)據(jù)。 使用 SQL 或 PL/SQL,將數(shù)據(jù)從該表移到一個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論