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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫差異備份與增量備份的不同之處資料庫
- 【RMAN】使用增量備份更新資料庫備份映象資料庫
- Oracle資料庫備份與恢復之匯出/匯入(EXP/IMP)、熱備份和冷備份Oracle資料庫
- 揭祕ORACLE備份之--邏輯備份(EXP)Oracle
- exp/imp備份與還原oracle資料庫Oracle資料庫
- Oracle之差異增量備份與累積增量備份Oracle
- 使用innobackupex線上增量備份和再增量備份及恢復mysql資料庫MySql資料庫
- Oracle RMAN 增量備份Oracle
- Oracle 11g RMAN備份-增量備份Oracle
- Oracle的差異增量備份和累積增量備份Oracle
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- Oracle的差異增量備份和累積增量備份(zt)Oracle
- Oracle學習系列—資料庫備份—熱備份Oracle資料庫
- Oracle資料庫的備份方法-冷備份(轉)Oracle資料庫
- windowns系統下oracle資料庫exp自動備份Oracle資料庫
- 2 Day DBA-管理方案物件-執行備份和恢復-備份資料庫-資料檔案增量備份物件資料庫
- Oracle資料庫冷備份與熱備份操作梳理Oracle資料庫
- 【原】Oracle學習系列—資料庫備份—RMAN備份Oracle資料庫
- ORACLE備份和恢復 - 邏輯備份 exp/impOracle
- 使用RMAN增量備份前滾STANDBY資料庫資料庫
- windows下oracle資料庫的exp自動備份指令碼WindowsOracle資料庫指令碼
- 完全備份、差異備份、增量備份的區別
- rman備份和增量備份指令碼指令碼
- Mysql增量備份MySql
- 增量備份 PostgreSQLSQL
- 【原】Oracle學習系列—資料庫備份—離線備份Oracle資料庫
- Backup And Recovery User's Guide-從RMAN開始-備份資料庫-增量備份GUIIDE資料庫
- 搭建Oracle的exp備份機Oracle
- 自動備份Oracle資料庫Oracle資料庫
- 資料庫備份資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- Oracle資料庫RMAN小結之備份部分Oracle資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- Jtti:sql server怎麼增量備份資料庫JttiSQLServer資料庫
- mysql之 Innobackupex(全備+增量)備份恢復MySql
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-累積增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-差異增量備份GUIIDE
- Backup And Recovery User's Guide-RMAN備份概念-增量備份-多級增量備份GUIIDE