一般情況下,為保證數(shù)據(jù)庫(kù)數(shù)據(jù)不丟失或少丟失,降低事故恢復(fù)時(shí)間,我們常使用Oracle數(shù)據(jù)庫(kù)export工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行定期備份。對(duì)于常用的exp備份,無(wú)論是備全庫(kù)、備用戶(hù)或是備單個(gè)表,命令都比較簡(jiǎn)單。
下面說(shuō)明一下如何每天定時(shí)備份分區(qū)表的某個(gè)分區(qū)的詳細(xì)步驟。
2 環(huán)境描述
硬件環(huán)境:IBM P570
操作系統(tǒng):AIX5.3
數(shù)據(jù)庫(kù)版本:Oracle9.2.0.6
業(yè)務(wù)場(chǎng)景:數(shù)據(jù)庫(kù)t_sms表包含每天所有的短信發(fā)送歷史數(shù)據(jù)(每天大約700W),由于數(shù)據(jù)量龐大,且平時(shí)有查詢(xún)需要,所以根據(jù)月日建立了分區(qū)(每天一個(gè)分區(qū),比如P01_01代表1月1日的數(shù)據(jù))(t_sms腳本: )
備份需要:每天700W數(shù)據(jù)存放在一張表中,造成此表數(shù)據(jù)量龐大,極易產(chǎn)生索引失效等副作用,故決定對(duì)此表歷史數(shù)據(jù)進(jìn)行遷移,遷移策略為保留前天到目前的數(shù)據(jù)在表中,其他數(shù)據(jù)遷移到歷史歸檔庫(kù)中。如有查詢(xún)需要,可直接連接歸檔庫(kù)進(jìn)行短信數(shù)據(jù)查詢(xún)。這樣一方面可以減少t_sms表的數(shù)據(jù)量,另一方面也把查詢(xún)數(shù)據(jù)遷移到歸檔庫(kù),降低生產(chǎn)庫(kù)負(fù)荷。
3 備份策略
1、每天凌晨00:30分,利用crontab執(zhí)行exp腳本,把前天分區(qū)里的數(shù)據(jù)生成dmp文件;
2、3:30分,ftp到歸檔庫(kù)
3、4:30分,歸檔庫(kù)執(zhí)行imp腳本導(dǎo)入歸檔數(shù)據(jù)
4 操作步驟
1、以O(shè)racle用戶(hù)身份登陸小型機(jī);
2、把exp.sh腳本拷貝到小型機(jī)/sms目錄下
3、chmod 755 /sms/exp.sh
4、執(zhí)行crontab –e,輸入30 00 * * * /sms/exp.sh
5、建立ftp用戶(hù)
6、在歸檔庫(kù)上設(shè)定自動(dòng)任務(wù),定時(shí)ftp到小型機(jī)下載dmp文件,并imp到歸檔庫(kù)中。