400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

ORACLE中如何使用Programs

小编给大家分享一下ORACLE中如何使用Programs,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

十载建站经验, 网站设计制作、成都网站建设客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

2.1  创建Programs

Scheduler 中的Program对象并不是常规意义上的"程序"或"应用",而就是一个"对象",由DBA定义的,具有执行某项功能的特殊对象。Program中实际执行的操作可以分为下列三种类型:

创建Programs使用DBMS_SCHEDULER.CREATE_PROGRAM过程,该过程支持的参数如下:

如上所示,前三项为必选参数,各参数实际代表的意义如下:

下面实际操作一下看看,PL/SQL或PROCEDURE没有挑战(ORACLE中直接即可调用),咱们创建一下program,直接调用操作系统中的ls命令,操作如下:

2.2  管理Programs

定义的program如何执行,这里先卖个关子,前面介绍CREATE_PROGRAM过程的参数时提到,每个program最多支持255个参数,要为program添加参数,可以通过DEFINE_PROGRAM_ARGUMENT过程。不过在为其添加参数前,要注意program的NUMBER_OF_ARGUMENTS指定的数量,如果该值为0,那么为其添加参数时就会报错。

查询创建的program的信息,可以通过USER_SCHEDULER_PROGRAMS视图,例如:

由于前面创建program時並未指定NUMBER_OF_ARGUMENTS的值,因此我们这里需要首先修改该值为一个非0值,操作如下:

没错,操作还是使用DBMS_SCHEDULER.SET_ATTRIBUTE过程。另外需要注意,program的NUMBER_OF_ARGUMENTS参数可是说想改就能改的,正常情况下该处理必须是在program处于enabled之前确认完毕,否则会触发ORA-27465错误,因此要修改program的参数之前,必须首先确保要修改program的enabled状态为false。

那么对于已经处于enabled状态的program,如何修改其状态属性呢?其实很简单,前面操作jobs时使用的DBMS_SCHEDULER.DISABLE过程还记的吗?没错,该过程对于program同样好使,并且调用方式也完全一样,例如:

另外,如果希望将program置为enabled状态,执行DBMS_SCHEDULER.ENABLE过程即可,这里不再例举。

接下来,就可以为刚刚创建的my_program1添加路径参数,操作如下:

查询为program定义的参数,可以通过USER_SCHEDULER_PROGRAM_ARGS视图,例如:

删除program的argument操作也很简单,使用DROP_PROGRAM_ARGUMENT过程即可,例如:

该过程第一个参数指定program名称,第二个参数指定定义的argument名称,当然此处也可以指定argument的位置,即前例视图返回结果中的 ARGUMENT_POSITION 列值。

要删除program的话就更简单了,使用DROP_PROGRAM过程即可,例如:

当然啦,删除program的同时,也会删除该program对应的所有arguments。

实际上SCHEDULER中创建job时,也可以指定执行外部的程序。SCHEDULER中的Job更像是之前版本继承过来的JOBS,只不过10g中SCHEDULER管理的JOBS功能更加强大。Programs与Jobs不同的是,Jobs是定义好的,定时执行的任务,而Programs则是定义好的,等待被执行的对象。

以上是“ORACLE中如何使用Programs”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前题目:ORACLE中如何使用Programs
转载源于:http://mzwzsj.com/article/gocpdg.html

其他资讯

让你的专属顾问为你服务