1. 建立備份檔案 vi bak.sh
#!/bin/bash
export oracle_sid=orcl
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
date=`date -d yesterday +%y%m%d%h%m`
days=5 #保留天數
orsid=orcl
orowner=ssq #執行備份的使用者
bakuser=ssq #備份的使用者
bakpass=123 #執行備份的使用者密碼
bakdir=/home/server/datapump #備份路徑
bakdata=$orowner"_"$date.dmp
baklog=$orowner"_"$date.log
ordatabak=$orowner"_"$date.tar.gz
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 {} \;
2.新增指令碼執行許可權
chmod +x bak.sh #新增指令碼執行許可權
3.編輯系統任務執行計畫 (crontab -l #可檢視計畫任務)
crontab -e
新增一下內容
00 01 * * * /data/bakorcldata/bak.sh #每天凌晨1點,以oracle使用者執行bak.sh備份檔案
:wq! #儲存退出
4.重啟crontab
service crond restart
參考:
Linux下oracle定時備份
1.設定資料庫空表可匯出 用pl sql登入資料庫 或者其他工具 執行 select alter table table name allocate extent from user tables where num rows 0 然後執行查詢出來的語句 2.檢視資料庫的字符集 資料庫的字符集必須和...
Oracle 定時備份
最近客戶要求系統的資料庫每天備份一次,總是保留最近乙個星期的備份檔案,寫了乙個指令碼,也許有朋友會用到 新建bat檔案 del d dbbak bak7.dmp ren d dbbak bak6.dmp bak7.dmp ren d dbbak bak5.dmp bak6.dmp ren d dbb...
oracle定時備份 增量備份
一 匯出 匯入 export import 利用export可將資料從資料庫中提取出來,利用import則可將提取出來的資料送回oracle資料庫中去。1.簡單匯出資料 export 和匯入資料 import oracle支援三種型別的輸出 1 表方式 t方式 將指定表的資料匯出。2 使用者方式 u...