国产精品久久人妻互换毛片,国产av国片偷人妻麻豆,国产精品第12页,国产高清自产拍av在线,潮喷大喷水系列无码久久精品

技術(shù)頻道

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

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

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

  /app/oracle10g> crontab -l

  0 7 * * * /app/oracle10g/rman_catalog_dmp/exp_by_date.sh

  /app/oracle10g/rman_catalog_dmp> more exp_by_date.sh

  export ORACLE_SID=RMANDB export ORACLE_BASE=/app/oracle10g

  export ORACLE_HOME=$ORACLE_BASE/product/10.2.0

  export NLS_LANG=American_America.ZHS16CGB

  exp parfile=exp.par file=./rman_catalog.dmp log=./rman_catalog.log

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

  對(duì)于CRONTAB運(yùn)行SHELL時(shí)出現(xiàn)的錯(cuò)誤,可以通過(guò)用戶的mail來(lái)獲取錯(cuò)誤信息:

  /app/oracle10g/rman_catalog_dmp> mail

  From root@acap3 Thu Aug 18 07:00:01 EAT 2011

  Received: (from root@localhost)

  by acap3 (8.9.3 (PHNE_35950)/8.9.3) id HAA27754

  for oracle; Thu, 18 Aug 2011 07:00:01 +0800 (EAT)

  Date: Thu, 18 Aug 2011 07:00:01 +0800 (EAT)

  From: root@acap3

  Message-Id: <00.HAA27754@acap3> Subject: cron

  /app/oracle10g/rman_catalog_dmp/exp_by_date.sh[5]: exp: not found.

  *************************************************

  Cron: The previous message is the standard output

  and standard error of one of your crontab commands:

  /app/oracle10g/rman_catalog_dmp/exp_by_date.sh

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

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

  最終腳本修改為:

  /app/oracle10g/rman_catalog_dmp> more /app/oracle10g/rman_catalog_dmp/exp_by_date.sh

  export ORACLE_SID=RMANDB

  export ORACLE_BASE=/app/oracle10g

  export ORACLE_HOME=$ORACLE_BASE/product/10.2.0

  export NLS_LANG=American_America.ZHS16CGB

  export PATH=$ORACLE_HOME/bin:$PATH

  DATE=`date +"%Y%m%d"`

  exp parfile=/app/oracle10g/rman_catalog_dmp/exp.par file=/app/oracle10g/rman_catalog_dmp/rman_catalog_$DATE.dmp log=/app/oracle10g/rman_cat

  alog_dmp/rman_catalog_$DATE.log you have mail in /var/mail/oracle

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

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

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。