oracle下定时执行过程脚本

本文介绍了如何在Linux环境下配置Oracle数据库的定时任务,包括设置环境变量、定义bat文件、编写备份、FTP传输和编译视图的脚本,并将这些脚本加入到cron定时器中进行自动化执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.knowsky.com/388621.html


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

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


2.linux下的oracle定时备份
 1).备份脚本
 2).定时通过FTP传输
 3).加入crontab队列

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


                                          windows下的定时执行脚本
/************************************exec.bat*********************************************/
net stop schedule
net start schedule
at 23:00 /every:Monday ,Tuesday,Wednesday,Thursday ,Friday,Saturday,Sunday d:\shell\PRo.bat
或 /every:5 ,10,15,20 ,25,30,Sunday d:\shell\pro.bat
或 /every:M,T,W,TH,F,S,Su d:\shell\pro.bat
运行这个bat文件后,就加入计划任务队列

/***********************************pro.bat***********************************************/
set ORACLE_SID=ORCLYJJK
echo %date%pro.sql脚本开始执行,时间:%time% >> d:\shell\pro.log
d:\oracle\ora81\bin\svrmgrl @d:\shell\pro.sql
或 sqlplus user/pass @d:\shell\pro.sql
echo %date%pro.sql脚本结束执行,时间:%time% >> d:\shell\pro.log
/***********************************pro.sql************************************************/
spool d:\backup\bk
connect internal/oracle
shutdown immediate
host copy d:\oracle\oradata\ora8i\*.* d:\backup
startup
spool off
//冷备份的脚本
execute pro_loop;
exit;
//执行过程

                                            Linux下的定时执行脚本

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

# .bash_profile

# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi         

# User specific environment and startup programs

PATH=$PATH:$HOME/binDISPLAY=10.249.129.65:0.0;              

export DISPLAYORACLE_BASE=/home/oracle/OraHome1/prodUCt;                 

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

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

export ORA_NLS33NLS_LANG=american_america.zhs16cgb231280;

export NLS_LANGLD_LIBRARY_PATH=$ORACLE_HOME/lib;

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

export CLASSPATHPATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc:/bin;export PATH./envlinux.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_TIME#export PATH#unset USERNAME

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

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

dateDATE=`date +%w`ORACLE_HOME=/home/oracle/OraHome1/product

export ORACLE_HOMEORACLE_SID=oradbyj

export ORACLE_SIDORACLE_TERM=xterm

export ORACLE_TERMORACLE_OWNER=oracle

export ORACLE_OWNERNLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

export NLS_LANGTNS_ADMIN=/home/oracle/OraHome1/product/network/admin

export TNS_ADMINCLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip

export CLASSPATH# Set up the search paths:PATH=/usr/local/jre/bin:/usr/local/jdk/bin:/bin:/shinPATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/binPATH=$PATH:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:.

export PATHcd /backup/yjvip/#rm *.*rqOne=`date +%x%t%X`echo '---------------------------------------------'>>/home/oracle/jobs/crontabfile.logecho '过程vipback运行start时间:'$rqOne>>/home/oracle/jobs/crontabfile.logexp parfile=/home/oracle/jobs/parfile.par file=yjvip$DATE.dmp log=yjvip$DATE.logrqOne=`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.shcd /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.66rqOne=`date +%x%t%X`

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

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

    default login vippub passwd vipdoonemacdef initpassivebinaryprompt offcd /vipbaklcd /backup/yjvipmput *.*bye

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

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

#Set ORACLEenvironmentORACLE_HOME=/home/oracle/OraHome1/productexport ORACLE_HOMEORACLE_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 offset heading offspool /home/oracle/jobs/pro2.sql;select 'alter procedure 'OBJECT_NAME' compile;' from sys.all_probe_objects where OWNER='VIPDL' and OBJECT_TYPE='PROCEDURE' and STATUS='INVALID';spool off;@/home/oracle/jobs/pro2.sql;exit;/****************************************view.sql*************************************************************/set feedback offset heading offspool /home/oracle/jobs/view2.sql;select 'alter view 'OBJECT_NAME' compile;' from sys.all_probe_objects whereOWNER='VIPDL' and OBJECT_TYPE='VIEW' and STATUS='INVALID';spool off;@/home/oracle/jobs/view2.sql;exit;


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

    ##将以上脚本加入定时触发器#20 02 * * * /home/oracle/jobs/Vpmn_sell.sh30 05 * * * /home/oracle/jobs/Alert_everyday.sh30 21 * * * /home/oracle/jobs/vipback.sh30 23 * * 0,1,3,5 /home/oracle/jobs/ftp.sh30 17 * * * /home/oracle/jobs/pro.sh

/// 完
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值