When the job execution fails, Oracle attempts to start it again one minute later. If it fails again, Oracle repeatedly doubles the amount of time it waits before the next execution attempt (i.e., 2, 4, 8, 16, etc., minutes), until it either exceeds the normal execution interval or fails 16 times. In this case, the job is flagged as broken.
The actual sequence is as follows:
Oracle always alters the session’s NLS parameters to the ones used when the job was originally submitted. For example, if you change the NLS_DATE_FORMAT after the job was submitted, that job still uses the original NLS_DATE_FORMAT defined when you first submitted the job.
Since jobs running as background processes have no associated terminal, it’s impossible to put an error message to the terminal. Consequently, to find an error that occurred during execution, you must check the log files to find the error number(s) and message(s).
To do this, check either the RDBMSxx/TRACE directory in the Oracle home catalog or the path defined in the BACKGROUND_DUMP_DEST parameter ...