The UNIX and Linux Forums  

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
シェルからOracle接続スクリプト DILEEP410 シェルプログラミングとスクリプティング 4 2009年7月1日 03:19午前
私はシェルスクリプトでは、 Oracleの関数を呼び出すためにしたい dineshr85 シェルプログラミングとスクリプティング 4 2007年10月16日 12:18午後
OracleまたはSQLにシェルスクリプトからのログ manirsendhil シェルプログラミングとスクリプティング 2 2007年4月10日 12:46午前
Oracleのデータをロードするためのシェルスクリプト raghuraja_r シェルプログラミングとスクリプティング 3 2006年7月21日 午前11:00
シェルスクリプトのOracle接続の問題 nattynatty シェルプログラミングとスクリプティング 4 2002年8月14日 10:48午前

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2009年5月26日
rechever rechever is offline
登録ユーザー
  
 

参加日: 2009年5月
投稿: 20
Oracleのシェルスクリプトを支援

私はこのshl午前に次のエラーを取得する
利用方法: cp [ - fhipHILPU ] [ - rを| -受] [ -メール(力|無視|警告) ] [ - ]ターゲット鉄骨鉄筋コンクリート造
または: cp [ - fhipHILPU ] [ - rを| -受] [ -メール( |無視|力)警告] [ - ] src1 ... srcNディレクトリ
私は、ログには、 PRGMR_MAILING_LISTにファイルを送信すると、 xxxxの変更が必要


コード:
#! /bin/sh
#
# #Retrieves and processes CSS IDOC file, then e-mails appropriate users
#
# Created by xxxxxx, May 2009 
#
# Purpose: 
# Retrieves and processes CSS IDOC file, then e-mails appropriate users
# 
# Will be submitted from crontab. 
# 
# Directory Location:
# Database Home Dir/middlebury/shl
#
#--------------------------------------------------------------------------------
#
# Modifications:
# Date Author Description
# 
# .
#
#********************************************************************************
# Set the Database
SID="$1";
SIDQ="@${SID}";
ORAENV_ASK=NO; export ORAENV_ASK
PATH=/usr/bin:/bin:/etc:/usr/sbin:/usr/ccs/bin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.:/usr/lbin:$ORACLE_HOME/bin:/usr/local/bin
export PATH
ORACLE_SID=${SID}; export ORACLE_SID; . oraenv
#waiting for account
UID_F="xxxxx";
PW_F="Dxxxxxx";
# set job name
JOBNAME1="rypidoc_shl"
# set home directory path
MPATH=$BANNER_HOME;
SCRIPT_PATH="${MPATH}/xxxxx/plus/"
SQL_SCRIPT1="@rypidoc_loadcss_run.sql"
SQL_SCRIPT2="@rypidoc_process2_run.sql"
 
# Set Log File path and name
LOG_FILE_PATH="/u02/sct/banjobs/";
LOG_FILE_NAME=${JOBNAME}_$$.log;
LF1=${LOG_FILE_PATH}${LOG_FILE_NAME};
LF2=${LOG_FILE_PATH}${LOG_FILE_NAME};
MAILING_LIST="xxxxxi@xxxxx.edu";
PRGMR_MAILING_LIST="xxxxxi@xxxxx.edu"; 
#------------------------------------------------------------------------------
# write header lines to job log
echo "${JOBNAME}.shl" >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Running Date & Time: " >>${LF1} 2>>${LF2}
date >>${LF1} 2>>${LF2}
echo "Database = ${SID}" >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Starting script " >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
##==============================================================================##
# Capture just the file sequence number 
fseqno=`print $i | sed 's/.*_//' | sed 's/.dat//' `
cd "${MPATH}/xxxxx/dat_files"
echo $i `date` > idochd1.lst
cp $i idoc.dat
DATA_FILE="${MPATH}/xxxxx/dat_files/3526*.dat ";
#Determine if there is a file to process
ls 3526*.dat > /dev/null 2>&1 
if [ $? != 0 ] 
then 
exit
fi
for i in 3526*.dat 
do
#=================================================================================#
# Change dir to where the sql scripts are
cd ${SCRIPT_PATH}
if test $? -eq 0
then
echo " " >>${LF1} 2>>${LF2}
echo "Successfully changed dir for sql script." >>${LF1} 2>>${LF2}
echo "${SCRIPT_PATH} " >>${LF1} 2>>${LF2}
else
echo " " >>${LF1} 2>>${LF2}
echo "Error: could not change dir for sql script." >>${LF1} 2>>${LF2}
echo "${SCRIPT_PATH} " >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Script Ended and no updating done." >>${LF1} 2>>${LF2}
cat ${LF1} | mailx -s "${JOBNAME1} script failed! Could not change dir for sql script" $PRGMR_MAILING_LIST 
exit 1
fi
# Run sqlplus script to Load file into tables RYRIDOC_COVER, RYRIDOC_IMAGE, RYRIDOC_TAXDATA, RYRIDOC_W2
# pass the seqno as a paramater
sqlplus -s ${UID_F}/${PW_F}${SIDQ} ${SQL_SCRIPT1} $fseqno >>${LF1} ${UID_F} 2>>${LF2}
if test $? -eq 0
then
echo " " >>${LF1} 2>>${LF2}
echo "Successfully executed the ${SQL_SCRIPT1} script\n" >>${LF1} 2>>${LF2}
egrep -i "ORA-|Aborting|Error" ${LF1} >/dev/null
error_status=$? 
if [ "$error_status" = "0" ]
then
cat ${LF1} | mailx -s "${JOBNAME1} script failed! " $PRGMR_MAILING_LIST 
echo "\nOracle error occurred. Email sent to ${PRGMR_MAILING_LIST}" >>${LF1} 2>>${LF2}
exit 1
fi 
egrep -i "00" ${DATA_FILE} >/dev/null
error_status2=$?
if [ "$error_status2" != "0" ]
then
echo "No data loaded today." >>${LF1} 2>>${LF2}
else
cat ${LF1} | mailx -s "${JOBNAME1} Loading Process Finish! Could not change dir for sql script" $PRGMR_MAILING_LIST 
echo "\nEmail sent to ${MAILING_LIST} Loading Process Finish." >>${LF1} 2>>${LF2}
fi
else
echo " " >>${LF1} 2>>${LF2}
echo "Error: could not execute the ${SQL_SCRIPT1} script" >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Script Ended and no updating done." >>${LF1} 2>>${LF2}
cat ${LF1} | mailx -s "${JOBNAME1} script failed!" Could not change dir for sql script" $PRGMR_MAILING_LIST 
exit 1
fi
#===================================================================================#
# Change dir to where the sql scripts are to run script2
cd ${SCRIPT_PATH}
if test $? -eq 0
then
echo " " >>${LF1} 2>>${LF2}
echo "Successfully changed dir for sql script." >>${LF1} 2>>${LF2}
echo "${SCRIPT_PATH} " >>${LF1} 2>>${LF2}
else
echo " " >>${LF1} 2>>${LF2}
echo "Error: could not change dir for sql script." >>${LF1} 2>>${LF2}
echo "${SCRIPT_PATH} " >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Script Ended and no updating done." >>${LF1} 2>>${LF2}
cat ${LF1} | mailx -s "${JOBNAME1} script2 failed!" Could not change dir for sql script" $PRGMR_MAILING_LIST 
exit 1
fi
# run scipt to do the processing
sqlplus ${UID_F}/${PW_F} ${SQL_SCRIPT2} >>${LF1} 2>>${LF2} 
if test $? -eq 0
then
echo " " >>${LF1} 2>>${LF2}
echo "Successfully executed the ${SQL_SCRIPT1} script\n" >>${LF1} 2>>${LF2}
egrep -i "ORA-|Aborting|Error" ${LF1} >/dev/null
error_status=$? 
if [ "$error_status" = "0" ]
then
cat ${LF1} | mailx -s "${JOBNAME1} script2 failed!" Could not change dir for sql script" $PRGMR_MAILING_LIST 
echo "\nOracle error occurred. Email sent to ${PRGMR_MAILING_LIST}" >>${LF1} 2>>${LF2}
exit 1
fi 
egrep -i "00" ${DATA_FILE} >/dev/null
error_status2=$?
if [ "$error_status2" != "0" ]
then
echo "No data loaded today." >>${LF1} 2>>${LF2}
else
cat ${LF1} | mailx -s "${JOBNAME1} data loaded today !" Could not change dir for sql script" $PRGMR_MAILING_LIST 
echo "\nEmail sent to ${MAILING_LIST} Loading Process Finish." >>${LF1} 2>>${LF2}
fi
else
echo " " >>${LF1} 2>>${LF2}
echo "Error: could not execute the ${SQL_SCRIPT1} script" >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Script Ended and no updating done." >>${LF1} 2>>${LF2}
cat ${LF1} | mailx -s "${JOBNAME1} script1 failed!" Could not change dir for sql script" $PRGMR_MAILING_LIST 
exit 1
fi
#-----------------------------------
echo " " >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "End Date & Time: " >>${LF1} 2>>${LF2}
date >>${LF1} 2>>${LF2}
echo " " >>${LF1} 2>>${LF2}
echo "Shell Script Completed." >>${LF1} 2>>${LF2}
exit

ビット受賞/このポストrecheverに課金
日付 ユーザ コメント
2009年5月26日 ネオ ポスターを追加しましたコードタグ。 -5,000
 

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 02:48午後


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0