數據庫的管理非常重要,很多系統用戶難免會遇到忘記給數據進行備份的事情。如果恰巧此時系統出現故障,那麼沒有備份數據庫的我們將對此無能為力。那麼,有沒有辦法讓我們的系統自動對數據庫進行備份呢?當然,我們的系統高手已經根據實踐經驗,整理了自動備份oracle數據庫的教程,現在便同大家一起分享下。
一、導出數據庫
export命令將數據庫中的數據備份成一個二進制文件,它通常有三種模式:用戶模式、表模式和整個數據庫模式。本文擬采用用戶模式,備份之前,應先建立一個備份目錄,以容納備份文件,比如可建一個/backup目錄。接著我們可在UNIX的Oracle目錄下(也可以是其它目錄)分別建立兩個文件ora—backup,tar—backup。需要說明的是,前一個文件需要對Oracle的參數進行初始化,為了方便起見,我們不妨將初始化命令放到一個文件中(文件名姑且定為ora—env),再由第一個文件調用它。
1. ora—env文件對Oracle的參數進行初始化,其內容如下:
ORACLE—HOME=$ORACLE—HOME;export ORACLE—HOME
ORACLE—SID=ora73;export ORACLE—SID
ORACLE—TERM=sun;export ORACLE—TERM
LD—LIBRARY—PATH=$ORACLE—HOME/lib;export LD—LIBRARY—PATH
ORA—NLS32=$ORACLE—HOME/ocommon/nls/admin/data;export ORA—NLS
PATH=.:/usr/ccs/bin:/usr/ucb:$ORACLE—HOME/bin:$PATH;export PATH
DISPLAY=host1:0;export DISPLAY
NLS—LANG=american—america.zhs16cgb231280;export NLS—LANG
2. ora—backup文件對數據庫做export導出,導出的文件名可以任意定,本文定為字母“xx”加當天日期,即假如當天日期是12月10號,則導出的文件名為“xx1210.dmp”,以區別於其它日期的備份文件。
ora—backup文件內容:
./oracle/ora—env
#初始化Oracle數據庫
rq=′date +″%m%d″ ′
#把當天日期賦予變量rq
rm /backup/
# 清空 /backup目錄
exp test/test file=/backup/xx$rq.dmp log=/backup/xx$rq.log
本命令用於在$提示符下,導出test用戶的數據(其口令亦為test),導出文件及日志均放在/backup目錄下。
二、磁帶備份
tar—backup文件將用export命令導出的數據文件拷貝到磁帶上。
tar—backup文件內容:
tar rvf /dev/rmt/0n/backup/?
本命令可將/backup目錄下當天產生的文件備份到磁帶上。本文件中,tar命令使用了三個參數,其中r選項表示向磁帶上拷入文件而不破壞磁帶原來內容,v選項表示在拷貝過程中顯示文件信息,f選項後面加上磁帶設備名,指定文件向何處拷貝,n選項表示磁帶機不倒帶。/dev/rmt/0表示UNIX主機第一個磁帶驅動器,同理,/dev/rmt/1則表示UNIX主機第二個磁帶驅動器,依此類推。
ora—env、ora—backup、tar—backup文件編寫完成後,分別使用下述命令:
chmod 755 ora—env
chmod 755 ora—backup
chmod 755 tar—backup
這樣,三個文件就都變成了可執行文件。