Linux 自動(dòng)備份oracle數(shù)據(jù):
曾經(jīng)有個(gè)同事,來(lái)回操作開發(fā)和生產(chǎn)的數(shù)據(jù)庫(kù),結(jié)果誤刪了生產(chǎn)的數(shù)據(jù)庫(kù),那種心情我想不是一般人能理解的,雖然說(shuō)oracle可以有方法還原,但并不是徹底的。
所以,在工作中,不管是開發(fā)還是維護(hù),備份數(shù)據(jù)庫(kù)是非常有必要。
簡(jiǎn)單實(shí)用的晚間自動(dòng)備份數(shù)據(jù)庫(kù)小案例
步驟一、創(chuàng)建備份腳本,暫且命名為orabak.sh
#路徑名,指定備份的路徑
FILEPATH = /oracle/orabak
#根據(jù)指定日期格式,定義備份數(shù)據(jù)庫(kù)文件名
FILENAME = `date + %Y%m%d_%H%M
#切換至指定路徑,并創(chuàng)建文件夾
cd $FILEPATH
mkdir $FILENAME
chmod 775 $FILENAME
#oracle變量設(shè)置
export USER=oracle;
export ORACLE_SID=orcl;
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1;
export PATH=$ORACLE_HOME/bin:$PATH;
#導(dǎo)出數(shù)據(jù)庫(kù) 這里使用了exp 可以根據(jù)需要使用expdp
exp scott/tiger@orcl file="$FILENAME ".dmp log="$FILENAME".log owner=scott rows=y
#打包+加壓
cd ..
tar -cf $FILENAME.tar $FILENAME
rm -rf $FILENAME
gzip $FILENAME.tar
exit
EOF
步驟二、使用定時(shí)腳本crontab自動(dòng)調(diào)用備份腳本
linux/aix 使用crontab -e命令,再最后一行加入改功能腳本,例如:
10 12 * * * sh /oracle/orabak/orabak.sh
關(guān)于linux下crontab的使用
minute hour day month dayofweek command
minute - 從0到59的整數(shù)
hour - 從0到23的整數(shù)
day - 從1到31的整數(shù) (必須是指定月份的有效日期)
month - 從1到12的整數(shù) (或如Jan或Feb簡(jiǎn)寫的月份)
dayofweek - 從0到7的整數(shù),0或7用來(lái)描述周日 (或用Sun或Mon簡(jiǎn)寫來(lái)表示)
command - 需要執(zhí)行的命令(可用as ls /proc >> /tmp/proc或 執(zhí)行自定義腳本的命令)
對(duì)于以上各語(yǔ)句,星號(hào)(*)表示所有可用的值。例如*在指代month時(shí)表示每月執(zhí)行(需要符合其他限制條件)該命令。
整數(shù)間的連字號(hào)(-)表示整數(shù)列,例如1-4意思是整數(shù)1,2,3,4
指定數(shù)值由逗號(hào)分開。如:3,4,6,8表示這四個(gè)指定整數(shù)。
符號(hào)“/”指定步進(jìn)設(shè)置。“/”表示步進(jìn)值。如0-59/2定義每?jī)煞昼妶?zhí)行一次。步進(jìn)值也可用星號(hào)表示。如*/3用來(lái)運(yùn)行每三個(gè)月份運(yùn)行指定任務(wù)。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
您可能感興趣的文章:- mysql數(shù)據(jù)庫(kù)和oracle數(shù)據(jù)庫(kù)之間互相導(dǎo)入備份
- Oracle數(shù)據(jù)庫(kù)自動(dòng)備份腳本分享(超實(shí)用)
- Python讀寫及備份oracle數(shù)據(jù)庫(kù)操作示例
- Windows系統(tǒng)下Oracle數(shù)據(jù)庫(kù)每天自動(dòng)備份
- PL/SQL遠(yuǎn)程備份和恢復(fù)Oracle數(shù)據(jù)庫(kù)
- Oracle自動(dòng)備份及自動(dòng)備份步驟
- oracle備份之備份測(cè)試腳本的方法(冷備、熱備、rman)