歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

SCO unix 系統下定時備份oracle數據庫


前提:

1、需要知道的信息:

oracle 的system密碼以及要備份數據庫賬戶的賬戶名和密碼

Sco unix 的root密碼、oracle密碼

2、會使用vi編輯文件、mkdir創建文件夾、chmod改變文件權限、su 切換用戶、文件的執行

3、了解sco unix的用戶、組、權限及crontab的用途、oracle的dmp文件生成

一、建立數據庫dmp文件存放目錄

#su - oracle

$cd /dbf

$mkdir dmpbak

$cd dmpbak

$mkdir zd

$mkdir cm

二、建立導出數據庫dmp的文件

1、指定目錄

#su - oracle

$cd bin

2、用vi編輯exp_t文件

$vi exp_t

exp_t內容:

ORACLE_HOME=/oracle

ORACLE_SID=ora7

ORACLE_TERM=ansi

export ORACLE_HOME ORACLE_SID ORACLE_TERM

MENU5PATH=$ORACLE_HOME/forms30/admin/resource

export MENU5PATH

ORATERMPATH=$ORACLE_HOME/forms30/admin/resource

export ORATERMPATH

NLS_LANG=American_America.ZHS16CGB231280

export NLS_LANG

ORA_NLS=/oracle/ocommon/nls/admin/data

export ORA_NLS

home1='/dbf/dmpbak'

dt1=`date "+%y%m%d%H%M"`

echo ' ' >'$home1/'new_record

file_name="$home1"/zd/zd"$dt1"

echo $file_name >>'$home1'/new_record

$ORACLE_HOME/bin/exp zd/zdzd file=$file_name.dmp owner=zd grants=y buffer=204800 rows=y indexes=y compress=y

file_name="$home1"/cm/cm"$dt1"

echo $file_name >>'$home1'/new_record

$ORACLE_HOME/bin/exp common/cmcm file=$file_name.dmp owner=common grants=y buffer=204800 rows=y indexes=y compress=y

file='/dbf/dmpbak/new_record'

backup_dir='/oracle/sec_back'

if [ -d $backup_dir ]

then

for i in `cat $file`

do

cp $i $backup_dir/

done

echo ' '>$file

fi

3、給exp_t權限

$chmod 755 exp_t

4、測試exp_t

$cd /oracle/bin

$exp_t

5、查看dmp文件是否生成

$cd /dbf/dmpbak/zd

$ls

如果生成dmp文件,證明exp_t可以使用

三、編輯刪除dmp文件的腳本(因為不可能備份太多數據,一般留24個小時的就可以了)

1、用vi編輯deldmp文件

# su - oracle

$cd /oracle/bin

$vi deldmp

內容:

home1='/dbf/dmpbak'

TZ=CST+16;export TZ

dt1='date"+%y%m%d"'

file_name="$home1"/zd/zd"$dt1"

rm $file_name*.dmp

file_name="$home1"/cm/cm"$dt1"

rm $file_name*.dmp

TZ=CST-16;export TZ

2、檢查腳本作用

$/oracle/bin/deldmp

四、編輯crontab

#crontab -e

增加行:

35 * * * * su - oracle -c /oracle/bin/exp_t

55 1 * * * /oracle/bin/deldmp

第1行意思是每天每個小時的35分備份一次dmp文件

第2行意思是每天1點55刪除前面一天的dmp內容

Copyright © Linux教程網 All Rights Reserved