oracle 脚本定时,Oracle下定时执行过程脚本

1.windows下的oracle定时执行

1).首先定义一个定义执行的bat文件,并将这个bat文件加入at 执行计划

2).定义这个bat文件,关联到所要执行的过程

2.Linux下的oracle定时备份

1).备份脚本

2).定时通过ftp传输

3).加入crontab队列

下与windows最大的区别是要加入一系列的环境变量

windows下的定时执行脚本

/************************************exec.bat*************************************/

net stop schedule

net start schedule

at 23:00 /every:Monday ,Tuesday,Wednesday,Thursday ,Friday,Saturday,Sunday d:shellpro.bat

或 /every:5 ,10,15,20 ,25,30,Sunday d:shellpro.bat

或 /every:M,T,W,TH,F,S,Su d:shellpro.bat

运行这个bat文件后,就加入计划任务队列

/***********************************pro.bat****************************************/

set ORACLE_SID=ORCLYJJK

echo %date%pro.sql脚本开始执行,时间:%time% >> d:shellpro.log

d:oracleora81binsvrmgrl @d:shellpro.sql

或 sqlplus user/pass @d:shellpro.sql

echo %date%pro.sql脚本结束执行,时间:%time% >> d:shellpro.log

/***********************************pro.sql****************************************/

spool d:backupbk

connect internal/oracle

shutdown immediate

host copy d:oracleoradataora8i*.* d:backup

startup

spool off

//冷备份的脚本

execute pro_loop;

exit;

//执行过程

Linux下的定时执行脚本

/***********************************.bash_profile***************************************/

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

DISPLAY=10.249.129.65:0.0;export DISPLAY

ORACLE_BASE=/home/oracle/OraHome1/product;export ORACLE_BASE

ORACLE_HOME=/home/oracle/OraHome1/product;export ORACLE_HOME

ORACLE_SID=oradbyj;export ORACLE_SID

ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33

NLS_LANG=american_america.zhs16cgb231280;export NLS_LANG

LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH

CLASSPATH=.:$ORACLE_HOME/jdbc/lib/class111.zip;export CLASSPATH

PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc:/bin;export PATH

./env.sh

export LD_ASSUME_KERNEL=2.2.5

export LDEMULATION=elf_i386_glibc21

export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/

unset LANG LAGUAGE LC_COLLATE LC_MESSAGES LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIM

E

#export PATH

#unset USERNAME

/*********************************************vipback.sh**********************************/

##用于将oracle数据导出 进行备份

date

DATE=`date +%w`

ORACLE_HOME=/home/oracle/OraHome1/product

export ORACLE_HOME

ORACLE_SID=oradbyj

export ORACLE_SID

ORACLE_TERM=xterm

export ORACLE_TERM

ORACLE_OWNER=oracle

export ORACLE_OWNER

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

export NLS_LANG

TNS_ADMIN=/home/oracle/OraHome1/product/network/admin

export TNS_ADMIN

CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip

export CLASSPATH

# Set up the search paths:

PATH=/usr/local/jre/bin:/usr/local/jdk/bin:/bin:/shin

PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin

PATH=$PATH:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:.

export PATH

cd /backup/yjvip/

#rm *.*

rqOne=`date +%x%t%X`

echo '---------------------------------------------'>>/home/oracle/jobs/crontabf

ile.log

echo '过程vipback运行start时间:'$rqOne>>/home/oracle/jobs/crontabfile.log

exp parfile=/home/oracle/jobs/parfile.par file=yjvip$DATE.dmp log=yjvip$DATE.log

rqOne=`date +%x%t%X`

echo '过程vipback运行结束时间:'$rqOne>>/home/oracle/jobs/crontabfile.log

/******************************************* ftp.sh **************************************/

#rqOne=`date +%x%t%X`

#/bin/echo '过程ftpback运行start时间:'$rqOne >>/home/oracle/jobs/ftp.log

#ftp 10.249.129.66

#rqOne=`date +%x%t%X`

#/bin/echo '过程ftpback运行结束时间:'$rqOne >>/home/oracle/jobs/ftp.log

#su - oracle -c "/home/oracle/jobs/vipback.sh"

#echo '------------------------------------'>>/home/oracle/jobs/crontabfile.log

#/home/oracle/jobs/vipback.sh

cd /backup/yjvip/

#chown -R oracle:oinstall *

rqOne=`date +%x%t%X`

echo 'ftp运行start时间:'$rqOne>>/home/oracle/jobs/ftp.log

/usr/bin/ftp 10.249.129.66

rqOne=`date +%x%t%X`

echo 'ftp运行结束时间:'$rqOne>>/home/oracle/jobs/ftp.log

/******************************************* .netrc *****************************************/

default login vippub passwd vipdoone

macdef init

passive

binary

prompt off

cd /vipbak

lcd /backup/yjvip

mput *.*

bye

/****************************************** pro.sh *******************************************/

##用于编译视图和脚本的sql脚本

#Set ORACLEenvironment

ORACLE_HOME=/home/oracle/OraHome1/product

export ORACLE_HOME

ORACLE_SID=oradbyj

export ORACLE_SID

/home/oracle/OraHome1/product/bin/sqlplus vipdl/vipdl123 @/home/oracle/jobs/pro.

sql

/home/oracle/OraHome1/product/bin/sqlplus vipdl/vipdl123 @/home/oracle/jobs/view

.sql

/*****************************************pro.sql *******************************************/

set feedback off

set heading off

spool /home/oracle/jobs/pro2.sql;

select 'alter procedure '||OBJECT_NAME||' compile;' from sys.all_probe_objects w

here OWNER='VIPDL' and OBJECT_TYPE='PROCEDURE' and STATUS='INVALID';

spool off;

@/home/oracle/jobs/pro2.sql;

exit;

/****************************************view.sql**********************************************/

set feedback off

set heading off

spool /home/oracle/jobs/view2.sql;

select 'alter view '||OBJECT_NAME||' compile;' from sys.all_probe_objects where

OWNER='VIPDL' and OBJECT_TYPE='VIEW' and STATUS='INVALID';

spool off;

@/home/oracle/jobs/view2.sql;

exit;

/***************************************crontab************************************************/

#

#将以上脚本加入定时触发器

#

20 02 * * * /home/oracle/jobs/Vpmn_sell.sh

30 05 * * * /home/oracle/jobs/Alert_everyday.sh

30 21 * * * /home/oracle/jobs/vipback.sh

30 23 * * 0,1,3,5 /home/oracle/jobs/ftp.sh

30 17 * * * /home/oracle/jobs/pro.sh

/// 完 ///

【责编:landss】

--------------------next---------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值