中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sysaux表空間數據庫塊損壞/游離塊的修復

發布時間:2020-05-13 03:13:02 來源:網絡 閱讀:681 作者:三國冷 欄目:數據庫

  客戶那邊的數據庫久無人維護,近期反映服務器空間不夠。在檢查服務器空間時,我又偶然發現了數據庫的備份出現問題。

  經檢查是數據庫sysaux表空間存在一個壞塊,存在壞塊的表是WRH$_ENQUEUE_STAT,在測試庫上查詢數據后,我確定該表的數據對整個系統的運行影響不大。

  此時沒有RMAN備份可以使用,block recover無法使用。于是決定將表刪除重建。不過這么做之后,原有的數據塊反而變成了游離塊。為了修復游離塊,我就在測試庫上開始做測試。

1、模擬數據庫損壞

1)模擬數據庫的損壞可以使用ddbd,該工具的配置可以參考以下鏈接:

http://www.cnblogs.com/jyzhao/p/5139584.html

2)模擬要損壞的塊

select file_id,block_id from dba_extents where segment_name='WRH$_ENQUEUE_STAT';

結果是file_id=2,block_id=4440

modify /x 62 file 2 block 4440 offset 255;

3)rman命令中,執行 backup validate database或者 backup validate datafile 2;

使用視圖v$database_block_corruption查看backup操作發現的損壞的塊。

select * from v$database_block_corruption;

4)表刪除并且重建,發現file2 4440變成了游離塊

select * from dba_extents where file_id=2 and 4440 between block_id-1 and block_id+1;#查詢無數據

2、壞塊修復

1)表空間修改為不能自動增長

alter database datafile 2 autoextend off;

2)在sysaux上創建實體表

create table test(id varchar(50)) tablespace sysaux;

3)插入數據直到報ORA01653的錯誤,連insert into test values('aaaaaaaaaa')都執行失敗

insert into test values('aaaaaaaaaa');

commit;


insert into test

select *

from test;

commit;


4)再創建一張實體表

create table test_2(id varchar(50)) tablespace sysaux;

-- 查看file 2 block_id 4440 是否有數據

select * from dba_extents where file_id=2 and 4440 between block_id-1 and block_id+1;#模擬到此步,file 2 block_id 4440查詢出來為test_2的數據。


5)刪除測試表

drop table test_1;

drop table test;


6)表空間增長模式改為自動增長

alter database datafile 2 autoextend on;


7) 在RMAN中測試備份,可以正常執行全備。

RMAN>backup incremental level 0 database;


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江孜县| 甘肃省| 象州县| 武义县| 玉林市| 宜兰县| 东城区| 阿合奇县| 博罗县| 荔浦县| 河南省| 天台县| 温宿县| 勐海县| 旬邑县| 海林市| 开鲁县| 泸州市| 达州市| 辰溪县| 白玉县| 巴林右旗| 无锡市| 汽车| 通榆县| 象山县| 肥西县| 普格县| 东乡县| 安图县| 敦煌市| 库车县| 商丘市| 乌兰察布市| 普陀区| 霸州市| 哈巴河县| 焦作市| 治多县| 南陵县| 达尔|