What is the difference between DBMS_JOB and DBMS_SCHEDULER ?
相关问题
- Can I skip certificate verification oracle utl_htt
- how to calculate sum time with data type char in o
- keeping one connection to DB or opening closing pe
- System.Data.OracleClient not working with 64 bit O
- How can I get rid of dynamic SQL
相关文章
- node连接远程oracle报错
- oracle 11g expdp导出作业调用失败,提示丢包。
- 执行一复杂的SQL语句效率高,还是执行多少简单的语句效率高
- Oracle equivalent of PostgreSQL INSERT…RETURNING *
- Difference between FOR UPDATE OF and FOR UPDATE
- How can I convert a Bundle to a PersistableBundle?
- Oracle USING clause best practice
- Is there a method in PL/SQL to convert/encode text
One difference to be aware of is that unlike DBMS_JOB, DBMS_SCHEDULER performs a commit, which makes it unsuitable for some uses. It is also rather cumbersome for simpler requirements. While DBMS_JOB will no longer be enhanced, it is unlikely to ever be desupported, as there must be thousands of systems that are using it and rely on the way it works, including not performing an implicit commit of the transaction from which it was called.
See this Ask Tom thread for more.
Listed next are some of the benefits that DBMS_SCHEDULER has over cron:
• Can make the execution of a job dependent on the completion of another job
• Robust resource balancing and flexible scheduling features
• Can run jobs based on a database event
• DBMS_SCHEDULER syntax works the same regardless of the operating system
• Can run status reports using the data dictionary
• If working in clustered environment, no need to worry about synchronizing multiple cron tables for each node in the cluster
Listed next are some of the advantages of using cron:
• Easy to use, simple, tried and true
• Almost universally available on all Linux/Unix boxes; for the most part, runs nearly identically regardless of the Linux/Unix platform (yes, there are minor differences)
• Database agnostic; operates independently of the database and works the same regardless of the database vendor or database version
• Works whether the database is available or not
From other forums:
Although dbms_job still exists in 10g and 11g, Oracle recommends the use of dbms_scheduler in releases 10g and up. No new features are being added to dbms_job and you will likely quickly run into its limitations.
dbms_scheduler is more robust and fully-featured than dbms_job and includes the following features that dbms_job does not have :
Features in releases after 10g Release 1 include :