oracle資料庫自動備份

2021-09-21 14:01:33 字數 1490 閱讀 2812

第一步編寫指令碼

#配置oracle的環境變數(必須配置)

export oracle_base=/data/server/oracle

export oracle_home=/data/server/oracle/product/12.2.0.1/db_1

export oracle_sid=les

export oracle_term=xterm

export path=$oracle_home/bin:/usr/sbin:$path

export ld_library_path=$oracle_home/lib:/lib:/usr/lib

export lang=c

export nls_lang=american_america.al32utf8

curdate=$(date "+%y_%m_%d") #獲取當天日期

days=5    #定義刪除幾天前的資料

orsid=ip:port/sid #設定連線資料庫引數

orowner=les #定義用哪個使用者

bakuser=les #設定連線資料庫使用者(此使用者必須具有備份資料的許可權)

bakpass=123456 #設定連線資料庫密碼

bakdir=/data/lesdataback #備份儲存目錄

bakdata=$orowner"_"$curdate.dmp #備份的資料檔案

baklog=$orowner"_"$curdate.log #備份的日誌名稱

ordatabak=$orowner"_"$curdate.tar.gz #備份資料檔案和日誌打包的jar名

cd $bakdir

mkdir -p $orowner

cd $orowner

exp  $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$orowner/$bakdata log=$bakdir/$orowner/$baklog #開始備份

tar -zcvf $ordatabak $bakdata $baklog #打包

find $bakdir/$orowner -type f -name "*.log" -exec rm {} \; #刪除資料備份檔案

find $bakdir/$orowner -type f -name "*.dmp" -exec rm {} \; #刪除資料備份日誌檔案

find $bakdir/$orowner -type f -name "*.tar.gz" -mtime +$days -exec rm -rf {} \;#刪除多少天之前的備份資料

第二步新增定時任務

切換到oracle使用者 su - oracle

crontab -e

30 02 * * * /data/les/orcalback.sh

儲存後重啟定時任務

service crond start

自動備份Oracle資料庫

相信為數不少的系統管理員每天都在做著同一樣的工作 對資料進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行資料恢復,那麼此時就無能為力了。假如每天設定乙個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談unix環境下oracle資料庫的自動備份,以起到拋磚引玉的...

自動備份Oracle資料庫

自動備份oracle資料庫 摘自 賽迪網 相信為數不少的系統管理員每天都在做著同一樣的工作 對資料進行備份。一旦哪一天疏忽了,而這一天系統又恰恰發生了故障,需要進行資料恢復,那麼此時就無能為力了。假如每天設定乙個固定的時間,系統自動進行備份,那該多好啊!下面筆者結合實踐經驗,談一談unix環境下or...

oracle資料庫自動備份

出bug可以修復,但是資料庫的資料丟失了,那可是莫大損失,所以讓資料庫自動進行備份是非常有必要的。下面的方法是通過win的定時器定時執行bat檔案來備份資料庫 1 新建乙個txt文件,裡面內容如下 放在最後可以複製下來稍微修改一下直 接拿去使用 紅色方框內是資料庫的賬號 密碼 sid,藍色方框內是你...