成都网站建设设计

将想法与焦点和您一起共享

oracle如何自动执行 oracle自动任务

oracle12c定时任务怎么自动执行

1.引言

创新互联公司专注于企业全网营销推广、网站重做改版、汉阳网站定制设计、自适应品牌网站建设、H5建站购物商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为汉阳等各大城市提供网站开发制作服务。

定制定时执行的任务有两种形式,系统级别和数据库级别,

从操作系统级别来讲,

windows系统我们可以使用任务计划来实现,

对于winXP系统,设置步骤如下,开始---设置---控制面板---任务计划,然后添加任务计划,按向导完成配置即可;

对于win7系统,设置步骤如下,点击开始,然后在 搜索程序和文件 框中输入 [任务计划],然后点击出来的任务计划程序,创建一个基本任务即可;

linux系统我们可以使用crontab命令来是实现,

关于crontab命令的使用可以见之前的博客

从数据库级别来讲,我们可以采用数据库的job来实现;

本节主要介绍通过oracle数据库的job来定制一个简单的定时执行任务。本节会采用oracle定制一个定时向一个表中插入语句。

这里聊一下我做这个oracle定时任务的缘由:

项目中要在固定的时间,把一个数据库中某些表的数据同步到另外一个数据库,显然这些工作我不能每次都自己去做,

那么,我要怎么来做呢?这个时候oracle的定时执行任务JOB无疑是我的最佳选择。我把同步的脚本放在一个存储过程中,

然后在固定的时间去执行这个存储过程就OK了。

注意:以下所有的操作都是在sytem用户下执行。采用PL/SQL做的客户端登陆。

oracle数据库如何启动时自动执行定时任务job

oracle数据库如何启动时自动执行定时任务job

job定时任务需要依托存储过程。

1、创建存储过程:create or replace procedure MYPROC as

begin

insert into TEST values(sysdate);

end;

2、创建job

variable job1 number;

begin

dbms_job.submit(:job1,'MYPROC;',trunc(sysdate+1),'sysdate+1');--从今晚12开始运行,以后每天运行一次

end;

oracle 怎么自动执行查询的结果

你先把你查询出来的内容保存为一个文件,然后做一个批处理文件执行这个保存好的文件,请参考一下文档.

oracle数据库如何每天自动执行脚本完成正式数据库到备份数据库的备份

楼主:供参考

利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。

建议一(做周备份并压缩为RAR)以下为ORACLE 自动备份批处理文件内容,请配合任务计划实现 :

例:

@ECHO OFF

SET BACKPATH=d:\

ECHO 准备备份数据库

REM 7天一个循环

IF EXIST %BACKPATH%\ONE GOTO ONE

IF EXIST %BACKPATH%\TWO GOTO TWO

IF EXIST %BACKPATH%\THREE GOTO THREE

IF EXIST %BACKPATH%\FOUR GOTO FOUR

IF EXIST %BACKPATH%\FIVE GOTO FIVE

IF EXIST %BACKPATH%\SIX GOTO SIX

IF EXIST %BACKPATH%\SEVEN GOTO SEVEN

ECHO E %BACKPATH%\ONE

:ONE

SET BACKPATH_FULL=%BACKPATH%\ONE

REN %BACKPATH%\ONE TWO

GOTO BACK

:TWO

SET BACKPATH_FULL=%BACKPATH%\TWO

REN %BACKPATH%\TWO THREE

GOTO BACK

:THREE

SET BACKPATH_FULL=%BACKPATH%\THREE

REN %BACKPATH%\THREE FOUR

GOTO BACK

:FOUR

SET BACKPATH_FULL=%BACKPATH%\FOUR

REN %BACKPATH%\FOUR FIVE

GOTO BACK

:FIVE

SET BACKPATH_FULL=%BACKPATH%\FIVE

REN %BACKPATH%\FIVE SIX

GOTO BACK

:SIX

SET BACKPATH_FULL=%BACKPATH%\SIX

REN %BACKPATH%\SIX SEVEN

GOTO BACK

:SEVEN

SET BACKPATH_FULL=%BACKPATH%\SEVEN

REN %BACKPATH%\SEVEN ONE

GOTO BACK

:BACK

EXP ccense/ccense FILE=%BACKPATH_FULL%.DMP

RAR a %BACKPATH_FULL%.rar %BACKPATH_FULL%.DMP

DEL %BACKPATH_FULL%.DMP

SET BACKPATH=

SET BACKPATH_FULL=

EXIT

说明:

文件名以星期来命名

备份后调用rar进行压缩

这样可以保存一个星期的历史数据

注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下

建议二:

1,批处理文件backup.bat\.

exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log

将生成oracle2006-01-09.dmp文件

exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log

将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环 $date$日期参数可灵活运用。

怎样实现每天自动执行oracle的存储过程一次

1,创建一个存储过程 bb 作用是往pig表中插入数据

SQL create or replace procedure JOB_PRO_TEST as

2 begin

3 insert into JOB_TEST values(sysdate);

4 end;

5 /

Procedure created

2,创建一个job,名称为job2010 ;作用是每分钟(60×24=1440)执行一次存储过程JOB_PRO_TEST。

SQL variable job2010 number;

SQL begin

2 dbms_job.submit(:job2010,'JOB_PRO_TEST;',sysdate,'sysdate+1/1440');

3 end;

4 /

注意:这里系统自动生成job id 为41

PL/SQL procedure successfully completed

job2010

---------

41

3,运行job2010

SQL begin

2 dbms_job.run(:job2010);

3 end;

4 /

PL/SQL procedure successfully completed

job2010

---------

41

4,删除job2010

SQL begin

2 dbms_job.remove(:job2010);

3 end;

4 /


文章标题:oracle如何自动执行 oracle自动任务
本文URL:http://chengdu.cdxwcx.cn/article/hpgogd.html