概念說明
在達夢資料庫中,有兩個與資料檔案恢復相關的重要特性。
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 方式下,各種執行計畫的成...