如何利用DM7特性去快速恢復資料檔案

2021-10-10 14:41:14 字數 1335 閱讀 6075

概念說明

在達夢資料庫中,有兩個與資料檔案恢復相關的重要特性。

1)表空間檔案失效檢查

在liunx系統中,由於被程序開啟的檔案仍可以在os系統中被刪除,因此dm7存在資料檔案被誤刪的風險。

表空間檔案失效檢查,就是能夠以自動或手動的方式檢測出被刪除的資料檔案,並立刻停止相關表空間的使用。

在引數檔案dm.ini中指定 fil_check_interval 值,可以設定自動檢查資料檔案是否存在的時間間隔。也可以使用手動方式,通過執行系統過程sp_file_sys_check()去檢查資料檔案是否存在。

dm7系統一旦檢測出某個表空間內的資料檔案被刪除,則與該錶空間所有的操作都將會失敗,並報錯該錶空間內資料檔案被刪除。

2)表空間失效檔案恢復。

linux系統中被刪除的檔案,只要其控制代碼沒有被關閉,那可以在/proc//fd中找到其對應的檔案副本。利用此辦法,結合dm7系統過程,就可以做到快速恢復被誤刪除的資料檔案,步驟如下:

1、首先我們先呼叫達夢資料庫自帶的系統過程 sp_tablespace_prepare_recover (tablespace_name),準備恢復。

2、通過作業系統ps命令找到當前dmserver的pid:ps –ef|grep dmserver

3、使用作業系統ls命令檢視被刪除檔案對應的副本:ls /proc// fd –l

4、使用作業系統cp命令將檔案複製到原位置。

5、最後一步,複製完成後,我們呼叫系統過程sp_tablespace_recover(ts_name)完成失效檔案的恢復。

恢復示例

下面我們就在測試環境下進行一次恢復演練。

1)準備測試環境

2) os模擬刪除資料檔案

這裡刪除表空間bigdata的資料檔案bigdata02.dbf

dm7中再次執行剛才的查詢語句,並沒有報錯,這是因為dm7預設不啟動表空間檔案失效檢查

手動執行系統過程sp_file_sys_check(),進行手工表空間失效檢查,再次執行查詢語句,報錯提示檔案已被刪除。

3)恢復資料檔案

首先我們呼叫達夢資料庫自帶的系統過程 sp_tablespace_prepare_recover (tablespace_name) 準備恢復。

然後,查詢dm7程序id和被刪除的檔案。

以上可以看到,達夢程序下的第49號檔案被標記為deleted狀態。

再將檔案複製到原來的位置。

然後我們呼叫達夢資料庫自帶的系統過程sp_tablespace_recover(ts_name)完成表空間失效檔案的恢復。

最後驗證恢復結果。

參考文件

dm7系統管理員手冊 — 第15章資料庫布局和儲存管理 — 15.1管理表空間

利用DBLINK實現DM7到ORACLE的跨庫訪問

例項名 ip位址 作業系統版本 資料庫版本 orcl 192.168.10.92 windows xp pro sp3 32位 oracle database enterprise edition release 11.2.0.1.0 32 bit windows dameng 192.168.10...

dm7審計設定

審計設定 審計開關由 dm 的 ini 引數 enable audit 控制 0 關閉審計 1 開啟普通審計 2 開啟普通審計和實時審計 檢視審計的值 select from v parameter where name enable audit 設定enable audit為1 sp set pa...

DM7統計資訊

一 什麼是統計資訊 統計資訊主要是描述資料庫中表 索引的大小 規模 資料分布狀況等的一類資訊。比如,表的行數 塊數 平均每行的大小 索引的leaf blocks 索引欄位的行數 不同值的大小等,都屬於統計資訊。cbo正是根據這些統計資訊資料,計算出不同訪問路徑 不同join 方式下,各種執行計畫的成...