我要对表t_user作备份,每次开机的时候自动执行:------------------------------------------------------------------------------------
variable job1 number;
begin
sys.dbms_job.submit(:job1,'scott.Pro_move_t_user;',sysdate,'sysdate+1/1440');
dbms_job.run(:job1);
commit;
end;------------------------------------------------------------------------
那位高手可以告诉我,每次开机如何才能让oracle自动执行上边的sql语句????
在线等待中!!!!
variable job1 number;
begin
sys.dbms_job.submit(:job1,'scott.Pro_move_t_user;',sysdate,'sysdate+1/1440');
dbms_job.run(:job1);
commit;
end;------------------------------------------------------------------------
那位高手可以告诉我,每次开机如何才能让oracle自动执行上边的sql语句????
在线等待中!!!!
1、/home/ja/jass01/bin/M_DEL.sh
2、sh文件类似如下:
M_DEL.sh----********---->#!/bin/csh
#------------------------------------------------------------------------------
# WEB壔僨乕僞嶍彍
#
# 1.扨昜僨乕僞 HAN_JUGY2 DB丂丂
#------------------------------------------------------------------------------#-------------------------------------------------
# Environment
#-------------------------------------------------source $HOME/bin/ENV.sh# MYNAME 庢摼
setenv MYNAME `echo "$0"|awk 'BEGIN{FS="."}{print $1}'|awk 'BEGIN{FS="/"}{print $NF}'`msglog -i100 -kI -n$MYNAME.sh -f婲摦偟傑偟偨#------------------------------------------------------------------------------
# 幚峴張棟俶俷乮僼僅儘乕帪偼僄儔乕儊僢僙乕僕偺張棟斣崋傪偙偙偵僙僢僩乯
#------------------------------------------------------------------------------
if( $#argv != 1 ) then
set SHORINO = 0
else
set SHORINO = $1
endif
# SHORINO 偺 抣
# 0 : 嵟弶偐傜
# 1 : 扨昜僨乕僞DB嶍彍偐傜#------------------------------------------------------------------------------
# 扨昜僨乕僞 偺 係擭慜偺擭寧傪庢摼丂丂
#------------------------------------------------------------------------------
set TODAY = `date +%Y%m%d`
set YYYY = `date +%Y`
set MM = `date +%m`
set DD = `date +%d`
set MMAGO_USR = 0
set MMAGO_SS = 0
set MMAGO = 0
set MMAGO_POS = 0
set YYYYAGO_USR = $YYYY
set YYYYAGO_SS = $YYYY
set YYYYAGO = $YYYY
set YYYYAGO_POS = $YYYYset YYYYAGO_HAN = $YYYY
@ YYYYAGO_HAN = $YYYYAGO_HAN - 4
@ MMAGO_USR = $MM - 1
@ MMAGO_SS = $MM - 18
@ MMAGO = $MM - 2
@ MMAGO_POS = $MM - 3
set YYYYMMAGO_HAN = ${YYYYAGO_HAN}12setenv LOGFIL $LOGDIR/$MYNAME"_LOG".{$TODAY}
setenv TMPSQL $LOGDIR/delete.sql.$$
setenv TMPSQLLOG $LOGDIR/delete.log.$$#------------------------------------------------------------------------------
# 扨昜僨乕僞乮HAN_JUGY2乯DB偺嶍彍丂丂
#------------------------------------------------------------------------------set SHORICHK = 6
if( $SHORINO <= 6 )then
set SHORINO = 6
endifif ( $SHORICHK >= $SHORINO && $MM == 01 ) then
echo `date +%T`"oooooooooo 扨昜僨乕僞乮HAN_JUGY2乯DB嶍彍 oooooooooo" >>& $LOGFIL echo > $TMPSQL
echo "set head off" >> $TMPSQL
echo "spool "$TMPSQLLOG >> $TMPSQL
echo "delete from han_jugy2 where ym <= to_number($YYYYMMAGO_HAN) ;" >> $TMPSQL
echo "show sqlcode" >> $TMPSQL
echo "exit " >> $TMPSQL $ORACLE_HOME/bin/sqlplus $ORA_USR/$ORA_PWD @$TMPSQL >>& $LOGFIL if ( $status != 0 ) then
goto job_abend
endif set st = `grep 'sqlcode [0-9]' $TMPSQLLOG | grep -v 'sqlcode 0' | wc -l`
if ( $st != 0 ) then
goto job_abend
endif echo `date +%T`"oooooooo 扨昜僨乕僞乮HAN_JUGY2乯DB嶍彍廔椆 oooooooo" >>& $LOGFIL
echo " " >>& $LOGFIL
endif
#------------------------------------------------------------------------------
# 廔椆
#------------------------------------------------------------------------------
job_end:
echo `date +%T`"oooooooooo DB嶍彍惓忢廔椆 oooooooooo" >>& $LOGFIL
msglog -i102 -kI -n$MYNAME.sh -f惓忢廔椆
/usr/bin/rm $TMPSQL $TMPSQLLOG >& /dev/null
exit(0)job_abend:
echo `date +%T`"xxxxxxxxxx DB嶍彍堎忢廔椆 xxxxxxxxxx" >>& $LOGFIL
msglog -i103 -kE -n$MYNAME.sh -f堎忢廔椆乛張棟斣崋$SHORINO
exit(1)
<----********----M_DEL.sh
调用动态sql语句