国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle損壞數據塊的處理與恢復

2024-08-29 13:53:24
字體:
來源:轉載
供稿:網友

一、    沒有備份的情況下:

   在這種情況下肯定會造成數據的丟失,在這種情況下應采取將數據導出然后重見表在進行導入的方法,來盡量恢復損壞數據塊中的數據,但是在有壞塊的情況下是不允許導出的,如下命令:

   Exp test/test file=t.dmp tables=t;

   導出命令在執行中會報ORA-01578錯誤,在這錯誤提示中會提示那個文件號的文件以及這個文件中的哪個塊被損壞,如:ORA—01578:Oracle 數據塊損壞(文件號 4,塊號 35)

  針對以上的提示首先查詢那些對象被損壞:

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;

如果被損壞的塊是索引,通常可以通過索引重建來解決,如果損壞的是數據(segment_type為table),那么通過設置如下內部事件使得Exp操作跳過壞塊。

Alter session set events=’10231 trace name context forever,level 10’;

然后重新執行導出命令,導出相關的表,然后執行Drop Table命令刪除相關表,之后重見表最后導入數據。

二、    使用Rman進行恢復:

   首先要存在Rman的最新備份集,然后執行如下命令:

RMAN>backup validate datafile 2;檢查2號數據文件是否存在壞塊

執行查詢:select * from v$database_block_corruption where file#=2;

如果2號文件存在壞塊的化,那么將在結果集中有所顯示,會顯示損壞的塊號,根據顯示結果執行如下命令進行恢復:

RMAN>blockrecover datafile 2 block 14 from backupset;

該命令執行后即可恢復壞塊,并且不會造成數據丟失,但是要求數據庫必須要運行在歸檔模式下,否則RMAN無法發揮作用,而且通過RMAN做過最新的數據庫備份。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德昌县| 遂溪县| 南京市| 寻乌县| 永定县| 政和县| 南涧| 永川市| 富裕县| 班玛县| 庄河市| 长兴县| 太康县| 伊川县| 阜宁县| 金秀| 凤凰县| 乌拉特前旗| 涟水县| 深州市| 泾阳县| 比如县| 永春县| 遵义县| 玛曲县| 肇源县| 阿巴嘎旗| 开平市| 灌南县| 西盟| 安化县| 婺源县| 二连浩特市| 裕民县| 伊吾县| 同江市| 耒阳市| 金塔县| 怀柔区| 疏附县| 太仆寺旗|