知识大全 ORACLE提供的重要的包

Posted 过程

篇首语:大道之行,天下为公。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE提供的重要的包相关的知识,希望对你有一定的参考价值。

ORACLE提供的重要的包  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前言

  Oracle提供了几个包 它们可以用来完成很多任务 从内部进程通信到文件I/O 到在PL/SQL块中动态创建和执行SQL语句 所有这些包由SYS用户所拥有—当Oracle最初安装时两个用户中的一个 这些包中最重要的包括

  DBMS_Alert 不用轮询就允许应用命名并发出警告条件信号的过程与函数

  DBMS_DDL 允许获取PL/SQL程序内部一定数量的DDL语句的过程

  DBMS_Describe 为存储过程与函数描述API的过程

  DBMS_Job 管理BLOBs CLOBs NCLOBs与BFILEs的过程与函数

  DBMS_Output 允许PL/SQL程序生成终端输出的过程与函数

  DBMS_Pipe 允许数据库会话使用管道通信(通信频道)的过程与函数

  DBMS_SQL 在PL/SQL程序内部执行动态SQL的过程与函数

  DBMS_Utility

  UTL_File 允许PL/SQL程序读写服务器文件系统上的文本文件的过程与函数

  用DBMS_JOB来实现高级计划任务

  程序有三个参数 需要提交的任务的名字 启动任务的时间已经执行该任务的间隔时间

  dbms_job submit(what= statspack_alert sql;

  next_date=sysdate+ / ——在下一个小时后启动

  interval= sysdate+ / );——每小时运行一次

  问题是 尽管我们在这个程序中指定了任务起始时间和重新执行的时间间隔 但是我们看不到在预定时间运行该任务的机制 例如 如何让一个任务在早上 点启动 每小时 运行一次 最后在下午 点终止呢?

  上面的例子让该任务每小时运行一次 但是为了获得时间间隔 它有必要创建两个其它任务

  一个任务在下午 点终止(主)任务

  另一个任务在第二天早上 点启动(主)任务

  为了实现高级计划任务 我们可以创建自定义间隔 让任务在特定的时间间隔来启动和终止 下面是一个例子  

      Schedule a snapshot to be run on this instance every hour

         variable jobno number;   variable instno number;   begin   select instance_number into :instno from v$instance;

  提交任务从 开始 每小时运行一次

         dbms_job submit(   jobno   statspack snap;   trunc(sysdate)+ /    trunc(SYSDATE+ / HH )   TRUE   instno);

  提交任务从 开始 小时后运行 

         dbms_job submit(   jobno    statspack snap;   trunc(sysdate+ )+ /    trunc(SYSDATE+ / HH )   TRUE   instno);

  提交任务从 开始 每隔十分钟运行一次

         dbms_job submit(   jobno    statspack snap;   trunc(sysdate+ / MI )    trunc(sysdate+ / MI )   TRUE   instno);

  提交任务从周一到周五早上 开始 每小时运行一次 

         dbms_job submit(   jobno    statspack snap;   trunc(sysdate+ )+ /    trunc(   least(   next_day(SYSDATE MONDAY )   next_day(SYSDATE TUESDAY )   next_day(SYSDATE WEDNESDAY )   next_day(SYSDATE THURSDAY )   next_day(SYSDATE FRIDAY )   )   + / HH )   TRUE   instno);   mit;   end;

  DBMS_Job包的用法例子

   创建测试表 

         SQL> create table a(a date);

  表已创建

   创建一个自定义过程  

         SQL> create or replace procedure test as     begin     insert into a values(sysdate);     end;     /

  过程已创建

   创建JOB 

         SQL> variable job  number;   SQL>   SQL> begin     dbms_job submit(:job test; sysdate sysdate+ / );   如果要按照分钟来执行最好使用           sysdate+ / / 执行的间隔时间为 分钟 如果需要 分钟执行 则将 改成 就可以了  每天           分钟 即一分钟运行test过程一次     MIT;     end;     /

  PL/SQL过程已成功完成

   运行JOB  

         SQL> begin     dbms_job run(:job );     end;     /

  PL/SQL过程已成功完成  

         SQL> select to_char(a yyyy/mm/dd hh :mi:ss )时间from a;

  时间 

   / / : :

   / / : :

   / / : :

   修改下次执行时间( 分钟后执行)  

         SQL>begin     dbms_job next_date (:job SYSDATE +  /( * ));     end;     /

   删除JOB 

         SQL> begin     dbms_job remove(:job );     end;     /

cha138/Article/program/Oracle/201311/18928

相关参考

知识大全 Oracle数据库提供的恢复机制

Oracle数据库提供的恢复机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle数据

知识大全 Oracle提供免费OracleLinux更新源

Oracle提供免费OracleLinux更新源  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 使用Oracle10g提供的flashback drop新特性

使用Oracle10g提供的flashbackdrop新特性  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 用.NET新提供的managed provider来访问Oracle数据

用.NET新提供的managedprovider来访问Oracle数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 用 Oracle AS 10g 为PHP提供的一次性登录

用OracleAS10g为PHP提供的一次性登录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 浅紫色和粉红色的包哪个好看 女士的

浅紫色和粉红色的包哪个好看女士的1粉红色的包适合搭配皮肤好、身材苗条、穿浅色衣服的年轻的女孩,更显女孩的青纯雅致。2淡紫色的包适合搭配气质好、有内涵、举止庄重大方的女士,适宜年龄更宽泛一些。浅紫色围巾

知识大全 去旅行我带什么颜色的包

去旅行我带什么颜色的包个人觉得带黑色或者军绿色这样深色的包包,旅行长途在外奔波劳碌的,包包容易脏,而深色比较耐脏,你总不想旅行到了半路还要洗包包,或者一直背着脏包包吧。我行我印。是什么颜色的?是绚烂缤

知识大全 eclipse下有用的包JadClipse和FindBugs

eclipse下有用的包JadClipse和FindBugs  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 使用特定的包在Java中高效处理日志记录

使用特定的包在Java中高效处理日志记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这几天由

知识大全 Oracle学习的一些建议兴趣很重要

Oracle学习的一些建议兴趣很重要  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!学习Oracle