Oracle
Enterprise Manager Administrator's Guide
Release 1.6 A63731-01 |
|
The Job Scheduling services allow you to automate standard and repetitive tasks, such as executing a SQL script or executing an operating system command. With the Job system, you can create and manage jobs, schedule execution of jobs, and view information about the jobs. Jobs can be scheduled on a single node or multiple nodes in the network, provided that the node has an intelligent agent running on it. The topics discussed in this chapter include:
The Job scheduling process includes:
The Job system provides a variety of predefined job tasks,
or you can submit your own tasks by executing a SQL*Plus script or running
an operating system program. Job tasks are implemented in the Tool Command
Language (Tcl) scripts with Oracle extensions (OraTcl) to include database
specific commands. You can write your own Tcl script and submit it with
the Run Tcl job task. For more information on custom job scripts, see the
Oracle Enterprise Manager Application Developer's Guide.
The tasks are grouped by the destination of the task:
The tasks allow you to:
For information on Oracle predefined job tasks and their
parameters, see the online help for Oracle job tasks and Oracle
Job Tasks on page 4-17.
You can combine two or more tasks into one job, called a
composite job. Composite jobs can contain test conditions based on the
success of a task. For example, if a composite job consists of two tasks,
starting up a database and then running a SQL script, you can specify that
the script be run only if the database was successfully started.
You can create jobs that can be used as fixit jobs
for event conditions that are monitored with the Event Management System.
Fixit jobs cannot be scheduled. See Chapter 5,
"Event Management" for information on monitoring events in the system.
You need to set up a password file to perform administration
tasks, such as start up or shut down, on a remote database. See Administration
of a Remote Database on page 1-23.
Jobs are normally run with the user preferences of the administrator
who submitted the job. This ensures that jobs cannot be used to perform
functions the administrator could not perform if logged into the machine
directly. For example, to write a job output file to the ORACLE_HOME/network/agent/
directory, the administrator must have permissions to write to that directory
on that node.
Because jobs are categorized by the type of service they
act on, the job system knows what credentials to pass to the agent. If
the job runs on a node, the job system passes either the user preferences
for the node or, if none are specified, your Console username and password.
If the job runs on a service, such as a database, the job system also passes
the user preferences for the service. For information on user preferences,
see Console User Preferences on page
1-25.
You must set up valid user credentials for the nodes that
you want to run jobs on. Node credentials are required for all jobs. If
node credentials are not set up correctly for an NT node, you may get the
"Failed to Authenticate User" error message. For more information on configuration
issues, see the Oracle Enterprise Manager Configuration Guide.
The Job system is simple to use because the task of scheduling
and managing jobs is centralized in the Enterprise Manager Console. The
administrator only needs to submit a job once, regardless of the number
of destinations on which the job will run or the number of times the job
will be run.
When you submit a job, the Console's daemon process sends
the job information to the appropriate intelligent agents on the destinations
you selected. The agents are responsible for executing the job on the specified
schedule and returning job status messages to the Console through the daemon.
There is usually a slight delay between the submitting the
job and the notification by the agent.
To schedule a job, you do not have to connect to the node
on which the job will be run. You only need to submit the job to the Console
and specify the destinations on which it should run. The destinations can
include nodes, databases, listeners, and user-defined groups that have
been created with the Map system.
Jobs can only be run on nodes where an intelligent agent
is running. If you send a job to a group, the job is only scheduled on
the nodes in the group where the agent is running.
The Job system of Enterprise Manager allows you to efficiently
run jobs on multiple remote nodes by transferring job information to the
agents servicing the nodes. When a job is executed, it is run by the agent
on that node, thus minimizing network traffic between the remote node and
the Console and communication daemon. In addition, jobs can be run on multiple
nodes simultaneously because there is an intelligent agent residing on
each node.
When you submit a job to one or more remote sites, it is
possible that any one of those site may be down. If a site or its agent
is down, the Communication Daemon queues any job requests that could not
be delivered to the site. Once the site can be contacted, the daemon submits
the queued job to the agent. When a job is submitted to an agent, the Communication
Daemon attempts to validate the specified destinations. See Destination
Validation Dialog on page 2-14.
You can view the different pages of job information by selecting the page tabs in the Job window. The pages in the Job window are:
You can switch between the pages by clicking the tab of each
page. The rows in both pages can be sorted on any column by clicking the
column heading.
The Job window can be hidden or shown by selecting Job in
the Console View menu. You can also hide or show the window by clicking
the Job system icon in the Console toolbar. See Figure
4-1, "Job Window in the Console" for an illustration of the Job Scheduling
window.
The Active Jobs page contains a summary of the active jobs
on the network. These are jobs that you have submitted to the job system
and are not yet completed. Each row is an execution of a particular job
scheduled on a specific destination. While a job may execute multiple times,
the job listed in the Active Jobs page is the one that is currently scheduled
or running. You can use the Show Details menu option to display the details
of the selected job. You cannot modify these jobs.
You can double-click on a job listed in the Active Jobs page to view the job details.
Job History contains a list of previous job executions. These are jobs that have been submitted to an agent and have executed successfully or unsuccessfully. This page also lists deleted jobs. You cannot modify these jobs.
You can double-click on a job listed in the Job History page
to display the Job property sheet and view the Job Output dialog box, if
output exists for the job. If no output is produced by a job, a message
displays that states that there is no output for the job. If the output
includes only blank spaces, the dialog box is blank.
You can save the jobs from the Job History page to a text
file, then clear the jobs from the Job History window. This prevents the
Job History page from being overloaded with obsolete jobs that occurred
in previous days.
Job Library contains a list of the jobs that you have created and saved. These jobs can be submitted to the job system at a later date. This is useful if you want to submit the same job at different times. You can use the Modify Saved Job menu option to modify a job selected in this page. You can also double-click on a job listed in the Job Library page to modify the job.
The Job menu allows you to create, modify, save, submit,
and manage jobs. The menu options are enabled depending on the items selected
in the Job window. See Figure 4-1, "Job Window
in the Console" for an illustration of the Job menu.
When you submit or delete a job, there is usually a slight delay while the agent processes the request.
Allows you to create a new job. See Creating, Modifying, or Viewing a Job on page 4-9.
Displays the property sheet for the selected job in the Active Jobs page of the Job window. The property sheet is in read-only format. Active jobs can be removed but not modified. See Creating, Modifying, or Viewing a Job on page 4-9.
Removes the selected job from the Active Jobs page of the Job window. If you experience problems removing a job, see the Delete option of the Daemon Manager Menu on page 6-11.
Saves the contents of the Job History page to a text file. Enter a valid file name or select an existing file in the file selection dialog box.
Prints the jobs listed in the Job History page.
Clears the jobs listed in the Job History page.
Allows you to modify the job selected in the Job Library
page of the Job window. The property sheet is the same as the property
sheet for creating a new job. See Creating,
Modifying, or Viewing a Job on page 4-9.
When you create, modify, or view details of a job, similar property sheets display. The contents of the Create Job and Job Details property sheets are nearly identical. See Figure 4-2, "Job Property Sheet" for an illustration of a Job property sheet. The property sheets contains:
When submitting a job that consists of multiple tasks, an
error may occur if the string of arguments that was sent is longer than
the internal buffer. If that error occurs when submitting a job, divide
the tasks among multiple jobs and resubmit the jobs.
There is usually a slight delay between the submitting the
job and the notification by the agent.
Only saved jobs that are in the Job Library page of the Job window can be modified. Submitted jobs in the Active Jobs window cannot be modified.
The General page allows you to determine job name, description, type, fixit job status, and destinations.
Enter the name of the new job.
Enter the description of the job.
Check this box if you want to use this job as fixit job to
correct an event condition. The fixit job must be submitted to the destination
where the event is being monitored. A fixit job cannot be scheduled.
The job can be selected from the Fixit Job list in the Event Set Management Parameters page after it has been successfully submitted to an agent. See Creating or Modifying an Event Set on page 5-14.
Select the destination type from the pull-down list: Database, Listener, Node, or other service that is integrated into the Console.
Select the destinations of the job in the Available Destinations
list and click the << (Add) button to move the destination to the
Selected Destinations list.
The destinations are determined by the Job Type. The destinations
include databases, listeners, nodes, and groups of these objects.
Only network objects that have been discovered correctly
and have an Intelligent Agent running are included in the list of available
destinations. See Discovering Services
on page 2-8.
The Task page allows you to choose the tasks that you want the job to perform.
Select a task and click on the << (Add) button to include the task in the job. You can add multiple tasks to the job from the Available Tasks scrolling list. For information on Oracle predefined job tasks and their parameters, see the online help for Oracle job tasks and Oracle Job Tasks on page 4-17.
You can remove tasks from this list. Select the task and
click on the >> (Remove) button.
On the Parameters Page, you specify parameter settings for the selected job tasks. To set the parameters for a task, select the task in the Selected Tasks list. The parameters for the selected task are displayed on the right side of the Parameters Page.
Select the task for which you want to set parameters.
Specify the parameters for the selected task. You can enter
values in the entry boxes or select values from the pull-down lists. The
parameters vary according to the job task. For information on Oracle predefined
job tasks and their parameters, see the online help for Oracle job tasks
and Oracle Job Tasks on page 4-17.
For some jobs, you can override the preferred credentials
for connecting to the service. This allows you to enter a username and
password. For information on user preferences, see Job
Credentials on page 4-3 and Console
User Preferences on page 1-25.
The Schedule page allows you to schedule the execution of the job task.
Select the frequency that you want the task executed. The choices are Immediately, Once, On Interval, On Day of Week, and On Date of Month.
Choose the first date and time that you want the task executed. This is the starting time for any task scheduled on an interval.
Choose the last date and time that you want the task executed. This option does not apply if you chose the Immediately or Once execution options.
Select the time zone from the pull-down list. The choices
are Agent, Console, and GMT. For this release, only the Agent time zone
is available.
The Progress page contains all notifications that have been
received for a specific job. Each row in the page summarizes a status change
of the job. If you display the Progress page for an execution in the History
Page, the page typically displays Submitted, Scheduled, Running, and Completed
or Failed notifications for that execution. If you display an execution
from the Active Jobs page, the Progress page displays only those notifications
that have been received.
When you display the Progress page, the page displays the
notifications only for the destination and execution time of the job occurrence
selected. To view the notifications associated with other destinations
or execution times, select other destinations or execution times from the
Destination or Execution pull-down lists. You can also select <All>
in either list to view all notifications. If the job has been Deleted on
a destination, the Deleted notification always displays at the top of the
Progress Page.
The Progress page is only available with the Show Details
option of the Job menu.
The following options are available on the Progress page:
Select the destination of the job occurrences you want to view from the pull-down list. Select <All> for all destinations. The list of job occurrences changes according to the selection.
Select the execution time of the job occurrences you want to view from the pull-down list. Select <All> for all executions. The list of job occurrences changes according to the selection.
Select the Save As button to save the list of job occurrences as a local file using the standard Windows file dialog box.
Select the Print button to print the list of job occurrences in the Progress page.
If output exists for the selected occurrence of a job, you
can display the output in the Output dialog box. You can also double-click
on a selected job to display output.
The columns in the Progress page contain the following information:
The job type is depicted with an icon at the left of the row. These icons are the same as the Active Jobs page. See Active Jobs on page 4-6.
For information on the status of a job, see Active Jobs on page 4-6 and Job History on page 4-7.
This is the destination of the specific occurrence of the job.
This is the time the Console was notified.
The Output dialog box displays any output, including error
messages, as a result of the execution of an occurrence of a job.
If no output is produced by a job, a message displays that
states that there is no output for the job. If the output includes only
blank spaces, the dialog box is blank.
With the Output dialog box displayed, the following options are available:
Select the Save As button to save the output as a local file using the standard Windows file dialog box.
Select the Close button to exit the dialog box after viewing it.
Select the Print button to print the contents of the dialog box.
Select the Job Definition button to display more details.
This example illustrates how to complete the General, Tasks, Parameters, and Schedule Pages when creating a job. It also describes how to save and submit a job.
If the job is processed successfully, the job will start
executing on 7/1/98 at 12:00 AM. After an execution of a job, it is moved
to the Job History page of the Job window. You can view the progress of
the job and any output in the Progress Page.
This section lists the Oracle predefined job tasks and parameters for:
This information is entered in the Job
Task Page and Job Parameters Page
of the Create Job property sheet. The name and the parameters are listed
for each task.
For information on the import, export, and load tasks, see
Data Manager Tasks on page 14-8.
For information on Software Manager job tasks, see Distribute
and Install Software Packages on page 15-21. For information on
backup tasks, see Selected Backup Manager
Tasks on page 12-48. Other tasks; such as Parallel Server job tasks;
are described in the online help and documentation for the specific product.
These are the tasks that can be run on databases and database groups. In addition, you can run operating system or host job tasks.
You need to set up a password file to perform administration
tasks on a remote database. See Administration
of a Remote Database on page 1-23.
This job executes a SQL*Plus script, allowing any legal SQL or PL/SQL scripts to be run, including all SQL*Plus formatting commands. You can load a previously created script or simply type SQL commands in the Script Text box. You can record and save SQL commands with the Log menu options and use those saved commands as a script. When you create a SQL script, save it in the ORACLE_HOME\sysman\scripts\sql directory to make the script easily accessible. SQL*Plus must be installed in the ORACLE_HOME of the target database.
If you want to create a new SQL*Plus script file, first click the Save button and enter a file name in the File Name field of the Save As dialog box.
See Console User Preferences on page 1-25 for more information.
If you need to determine whether a SQL error has occurred
during the running of a SQL script, include "WHENEVER SQLERROR EXIT SQL.SQLCODE"
at the beginning of the script. If a SQL error occurs, the job status is
set to failed.
This job executes a Server Manager line mode script that contains DBA commands. You can record and save SQL commands with the Log menu options and use those saved commands as a script. When you create a DBA script, save it in the ORACLE_HOME\sysman\scripts\dba directory to make the script easily accessible.
If you want to create a new script file, first click the Save button and enter a file name in the File Name field of the Save As dialog box.
See Console User Preferences on page 1-25 for more information.
If you want to save the changes to a different file, you
can change the name of the DBA script file in the File Name field of the
Save As dialog box.
This job task shuts down an Oracle database instance.
See Console User Preferences
on page 1-25 for more information.
This job task starts up an Oracle database instance.
/private/oracle/admin/ora8db/myinit.ora
If you do not enter a filename, the default platform-specific initialization file is used.
See Console User Preferences on page 1-25 for more information.
These are the tasks that can be run on the host's operating system.
This job allows you to submit a message to the selected destinations
using the platform-specific mechanism. To send the message to a destination,
you may need to have permissions on specific directories. For example,
you may need permissions on /dev/console (system console device) to send
a message to a Unix destination.
On an Windows platform, this task sends the message to ALL users on the network. To send a message to specific users/domain, use the Run OS Command task to execute the net command with the send option. See the Windows online help for information on net command line arguments. You can also enter net send /help at the MSDOS command prompt.
Message Text. Enter the message text that you want sent to
the selected destinations.
This is a generic method of running any program or script that is executable on that host, provided your credentials allow you to do that.
This job executes a Tcl script. This is a generic method
of running any Tcl script that is executable on that host, provided the
preferred credentials allow that. See Console
User Preferences on page 1-25 for more information.
When you create a Tcl script, save it in the ORACLE_HOME\sysman\scripts\tcl directory on the Console machine to make the script easily accessible.
If you want to create a new Tcl script file, first click the Save button and enter a file name in the File Name field of the Save As dialog box.
Multiple parameters, such as "one two three", are treated as only one parameter. To ensure that the parameters entered in the field are treated as separate arguments and to ensure that the Tcl script functions in future releases, include the following at the beginning of the Tcl script:
set argc [llength $argv] if { $argc == 1} { set argv [lindex $argv 0]}
If you want to save the changes to a different file, you
can change the name of the Tcl script file in the File Name field of the
Save As dialog box.
For information on writing Tcl job tasks, see the Oracle
Enterprise Manager Application Developer's Guide. For information on Tcl,
see "Tcl and the Tk Toolkit," by John K. Outsterhout, published by Addison-Wesley
Publishing Company, 1994. For examples of Tcl job scripts, review the scripts
located in ORACLE_HOME\network\agent\jobs\oracle subdirectories on the
machine where an agent has been installed. Do not edit these Tcl scripts.
The following is an example of a Tcl script (Unix platform) that logs on to a database and runs a SQL statement:
set argc [llength $argv] if {$argc == 1} {set argv [lindex $argv 0]} set connect_str [lindex $argv 0] set sql_statement [lindex $argv 1] set lda [oralogon $connect_str] set cur1 [oraopen $lda] orasql $cur1 $sql_statement set result_row [orafetch $cur1] puts $result_row oraclose $cur1 oralogoff $lda
When the script is executed with the Run Tcl Script task, the following are examples of command line arguments that should be entered in the Parameters field:
"scott/tiger@or803.world" "select * from emp"
The following is an example of a Tcl script (Unix platform) that displays the contents of a file if it exists and triggers a third-party event if it does not exist:
set argc [llength $argv] if {$argc == 1} {set argv [lindex $argv 0]} set myfile [lindex $argv 0] append mymessage "File not found:" $myfile if {[file exists $myfile]} { catfile $myfile } else { puts $mymessage orareportevent /user/host/file/alert $oramsg(nodename) 1 $mymessage }
When the script is executed with the Run Tcl Script task, the following is an example of a command line argument that should be entered in the Parameters field:
"/export/oracle/network/agent/dbsnmp.ver"
When orareportevent is used to trigger a third-party event
with a job script, you need to create and register an event set that has
the "Accept third party events" box checked. See Event
Set Management General Page on page 5-15.
These are the tasks that can be run on Listeners. In addition, you can run operating system or host job tasks.
This stops the Listener. The preferred credentials for the node must have a user that has system administration privileges. For information on user preferences, see Console User Preferences on page 1-25.
Password. Enter a password for the listener if you choose
to override the default password.
This can be invoked to start the Listener. The preferred credentials for the node must have a user that has system administration privileges. For information on user preferences, see Console User Preferences on page 1-25.