問:公司裡的oracle數據庫有20G之大(這是一個方案的大小.原來這個方案有30G,我已經把能刪的數據都刪了),怎麼備份?感覺備份一次好慢啊.專家有什麼指導一下的嗎?(另:20G的數據庫是不是備份也要20G這樣?)我希望能每周備份一次,最好每天一次.
答:方法一:首選需要在UNIX下創建一個管道(只創建一次即可):
$mknod ./exp_pipe p
$ ls -l exp_pipe
prw-rw-r-- 1 report group 0 Mar 17 05:20 exp_pipe
然後通過管道,將EXP導出的數據直接壓縮,注意:下面二行要寫在同一個shell腳本中。
compress < ./exp_pipe > ./tmp_now.dmp.Z &
exp user/passwd@數據庫連接串 file=./exp_pipe direct=y compress=no log=./exp.log
20G的DMP文件,壓縮後的大小在4G左右。
方法二:考慮到機器的速度和效率的問題,一般不建議使用exp對數據量大的數據庫進行備份,因為比較慢。oracle的rman備份可以支持增量備份,你可以自己設置一個備份策略,好比每周日做一次數據庫全備份(level 0 級的備份),然後周一周二做增量備份(level 1 級的備份),周三在做一次數據庫全備份(level 0),最後周四、周五、周六做數據庫的增量備份(level 1)。這樣既可以保證你的備份在大部分時間內比較快,而且也可一保證在需要恢復時較快。具體的備份策略要根據你的要求而定,我只是舉個例子。
介紹一下什麼是Oracle的rman備份:
Oracle 的RMAN備份- -
查看那當前使用那個spfile文件 :
SQL> select name,value from v$parameter where name='spfile';
1。檢查數據庫的歸檔方式。如果不是規定方式,則要修改數據庫為歸檔方式。