oracle資料庫備份之exp增量備份
https://blog.csdn.net/zcb_data/article/details/80280892
oracle exp增量備份實驗
https://blog.csdn.net/sinat_16741503/article/details/72876092
Oracle資料庫有三種標準的備份方法,它們分別是匯出/匯入(EXP/IMP、EXPDP/IMPDP)、熱備份和冷備份。
匯出備件是一種邏輯備份,冷備份和熱備份是物理備份。
exp支援增量備份,而expdp不支援增量備份。
exp/imp增量匯出是一種常用的資料備份方法,它只能對整個資料庫來實施,並且必須作為SYSTEM來匯出。
在進行此種匯出時,系統不要求回答任何問題。 匯出檔名預設為export.dmp ,如果不希望自己的輸出檔案定名為
export.dmp,必須在命令列中指出要用的檔名。
增量匯出包括三種型別: 完全備份,累積備份,增量備份。
執行增量備份必須滿足下列條件:
1.只對完整資料庫備份有效,且第一次需要full=y引數,以後需要inctype=incremental引數。
2. 使用者必須有EXP_FULL_DATABASE的系統角色。
下面簡單三種備份的用法以及區別:
1,完全備份:顧名思義,匯出整個資料庫所有資料
exp system/oracle inctype=complete file=full.dmp log=full.log
2,累積備份:匯出上次“完全備份”後資料庫變化的資訊
exp system/oracle inctype=cumulative file=cumulative_1.dmp log=sys_cumulative_1.log
3,增量備份:備份上次“備份”後變化的資訊
exp system/oracle inctype=incremental file=sys_cumulative_3.dmp log=sys_cumulative_3.log
例如我設定一個oracle備份策略:
週六:完全備份
週日:增量備份
週一:增量備份
週二:增量備份
週三:累積備份
週四:增量備份
週五:增量備份
那麼當週六我的資料庫被破壞了(備份之前),恢復資料庫的流程呢,那就是:
第一,用命令CREATE DATABASE重新生成資料庫結構。
第二,建立一個足夠大的附加回段。
第三,完全備份匯入(週六)
imp system/oracle inctype=RESTORE FULL=y FILE=週六完全備份檔案
第四,累積備份匯入(週三)
impsystem/oracle inctype=RESTORE FULL=y FILE=週三累積備份檔案
第五,增量備份匯入(週四)
impsystem/oracle inctype=RESTORE FULL=y FILE=週四累積備份檔案
第六,增量備份匯入(週五)
impsystem/oracle inctype=RESTORE FULL=y FILE=週五累積備份檔案
注意:使用這種方式對oracle資料庫進行備份的,有一個弊端,就是最後一次備份到資料庫當機前的資料會丟失。
--下面給大家附上一段博主自己寫的完全備份策略指令碼,累積備份和增量備份修改部分引數後即可:
#!/bin/bash
#oracle資料庫備份用指令碼,該指令碼對全庫進行備份,每週六1:00執行
##############################
##author-------***###
##############################
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
set -e
last_day=`date -d "-7 day" +%Y%m%d`
#上次資料備份時間
stime=`date +%s`
echo `date +"%F %T"`################### 全庫備份開始##################
cd /mnt/sd02/oracle_bak_68/
#備份資料存放目錄
/data/app/oracle/product/11.2.0/dbhome_1/bin/exp system/oracle inctype=complete
file=sys_all_`date +%Y%m%d`.dmp log=sys_all_`date +%Y%m%d`.log
#宣告exp路徑,有些環境下不宣告在定時任務中報錯找不到該命令
rm sys_all_${last_day}.dmp
rm sys_all_${last_day}.log
#刪除上週完全備份檔案
etime=`date +%s`
s=`echo "scale=0; ($etime - $stime)%60" | bc`
m=`echo "scale=0; ($etime - $stime)/60%60" | bc`
h=`echo "scale=0; ($etime - $stime)/60/60" | bc`
echo `date +"%F %T"`################全庫備份結束#####################
echo `date +"%F %T"` end 指令碼執行耗時 $h 小時 $m 分鐘 $s 秒
--定時任務中備份策略設定如下:
####全庫備份用指令碼,每週六早上一點執行
01 01 * * 6 sh /home/oracle/zcb/oracle_all_bak.sh >>/home/oracle/zcb/log/oracle_ a
ll_`date +"\%Y\%m\%d"`.log 2>&1
####增量備份指令碼,每週日,週一,週二,週四,週五 執行
00 01 * * 0 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in
cremental_`date +"\%Y\%m\%d"`.log 2>&1
00 01 * * 1 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in
cremental_`date +"\%Y\%m\%d"`.log 2>&1
00 01 * * 2 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in
cremental_`date +"\%Y\%m\%d"`.log 2>&1
00 02 * * 4 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in
cremental_`date +"\%Y\%m\%d"`.log 2>&1
00 01 * * 5 sh /home/oracle/zcb/oracle_incremental_bak.sh >>/home/oracle/zcb/log/oracle_in
cremental_`date +"\%Y\%m\%d"`.log 2>&1
####累積備份指令碼,每週三執行
00 01 * * 3 sh /home/oracle/zcb/oracle_cumulative_bak.sh >>/home/oracle/zcb/log/oracle_cu
mulative_`date +"\%Y\%m\%d"`.log 2>&1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2639531/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EXP增量備份
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- Jtti:sql server怎麼增量備份資料庫JttiSQLServer資料庫
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- oracle 增量備份恢復驗證Oracle
- Xtrabackup增量備份
- 每天自動備份Oracle資料庫Oracle資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- 資料庫備份資料庫
- oracle邏輯備份之--資料泵Oracle
- LINUX下ORACLE增量備份的步驟LinuxOracle
- oracle10g RMAN增量備份策略Oracle
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 企業網盤伺服器資料異地備份、遠端備份、增量備份解決方案伺服器
- mysql 資料庫 備份MySql資料庫
- 資料庫備份策略資料庫
- MongoDB資料庫備份MongoDB資料庫
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- rman 增量備份恢復
- MySQL 定時增量備份MySql
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- 使用RMAN備份資料庫資料庫
- 資料庫備份恢復資料庫
- SQL資料庫備份管理SQL資料庫
- innobackupex 備份MySQL資料庫MySql資料庫
- 資料庫備份指令碼資料庫指令碼
- mysqlpump 資料庫備份程式MySql資料庫
- mysqldump 資料庫備份程式MySql資料庫
- 備份與恢復:polardb資料庫備份與恢復資料庫
- BMMySQL定時備份資料庫(全庫備份)的實現meuMySql資料庫
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- oracle sqldeveloper選擇性複製備份資料庫OracleSQLDeveloper資料庫
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- 初探MySQL資料備份及備份原理MySql
- Oracle 備份恢復之 FlashbackOracle
- [20221020]奇怪的增量備份.txt
- 帝國cms備份的資料庫資料夾-帝國CMS備份中心資料庫
- ORACLE 備份表Oracle