自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

CRONTAB調(diào)用備份腳本時要注意環(huán)境變量的設(shè)置詳解

數(shù)據(jù)庫 Oracle
本文我們主要介紹了CRONTAB調(diào)用備份腳本時要注意環(huán)境變量的設(shè)置過程,希望能夠?qū)δ兴鶐椭?/div>

CRONTAB調(diào)用備份腳本時要注意環(huán)境變量的設(shè)置是本文我們主要要介紹的內(nèi)容,我們知道,EXP備份是DBA常規(guī)操作之一,尤其是10g以前的版本沒有EXPDP,所有的邏輯備份都是通過EXP來實現(xiàn)。而將EXP寫成SHELL腳本,使之可以調(diào)用也并沒有什么特別之處。不過如果并非oracle用戶執(zhí)行,而是需要CRONTAB自動允許,那么備份的腳本就有一些要求了。

客戶環(huán)境使用RMAN CATALOG方式備份,而RMAN的CATALOG數(shù)據(jù)庫采用EXP進(jìn)行邏輯備份。部署了一個每天7點(diǎn)運(yùn)行的CRONTAB,調(diào)用執(zhí)行EXP的SHELL。巡檢時發(fā)現(xiàn)這個腳本從未真正運(yùn)行過。

 

  1. /app/oracle10g> crontab -l  
  2. 0 7 * * * /app/oracle10g/rman_catalog_dmp/exp_by_date.sh  
  3. /app/oracle10g/rman_catalog_dmp> more exp_by_date.sh   
  4. export ORACLE_SID=RMANDB 
  5. export ORACLE_BASE=/app/oracle10g  
  6. export ORACLE_HOME=$ORACLE_BASE/product/10.2.0  
  7. export NLS_LANG=American_America.ZHS16CGB231280  
  8. exp parfile=exp.par file=./rman_catalog.dmp log=./rman_catalog.log 

 

由于是CRONTAB進(jìn)行調(diào)用,因此不會使用oracle用戶的環(huán)境變量,這就需要在shell腳本中添加必要的環(huán)境變量的設(shè)置,這才能是的EXP命令可以正確的運(yùn)行。腳本中雖然已經(jīng)設(shè)置了一些環(huán)境變量,但是還是不夠的。

對于CRONTAB運(yùn)行SHELL時出現(xiàn)的錯誤,可以通過用戶的mail來獲取錯誤信息:

 

  1. /app/oracle10g/rman_catalog_dmp> mail  
  2. From root@acap3 Thu Aug 18 07:00:01 EAT 2011  
  3. Received: (from root@localhost)  
  4. by acap3 (8.9.3 (PHNE_35950)/8.9.3) id HAA27754  
  5. for oracle; Thu, 18 Aug 2011 07:00:01 +0800 (EAT)  
  6. Date: Thu, 18 Aug 2011 07:00:01 +0800 (EAT)  
  7. From: root@acap3  
  8. Message-Id: <201108172300.HAA27754@acap3> 
  9. Subject: cron  
  10. /app/oracle10g/rman_catalog_dmp/exp_by_date.sh[5]: exp: not found.  
  11. *************************************************  
  12. Cron: The previous message is the standard output  
  13. and standard error of one of your crontab commands:  
  14.  
  15. /app/oracle10g/rman_catalog_dmp/exp_by_date.sh 

 

顯然導(dǎo)致錯誤的原因是執(zhí)行EXP命令時,在默認(rèn)目錄下沒有找到EXP可執(zhí)行命令,顯然腳本中漏設(shè)了PATH環(huán)境變量。

增加PATH=$ORACLE_HOME/bin環(huán)境變量后,再次測試發(fā)現(xiàn),參數(shù)文件找不到,仿照導(dǎo)出文件和日志文件的方式,將參數(shù)文件設(shè)置為./exp.par,問題依舊??磥碓贑RONTAB中調(diào)用SHELL,應(yīng)該設(shè)置絕對路徑,而不能設(shè)置相對路徑。

最終腳本修改為:

 

  1. /app/oracle10g/rman_catalog_dmp> more /app/oracle10g/rman_catalog_dmp/exp_by_date.sh  
  2. export ORACLE_SID=RMANDB 
  3. export ORACLE_BASE=/app/oracle10g  
  4. export ORACLE_HOME=$ORACLE_BASE/product/10.2.0  
  5. export NLS_LANG=American_America.ZHS16CGB231280  
  6. export PATH=$ORACLE_HOME/bin:$PATH  
  7. DATE=`date +"%Y%m%d"`  
  8. exp parfile=/app/oracle10g/rman_catalog_dmp/exp.par file=/app/oracle10g/rman_catalog_dmp/rman_catalog_$DATE.dmp log=/app/oracle10g/rman_cat  
  9. alog_dmp/rman_catalog_$DATE.log  
  10. you have mail in /var/mail/oracle 

 

利用CRONTAB來實現(xiàn)SHELL的自動調(diào)用,需要注意兩個問題,***是否在SHELL中設(shè)置了必要的環(huán)境變量;第二盡量所有的文件都采用完全路徑方式,避免使用相對路徑。

關(guān)于CRONTAB調(diào)用備份腳本時要注意環(huán)境變量的設(shè)置的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. Oracle臨時表在實際開發(fā)中的應(yīng)用詳解
  2. Oracle 11g R2數(shù)據(jù)庫示例用戶安裝說明
  3. Oracle 11g數(shù)據(jù)庫審計功能應(yīng)用實例解析
  4. Oracle 11g數(shù)據(jù)庫默認(rèn)審計選項說明詳解
  5. Oracle 11g數(shù)據(jù)庫使用XML Table的BUG解決
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2009-07-07 13:44:35

JDK環(huán)境變量設(shè)置

2009-06-15 16:28:30

JAVA環(huán)境變量

2011-05-31 13:41:50

Android 環(huán)境變量

2009-07-07 13:10:45

JDK1.6安裝

2009-07-03 16:13:10

JSP環(huán)境變量

2010-04-27 18:30:42

AIX系統(tǒng)

2009-07-07 12:48:29

JDK環(huán)境變量設(shè)置

2009-10-21 12:58:18

2019-09-09 09:02:04

Linux腳本語言文本編輯器

2010-09-16 15:33:48

Java環(huán)境變量

2010-07-26 15:50:03

Perl腳本語言

2010-11-26 15:56:23

mysql環(huán)境變量

2011-08-22 15:06:19

linux環(huán)境變量

2009-12-25 09:44:59

redhatPATH設(shè)置環(huán)境變量

2010-10-28 16:31:27

連接oracle

2010-01-12 15:46:54

Fedora JDK

2021-03-04 23:11:59

環(huán)境變量Python

2010-03-26 12:50:02

CentOS系統(tǒng)

2010-01-11 17:39:31

Fedora 8配置J

2010-09-16 15:44:12

Java環(huán)境變量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號