Oracle Enterprise Manager Administrator's Guide Release 2.2 Part Number A85248-01 |
|
The Job system allows 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, share jobs with other administrators, 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 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 Intelligent Agent User's Guide.
The tasks are grouped by the destination (target type) of the task:
The tasks allow you to perform such operations as:
See the online help for Oracle job tasks and "Oracle Job Tasks" on page 4-23 for information on Oracle predefined job tasks and their parameters.
You can combine two or more tasks into one job, called a composite job. Composite jobs consist of separate tasks that are constructed such that some tasks may or may not execute upon completion of another 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. Here, you specify a dependency between the two tasks that determine whether the next task is executed. The Job system allows you to specify one of three dependencies for any task: Always (default), Only on Success, or Only on Failure.
You can create jobs that can be used as fixit jobs that are to be run when a condition is signalled by the Event system. Fixit jobs are not scheduled. See Chapter 5, "Events" 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 the "Configuring a Remote Database for Backup or SYSDBA Administration" in the Oracle Enterprise Manager Configuration Guide for more information.
Creating your own job tasks using the SQL*Plus command language allows you to automate any number of complex database operations via the Job system and Intelligent Agent(s). The success or failure of a given SQL*Plus script is determined by the exit condition returned when the script completes. Because a SQL*Plus script can return an error condition that may not be recognized by the Intelligent Agent, such as a non-ORA error message, your job task can appear to complete successfully even though a command issued from within your script has failed. To avoid this situation, you must specify an operational clause when using a SQL*Plus EXIT command in your script. For example:
> EXIT sql.sqlcode > EXIT warning > EXIT 666
Using the EXIT command without specifying an operational clause (default) commits and exits with a value of SUCCESS. By explicitly defining the conditions under which your script terminates, the Intelligent Agent can ascertain whether your job has succeeded or failed. For more information on SQL*Plus and the SQL*Plus command language, see the SQL*Plus User's Guide and Reference.
Jobs are normally run with the 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 Intelligent Agent. The Job system uses Enterprise Manager System Preferences (Preferred Credentials) to determine what preference information needs to be passed. When a job runs on a node, the job system passes the administrator preferences for the node. When a job runs on a service, such as a database, the job system also passes the administrator preferences for the service. See "Preferred Credentials" on page 1-25 for information on administrator preferences.
Administrator preferences for nodes and/or services are given the following prioritization:
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.
When you submit a job, the Management Server sends the job information to the appropriate Intelligent Agents on the destinations you selected. The Intelligent Agents are responsible for executing the job on the specified schedule and returning job status messages to the Console through the Management Server. Once submitted, jobs will run regardless of whether you are logged in or not.
There is usually a slight delay between submitting the job and the notification by the Intelligent Agent.
To schedule a job, you do not have to connect at the time of job creation to the node on which the job will be run. You only need to submit the job from the Console and specify the destinations on which it should run. The destinations can include nodes, databases, listeners, user-defined groups that have been created with the Group system, or any other discovered services.
The Job system of Enterprise Manager allows you to efficiently run jobs on multiple remote nodes by transferring job information to the Intelligent Agents servicing the nodes. When a job is executed, it is run by the Intelligent Agent on that node, thus minimizing network traffic between the remote node and the Console and Management Server. In addition, jobs can be run on multiple nodes simultaneously because there is an Intelligent Agent residing on each node. 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 Intelligent Agent is running.
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 Intelligent Agent is down, the Management Server queues any job requests that could not be delivered to the site. Once the site can be contacted, the Management Server submits the queued job to the Intelligent Agent, which in turn executes the job on the node.
You can cancel a job by selecting the desired job from the Job Active window and choosing Remove Job from the Job menu. Care should be taken when cancelling a job. Cancelling a job that is currently running will interrupt the job process and terminate the job. Problems can arise when the job is composed of multiple job tasks with sequential dependencies.
You can view the different pages of job information by selecting the page tabs in the Job pane. The pages in the Job pane 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 pane can be hidden or shown by selecting Job in the Console View menu. You can also hide or show the pane by clicking the Job system icon in the Console toolbar.
The Active pane 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 page is the one that is currently scheduled or running. You can use the Edit Job menu option to display the details of the selected job. When selecting a job from the Active pane, the only job attribute you can modify is the job permission. See "Creating, Modifying, or Viewing a Job" on page 4-11
You can double-click on a job listed in the Active page to view the job details.
Name of the job.
Destination of the job.
database, listener, node.
Administrator submitting the job.
Status of job is one of the following:
This is the time the Intelligent Agent returns after the job has been scheduled by the Intelligent Agent.
The following options are available by selecting a job and clicking the right mouse button.
Displays the property sheet for the selected job. Only the permissions, notifications, and owner can be changed.
Displays a copy of the selected job. You can edit the property sheet and submit this job.
Copies the selected job to the Job Library if it does not already exist there.
Delete the selected job. If the job has not been saved to the Job Library, a warning dialog appears indicating that you are about to perform a remove operation. You may wish to copy the job to the job library before removing it.
Job History contains a list of previous job executions. These are jobs that have been submitted to an Intelligent Agent and have executed successfully or unsuccessfully. You cannot modify these jobs.
Refreshes the job history list. Job history is refreshed each time you move from the Active tab to the History tab. However, to refresh the job history list while currently viewing the History pane, you must click the Refresh History icon located at the bottom left of the Job pane.
Clears all entries in the Job History list.
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.
The following options are available by selecting a job and clicking the right mouse button.
Displays the property sheet for the selected job.
Displays a copy of the selected job. You can edit the property sheet and submit this job.
Copies the selected job to the Job Library if it does not already exist there.
Delete the selected job. If the job has not been saved to the Job Library, a warning dialog appears indicating that you are about to perform a remove operation. You may wish to copy the job to the job library before removing it.
You can save the jobs from the History page to a file, then clear the jobs from the History page. This prevents the History page from being overloaded with obsolete jobs that occurred in previous days. Choose the Report Job History option from the Job menu to save the history to a report. This report is a file on the machine where the Enterprise Manager Console is running.
You can create a new job similar to a job in the History page with the Create Like option. See "Creating, Modifying, or Viewing a Job" on page 4-11 for more information.
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 pane. See Figure 4-1, "Job Pane in the Console" for an illustration of the Job menu.
Allows you to create a new job. See "Creating, Modifying, or Viewing a Job" on page 4-11 for more information.
Allows you to create a new job like the selected job in the Job pane. See "Creating, Modifying, or Viewing a Job" on page 4-11 for more information.
Allows you to modify the job selected in the Job pane. The property sheet is the same as the property sheet for creating a new job, however, you can only modify job permissions. See "Creating, Modifying, or Viewing a Job" on page 4-11 for more information.
Copies the selected job to the Job Library if it does not already exist there.
Displays the property sheet for the selected job in the Job pane. 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-11 for more information.
Removes the selected job from the Active or History page of the Job pane. When you delete a job, there is usually a slight delay while the request is processed. See "Cancelling Jobs" on page 4-5 for specifics on job cancellation.
Displays the Job Library dialog. See "Job Library" on page 4-11 for more information.
Clears the jobs listed in the Job History page.
Refreshes the job history list. Job history is refreshed each time you move from the Active tab to the History tab. However, to refresh the job history list while currently viewing the History pane, you must select this menu item.
Clears the selected job listed in the Job History page.
Generates an HTML-based report summarizing the History or Active Job pane, depending on which pane is active when this menu item is selected. By default, the report is saved to the ORACLE_HOME/sysman/reports directory.
The Job Library dialog contains a list of the jobs that you have created and saved. In the dialog, you can view summary information about a job:
These jobs can be submitted to the job system with the Submit button. You can use the Edit button to modify a job selected in this page. You can also double-click on a job listed in the Job Library page to edit the job. You can create a new job based on an existing job with the Create Like button.
When you create, modify, or view details of a job, similar property sheets display. See Figure 4-3, "Job Tasks Page" for an illustration of a Job property sheet. The property sheets contains:
- OR -
- OR -
There is usually a slight delay between the time you submit the job and Intelligent Agent notification.
For submitted jobs in the Active Jobs page, you can only modify permissions or notifications. If you want to change other job attributes, you need to first delete the job from the Active pane, then re-submit the job with the necessary changes. It is more convenient to save the job definition first in the Job Library, them make the necessary changes.
- OR -
- OR -
To view the details of a particular job, double-click on a job in the Active or History Job pane. The Job property sheet for that job appears.
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 optional description of the job.
Check this box if you want to use this job as a 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 fixit job can be selected from the Fixit Job list in the Event Parameters page after it has been successfully submitted to an Intelligent Agent. See "Creating, Modifying, and Registering an Event" on page 5-29 for more information.
Select the destination type from the pull-down list: Database, Listener, Node, Group, 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 Destination Type. The destinations include databases, listeners, nodes, and groups or other discovered services 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-7 for more information.
The Task page allows you to choose the tasks that you want the job to perform.
Tree list of available job tasks. Tasks vary depending on the Destination Type selected on the General page. 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. See the online help for Oracle job tasks and "Oracle Job Tasks" on page 4-23 for information on Oracle predefined job tasks and their parameters.
Tasks currently selected for the current job. You can remove tasks from this list by selecting the task and clicking on the >> (Remove) button.
Use the arrow buttons to change the order of the tasks or to make a task conditional on a previous task. Select a task in the Selected Tasks list and click on the up or down arrow button to position the task.
Select a task in the Job Tasks window and select from the following:
If any task does not execute, control moves to the next task on the same level as the task that did not execute.
Important: You can add up to five job tasks per job. Adding more than five tasks will generate an error message stating the maximum number of input files have been exceeded. |
Normally, a job stops when all tasks have been executed. In some cases, you may want the job to stop before completing the task sequence, which might be the case when one task in the sequence fails. To handle situations like this, you can include the Halt Job task as part of a composite job to stop execution at any point within the task sequence. You specify the Halt Job task dependency as you would any other task.
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. See the online help for Oracle job tasks and "Oracle Job Tasks" on page 4-23 for information on Oracle predefined job tasks and their parameters.
For some jobs, you can override the preferred credentials for connecting to the service. This allows you to enter a username and password. See "Job Credentials" on page 4-4 and "Preferred Credentials" on page 1-25 for information on administrator preferences.
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.
Note: When scheduling a job, the Intelligent Agent time zone (the local time zone of the destination where the job will be executed) is used. |
Determine the permissions that you want to assign to the job with the Permissions Page. This allows other administrators to view or modify the job. Notifications can be assigned with this page.
The levels of permission that you can assign to an Enterprise Manager administrator are:
Does not allow the administrator to view this job anywhere.
Allows the administrator to view the job and inspect job properties.
Allows the administrator to suspend and resume the job. The administrator will also be able to edit the job's properties except those reserved for administrators with Full permission.
Allows the administrator to delete the job from the Active or History pages of the Job window, modify permissions for other administrators, and change the ownership of the job.
Allows the administrator to receive enhanced notifications (paging and email) for the job. Notify permission cannot be assigned if the administrator's permission level is set to None.
Note:: All administrators possessing at least the View permission will receive notifications through the Console when a job is executed. |
Any permissions assigned on this page supersede any administrator default permissions. See "Permissions" on page 1-23 for more information.
Show Notification Schedule displays when administrators are scheduled to receive notifications.
To remove an administrator from receiving an enhanced notification, display the context menu (press the right mouse button) on any time block. The context menu provides options for adding and removing recipients of the notifications. Administrators that appear via the Add Recipient and Remove Recipient menu options are those whose schedules match the selected time slot.
The Job Progress page is available for jobs in the Active and History pages of the Job window. The Progress page provides a log of the job's activities.
The Progress page contains all status changes 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, Started, and Completed or Failed statuses for that execution. If you display an execution from the Active Jobs page, the Progress page displays only those status changes that have been received.
When you display the Progress page, the page displays the statuses only for the destination and execution time of the job occurrence selected. To view the status changes 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 statuses. If the job has been Deleted on a destination, the Deleted status always displays at the top of the Progress Page.
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 List button to save the list of job occurrences as a local file using the standard Windows file dialog box.
This option displays the notifications for this job.
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:
See "Active Job Pane" on page 4-7 and "History Page" on page 4-8 for information on the status of a job.
This is the destination of the specific occurrence of the job.
This is the time the Management Server was notified by the Intelligent Agent that a status change had occurred.
The Output dialog box is displayed by double-clicking on an entry in the Progress page, or selecting an entry and clicking on the Show Output button, if enabled. This dialog 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 stating 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 Close button to exit the dialog box after viewing it.
Select the Print button to print the contents of the dialog box.
Select the Save As button to save the contents of the dialog box to a text file.
Because the output of some jobs may be quite large, Oracle Enterprise Manager provides you with the option of specifying the maximum size for any job output returned by the Intelligent Agent. If the job output exceeds the maximum limit, any output generated beyond this maximum is truncated. By default, the maximum job output size is set to 128K (smallest allowable value). The largest permissible value is two megabytes.
You can set this parameter (oms.vdg.joboutput.maxsize) in the following file:
$ORACLE_HOME/sysman/config/omsconfig.properties
Example omsconfig.properties entry:
oms.vdg.joboutput.maxsize=128K
Units must be specified in kilobytes (K) or megabytes (M).
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.
A submitted job is sent to the Intelligent Agents at the selected destinations. The Intelligent Agent for a destination begins processing the job, the job appears in the Active Jobs page in the Job window. If the job is processed successfully, the job will start executing on 1/1/2001 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 Job 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.
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 the Oracle Enterprise Manager Configuration Guide for more information.
Specific database job tasks are used by the Enterprise Manager data and backup management wizards that are accessed through the Console Navigator popup and main menus. The job tasks are:
Since these job tasks are used only by their respective wizards, the tasks will not have directly editable parameters. To modify parameters for any Wizard database task, click on the Load Wizard button located on the Parameters page of the Job property sheet to activate the associated Wizard. For more information about these wizards and associated job tasks, see the Enterprise Manager online help.
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 copy and paste the text of the script into the Script Text box of the Parameters page (Create Job property sheet), or simply type SQL commands in the Script Text box.
See "Preferred Credentials" 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.
See "Preferred Credentials" on page 1-25 for more information.
This job task shuts down an Oracle database instance.
See "Preferred Credentials" 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 "Preferred Credentials" on page 1-25 for more information.
Normally, a job stops when all tasks have been executed. In some cases, you may want the job to stop before completing the task sequence, which might be the case when one task in the sequence fails. To handle situations like this, you can include the Halt Job task as part of a composite job to stop execution at any point within the task sequence. You specify the Halt Job task dependency as you would any other task.
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 a Windows platform, this task sends the message to ALL users on the network. To send a message to specific users, 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 "Preferred Credentials" on page 1-25 for more information.
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]}
For information on writing Tcl job tasks, see the Intelligent Agent User'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 Intelligent 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] while {$oramsg(rc) == 0} { puts $result_row set result_row [orafetch $cur1] } 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@or817.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 that has the "Unsolicited events" box checked. See "Event General Page" on page 5-31 for more information.
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. See "Preferred Credentials" on page 1-25 for information on user preferences.
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. See "Preferred Credentials" on page 1-25 for information on user preferences.
None
|
![]() Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
|