国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Oracle中修復數據塊的損壞

瀏覽:2日期:2023-11-11 17:19:20

1、先創建一個用于實驗的表空間

create tablespace block datafile size 1M extent management local–因為是11g所以使用了AMS

alter user ff default tablespace block;

alter user ff quota unlimited on block;

2、損壞數據文件

關閉database后用編輯器隨便修改幾個字符,然后啟動database

當訪問相關被損壞的block時,將會遇到錯誤

3、對此使用dbv檢查數據文件

dbv file=block.dbf blocksize=8192

假設獲得第35塊被損壞了

4、恢復步驟

①select tablespace_name, segment_type, owner, segment_name from dba_extents where file_id=4 and 35 between block_id and block_id+blocks-1;

如果確定損失的是數據,就ok

設置內部事件,設置在全表掃描時跳過損壞的數據塊

alter system set events=’10231 trace name context forever,level 10′;

隨后,可以用exp和imp進行導入導出,進行恢復。但這畢竟導致相依blocks中數據的丟失。

②rman的塊媒體恢復(BMR)

使用BMR恢復可以大量降低恢復的時間,可以使datafile仍然處于在線的狀態。RMAN在BMR恢復時,先在full或level 0的備份集中查詢相應的塊的內容,并恢復,隨后使用 redo log進行恢復,而不使用level 1備份集。

在恢復之前,首先要查找到corrupt blocks:在db中,v$database_block_corruption 視圖顯示了rman、analyze、dbv和sql查詢等操作中獲悉的corrupt block信息。此視圖記錄的記錄數據有兩類:

*物理的corruption:無法辨識該數據塊,checksum、header、footer校驗錯誤

*邏輯corruption:chechsum、header、footer校驗是正確的,但是該數據塊的內容時不一致的。

注意:BMR是不能用于恢復邏輯上的corruption的。在backup命令中checksum的校驗是

默認開啟的,可以通過NOCHECKSUM選項屬性關閉。邏輯的校驗默認是關閉的,可以

在backup、restore、recover、validate命令中添加CHECK LOGICAL開啟。

@@進行BMR的條件

1)target db必須運行在歸檔模式下,并以當前的控制文件open或mounted

2)If the target database is a standby database, then it must be in a consistent state, recovery cannot be in session, and the backup must be older than the corrupted file.

3)數據文件的備份集必須是full或level 0

4)對于BMR,rman只使用已經歸檔的redo logs

5)flashback db開啟時,rman可以用flashback logs查找corrupt block在corrupt之前的鏡像,用于恢復,加快恢復速度。

使用恢復命令恢復指定的數據塊

標簽: Oracle 數據庫
相關文章:
主站蜘蛛池模板: 深圳市| 六安市| 武义县| 平阴县| 永兴县| 寻甸| 兴仁县| 遵义县| 怀宁县| 焦作市| 康保县| 思南县| 宝鸡市| 宁陵县| 阿尔山市| 高州市| 乌兰察布市| 聂荣县| 庆安县| 曲麻莱县| 大丰市| 应城市| 云梦县| 赤城县| 荣成市| 大竹县| 噶尔县| 济宁市| 广德县| 体育| 从江县| 科技| 峨眉山市| 威海市| 炎陵县| 高台县| 股票| 宕昌县| 凌海市| 绵竹市| 溆浦县|