102. While creating a job class using the DBMS_SCHEDULERpackage, you set the logging levelto
LOGGING_RUNS. What would be the impact of this setting?
A.Oracle Scheduler would write detailed information to the job log for each run of each job in the job class.
B.Oracle Schedulerwould write detailed information to the job log for the first run of each job in the jobclass.
C.Oracle Schedulerwould write detailed information to the job log for each run of only the first job in thejob class.
D.Oracle Schedulerwould write detailed information for all operations performed on all jobsin the job class.
Answer: A
Controlling Job Logging
You can control the amount of logging that the Scheduler performs on jobs at either a class or job level. Normally, you will want to control jobs at a class level as this offers a full audit trail. To do this, use the logging_level
attribute in the CREATE_JOB_CLASS
procedure.
For each new class, the creator of the class must specify what the logging level is for all jobs in that class. The three possible options are:
-
DBMS_SCHEDULER.LOGGING_OFF
No logging will be performed for any jobs in this class.
-
DBMS_SCHEDULER.LOGGING_RUNS
The Scheduler will write detailed information to the job log for all runs of each job in this class.
-
DBMS_SCHEDULER.LOGGING_FULL
In addition to recording every run of a job, the Scheduler will record all operations performed on all jobs in this class. In other words, every time a job is created, enabled, disabled, altered, and so on will be recorded in the log.
By default, only job runs are recorded. For job classes that have very short and highly frequent jobs, the overhead of recording every single run might be too much and you might choose to turn the logging off. You might, however, prefer to have a complete audit trail of everything that happened to the jobs in a specific class, in which case you need to turn on full logging for that class.
The second way of controlling the logging level is on an individual job basis. You should keep in mind, however, that the log in many cases is used as an audit trail, thus if you want a certain level of logging, the individual job creator must not be able to turn logging off. The class-specific level is, therefore, the minimum level at which job information will be logged. A job creator can only turn on more logging for an individual job, not less.
This functionality is provided for debugging purposes. For example, if the class-specific level is set to record job runs and the job-specific logging is turned off, the Scheduler will still log the runs. If, on the other hand, the job creator turns on full logging and the class-specific level is set to record runs only, all operations on this individual job will be logged. This way, an end user can test his job by turning on full logging.
To set the logging level of an individual job, you must use the SET_ATTRIBUTE
procedure on that job. For example, to turn on full logging for a job calledmytestjob
, issue the following statement:
DBMS_SCHEDULER.SET_ATTRIBUTE ( 'mytestjob', 'logging_level', DBMS_SCHEDULER.LOGGING_FULL);