OS級別備份就是通過OS直接備份所有數據庫文件,以達到備份數據庫的目的。
【適用的情況】
1、需要利用現有數據庫創建一個測試數據庫或者簡單備份數據庫;
2、需要恢復以前備份的數據,但是現有數據庫服務不能停。
【不能簡單COPY的原因】
多卷數據庫創建時是基于st文件創建的,數據庫本身存放了相關文件(比如db,bi和extent文件)的路徑信息。一般恢復備份數據等操作,如果現行數據庫不能停的話,存放的路徑肯定是不一樣的,這時是沒法啟動的,用procopy等命令也用不起,會出現諸如“the copy of xxxx”的錯誤信息。
【具體步驟】
例:原來存放在/mfg/db/psales的psales數據庫,需要從磁帶倒出并重命名為tsales的數據庫,目標路徑:/mfg/db/tsales
1、從磁帶倒出所有psales*的文件到/mfg/db/tsales目錄,并重命名為tsales*:# cd /mfg/db/tsales
注意:改變目錄以后如思路不清楚請不要隨意改變到其它目錄?。?!
# frecover -f /dev/rmt/0m -i /mfg/db/psales/psales* -xXv
這時實際上數據庫文件是恢復到:/mfg/db/tsales/mfg/db/psales目錄下的,可以逐個拷貝同時重命名(注意只要拷貝.d*和.b*和.st的文件即可),例:
# cp -p /mfg/db/tsales/mfg/db/psales/psales.db /mfg/db/tsales/tsales.db
注意使用-p參數保持文件的時間戳和權限。
2、編輯/mfg/db/tsales/tsales.st文件,修改所有的路徑設置比如:
原來:d /mfg/db/psales/psales.d1
改成:d /mfg/db/tsales/tsales.d1
3、重建數據庫路徑信息:
# prostrct repair tsales tsales.st
4、登錄數據庫試運行:
# /mfg/dlc91/bin/pro tsales
5、用probkup命令驗證數據庫完整性:
# /mfg/dlc91/bin/probkup tsales NUL
說明:probkup命令可以在線執行,同時probkup命令可以確認block級別的完整性。