日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle處理損壞數(shù)據(jù)塊的處理操作

你是否在實(shí)際操作中遇到過這樣的狀況,有的時侯Oracle的數(shù)據(jù)文件只損壞了相關(guān)的數(shù)據(jù)塊而其他的東西卻完好無損。產(chǎn)生這樣的原因主要是因?yàn)殚g斷或隨機(jī)的I/O錯誤或是內(nèi)存塊的錯誤。這時可以不用做整個數(shù)據(jù)文件的恢復(fù),使datafile仍然處在在線的狀態(tài)。對此可以進(jìn)行下面幾種Oracle處理損壞數(shù)據(jù)塊的處理操作。

成都創(chuàng)新互聯(lián)主營蒼溪網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),蒼溪h5成都微信小程序搭建,蒼溪網(wǎng)站營銷推廣歡迎蒼溪等地區(qū)企業(yè)咨詢

** Oracle 9i 以后可以使用blockrecover命令(BMR):

可以先通過視圖v$database_block_corruption獲得當(dāng)前被損壞數(shù)據(jù)的數(shù)據(jù)塊信息。此視圖中記錄了物理和邏輯兩類block corruption。

@ 物理的corruption:無法辨識該數(shù)據(jù)塊,checksum、header、footer校驗(yàn)錯誤

@ 邏輯corruption:chechsum、header、footer校驗(yàn)是正確的,但是該數(shù)據(jù)塊的內(nèi)容時不一致的。

注意:BMR是不能用于恢復(fù)邏輯上的corruption的。在backup命令中checksum的校驗(yàn)是默認(rèn)開啟的,可以通過NOCHECKSUM選項(xiàng)屬性關(guān)閉。邏輯的校驗(yàn)?zāi)J(rèn)是關(guān)閉的,可以在backup、restore、recover、validate命令中添加CHECK LOGICAL開啟。

具體的操作方法為:

 
 
 
  1. rman> blockrecover datafile n1 block n1b1,
    n1b2 datafile n2 block n2b1,n2b2; 

** 對于用戶管理的備份和恢復(fù)方法。如果要恢復(fù)Oracle處理損壞數(shù)據(jù)的DB,只能進(jìn)行整個數(shù)據(jù)文件的恢復(fù)。

 
 
 
  1. sql> alter database datafile 2 offline;  
  2. sql> host ‘cp /backup/datafile1.bak /opt/demo/datafile1.dt’;  
  3. sql> recover automatic datafile 2;  
  4. sql> alter database datafile 2 online;  

** 如果對于存在corruption block的表的使用不頻繁,在可以忍受的情況下,可以先屏蔽這些blocks,待以后再恢復(fù)。這就要使用dbms_repair包了。具體如下:

@ 建立修復(fù)表(修復(fù)表用于存放表、表分區(qū)或索引的損壞塊信息)。

 
 
 
  1. sql> exec dbms_repair.admin_tables
    (’REPAIR_TABLE’, DBMS_REPAIR.REPAIR_TABLE, DBMS_REPAIR.CREATE_ACTION); 

@ 確定Oracle處理損壞數(shù)據(jù)塊的個數(shù)

 
 
 
  1. sql> var cc number  
  2. sql> exec dbms_repair.check_object
    (’TBSPNAME’, ‘TABNAME’, corrupt_count=>:cc);  
  3. sql> print cc  

@ 標(biāo)記損壞塊。

 
 
 
  1. sql> var fc number  
  2. sql> exec dbms_repair.fix_corrupt_blocks
    (’TBSPNAME’, ‘TABNAME’,fix_count=>:fc);  
  3. sql> print fc;  

@ 跳過損壞塊。此操作可以使涉及到損壞塊的查詢sql繼續(xù)執(zhí)行,跳過該blocks,但是對于DML,則仍會顯示錯誤信息。

 
 
 
  1. sql> exec dbms_repair.skip_corrupt_blocks(’TBSPNAME’, ‘TABNAME’); 

@ 確定指向Oracle處理損壞數(shù)據(jù)塊的索引入口。當(dāng)上面確定了表的損壞塊后,仍有可能存在索引指向Oracle處理損壞數(shù)據(jù)塊,這些索引稱為“孤立鍵值”。對此可以使用dbms_repair包對孤立鍵值進(jìn)行管理:

 
 
 
  1. sql> exec dbms_repair.admin_tables
    (’ORPHAN_TAB’, DBMS_REPAIR, ORPHAN_TABLE, DBMS_REPAIR, CREATE_ACTION);  
  2. sql> var kc number  
  3. sql> exec dbms_repair.dump_orphar_keys
    (’TBSPNAME’,'INDEXNAME’, orphan_table_name=> ‘ORPHAN_TAB’, key_count=> :kc);  
  4. sql> print kc;  

上述的相關(guān)內(nèi)容就是對Oracle處理損壞數(shù)據(jù)塊的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. Oracle 字符串split的相關(guān)實(shí)際應(yīng)用代碼介紹
  2. Oracle創(chuàng)建Split 與Map 函數(shù)的代碼示例
  3. Oracle索引整理的詳細(xì)描述
  4. Oracle 權(quán)限入門如何管理
  5. Oracle 10G for linux常用命令淺析

名稱欄目:Oracle處理損壞數(shù)據(jù)塊的處理操作
URL標(biāo)題:http://www.5511xx.com/article/dhpccpp.html