技術(shù)頻道

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

        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進行邏輯備份.部署了一個每天7點運行的CRONTAB,調(diào)用執(zhí)行EXP的SHELL.巡檢時發(fā)現(xiàn)這個腳本從未真正運行過.

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

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

        /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)致錯誤的原因是執(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,問題依舊.看來在CRONTAB中調(diào)用SHELL,應(yīng)該設(shè)置絕對路徑,而不能設(shè)置相對路徑.

        最終腳本修改為:

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

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

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

      主站蜘蛛池模板: 无码av免费毛片一区二区| 波多野结衣一区二区三区88| 日本一区二区三区在线网| 亚洲福利视频一区二区| 国产伦精品一区二区三区不卡| 亚洲宅男精品一区在线观看| 亚洲视频一区二区| 一区二区三区波多野结衣| 亚洲AV无码一区二区乱子仑| 国产在线一区二区三区| 任你躁国产自任一区二区三区| 2014AV天堂无码一区| 一区二区三区免费电影| jazzjazz国产精品一区二区| 日韩AV无码一区二区三区不卡毛片 | 欧美日韩精品一区二区在线视频| 亚洲欧美日韩中文字幕在线一区| 精品黑人一区二区三区| 人妻少妇久久中文字幕一区二区| 97精品国产一区二区三区| 日本免费一区二区三区四区五六区| 骚片AV蜜桃精品一区| 久久精品国产一区| 日韩一区二区三区四区不卡| 精品无码一区二区三区电影| 精品国产一区二区三区AV | 亚洲字幕AV一区二区三区四区| 秋霞日韩一区二区三区在线观看| 国产在线一区观看| 日本一区二区高清不卡| 一区二区三区在线观看免费| 一区二区中文字幕| 无码人妻精品一区二区蜜桃网站| 午夜精品一区二区三区在线视| 亚洲一区二区中文| 一区二区三区视频网站| 曰韩精品无码一区二区三区| 国产成人久久一区二区不卡三区 | 精品中文字幕一区在线| 一区二区不卡久久精品| 在线精品亚洲一区二区|