程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> SCO unix 下定時備份 Oracle dmp 文件

SCO unix 下定時備份 Oracle dmp 文件

編輯: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 "+%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

例如:11點35生成的文件是:1135.dmp

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

三、編輯crontab

#crontab -e

增加行:

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

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

第2天的數據會覆蓋第一天的數據

以上為個人總結,已經經過試驗,不足之處會進行改進,希望對大家有所幫助

前面做的復雜了,修改一下,其實沒必要刪除,直接覆蓋就可以了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved