中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現oracle的exp增量備份

發布時間:2021-11-09 14:51:38 來源:億速云 閱讀:750 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“怎么實現oracle的exp增量備份”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么實現oracle的exp增量備份”吧!

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

感謝各位的閱讀,以上就是“怎么實現oracle的exp增量備份”的內容了,經過本文的學習后,相信大家對怎么實現oracle的exp增量備份這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周宁县| 麻城市| 南宫市| 读书| 鄂托克前旗| 永年县| 马鞍山市| 淳化县| 龙口市| 清苑县| 玉山县| 海晏县| 密山市| 鹤峰县| 措勤县| 汾阳市| 陈巴尔虎旗| 桃源县| 张北县| 双鸭山市| 岳西县| 莲花县| 安庆市| 垦利县| 大余县| 哈尔滨市| 靖江市| 健康| 宾川县| 阳江市| 利辛县| 浑源县| 宜兰市| 湘乡市| 财经| 罗江县| 库伦旗| 若尔盖县| 高青县| 潮州市| 蓝田县|