Chapter 8. Scheduling

Administering a database requires running lots of tasks, sometimes on the spur of the moment, but often at regularly and predictably scheduled times. Examples include collecting statistics on database objects, gathering information on free space inside the database, analyzing and reporting problems with an instance directly to the DBA on call, and so on. Such tasks may be database-related or may be related to the operating system—for example, checking space in filesystems, making sure that other servers are reachable, and so on. As a DBA, you can probably think of hundreds of situations where a specific task, usually referred to as a job, needs to be scheduled to run at some point in the future rather than executed immediately.

This chapter describes PL/SQL’s facilities for scheduling jobs in the database, as well as outside the database (in the same server). This functionality is provided via two built-in packages: DBMS_JOB and DBMS_SCHEDULER. DBMS_JOB, first introduced in the Oracle8i Database, is quite limited in functionality. With Oracle Database 10g Release 1, Oracle effectively replaced DBMS_JOB with DBMS_SCHEDULER. The newer package is a much more robust utility and should be used in place of DBMS_JOB. This chapter focuses solely on showing you how to use DBMS_SCHEDULER. Oracle Enterprise Manager in Oracle Database 10g provides a graphical user interface that may be used to manage job scheduling, but that discussion is outside the scope of this chapter. ...

Get Oracle PL/SQL for DBAs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.