第一步編寫指令碼
#配置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,藍色方框內是你...