Table of Contents
The Scheduler FE has been designed and developed as a front end for Oracle's Scheduler utility. For the Scheduler administrator it aims to give a greater vision of the scheduler objects thereby allowing the administrator to gain a greater vision of the whole picture. Additionally it makes the administrators tasks simpler by simplifying the modification of the underlying objects. It has update, delete, copy and insert functionality that calls the existing Oracle Scheduler package but removes the time consuming task of creating the scripts.
In addition it provides tools to allow the administrator to obtain a view on the expected Jobs to be run at any time in the future in addition to seeing the log of jobs that have already been run.
From a technical perspective the system consists of two sides. There is the database, currently there are versions of Scheduler FE for Oracle 10g Release 1, Relase 2, Oracle 11g Release 1 and Release 2. On the client side there is the Java application. Connecting the two is a JDBC connection. In summary then we have the following:-
The java source files are compiled with a target option of 1.4 allowing computers with a java VM of 1.4 and above to run Scheduler FE.
The aim is to allow Scheduler FE to run on as wide a variety of machines as possible.
To set up the system download the zip file, either
Extract the three files :-
and put them in a directory.Now create an icon on your desktop that has the following as the target :-
The user that will run the system will need write permissions on this directory as the system will attempt to create the following file :-
This is all that is involved in setting up the system.
The initial screen is shown on the right. It consist of at the top a menu with menu buttons below and then below that the information line which will display the current user, host and current operating date.
Finally occupying the greater part of the screen is the main block which currently has a picture of the earth takern from the moon. The only options at this point in time are to exit the system or connect to the database. To exit press the "Exit" button. To connect to the database press the "Connect" button. This will result in the log on dialog screen appearing as shown below. Enter your user name, your password and the hostname of the database. On entering the "OK" button the system will log you into the database assuming you have entered a valid username/password/host. The login screen is shown below.
As you can see from the screen shot shown in the next section the information line which sits below the menu buttons now displays the username and host under which you have logged onto the database. Also the main data block now displays a screen that is split into two sections. On the left is the tree navigation view and on the right is the main data block. When a node in the tree is selected that is a folder and therefore has no associated data then the picture of the earth will be displayed. This is the case when you first log on to the system and the current node in the tree is the root node. The details of both the tree panel and the main data panel are described in subsequent sections.
This initial screen is called the Object Tree view and is one of four screens. On the main menu line is a radio menu option list, the views list. The list consists of the following five screens:-
The additional four screens will be described in detail later in the document.
The main screen is divided into two parts as shown in the screen shot on the right. On the left hand side is the tree panel which is the navigation utility of the system. When the user first enters the system all the nodes will be closed with the exception of the root node and the nodes directly attached to the root node. This is illustrated in the screen shown below.
To open a node click on the "+" sign next to the folder. This will open the node displaying any folders and leaf nodes attached to it.
The structure of the tree is shown in the diagram below.
The Tree Panel
By clicking on a node the details of that node are displayed in the right hand data panel. At any point in time there can only be one node on the tree that is in focus.
The structure of the tree is extended beyond the above structure by the inclusion of the following links:-
These links exist by default but can be modified by entering the menu option "File", then "Options", and then updating the "Options" screen. If you do modify the links then the button "Refresh" will need to be pressed so that the tree structure can be refreshed.
On the right hand side of the screen is the data panel. This consists of the detailed information on the object currently in focus on the tree. The information can be displayed over multiple pages depending on how the page is set up. The screen display can be changed in any number of ways. The labels can be changed and repositioned. The text items can also be repositioned or/and removed for specific groups of users. The size of the label, the font, the font style, and the color of the label are all defined within the parameter file. This also applies to the text and its position. The number of tab pages that make up a screen are also defined as are the tab page descriptions.
On each of the text items it is possible to assign a zoom button. This is one of the setup options and is appropriate when the entry can possible contain a large quantity of text. On the screen display shown to the right the entry "Job Action" has a zoom button assigned to it. The button is identified by being to the right of the text and having an icon of a pair of glasses. Pressing the button results in a dialog box being displayed as shown in the screen display shown below.
The Main Screen with a Dialog displayed
One of the options on the main menu bar is the "Add" option. This allows the creation of the following objects:-
On entering any one of these twelve options a new "Add" screen is displayed. Each of these screens is unique depending on the data that has to be entered for that specific object but they have a similiar look and feel as can be seen from the "Job" screen shown on the right.Two of the new entry screens have multiple screens. The "Jobs", shown on the right and the "Windows" entry screen have multiple entry options. With the "Jobs" screen there are six screen options allowing six different sets of data to be entered. These six options are as follows:-
To create a new job any of the six screens can be used but only the data from the screen currently being shown when the "OK" is pressed will be saved.
Creating objects can be carried out by the "Copy" utility in addition to the "Add" utility. The copy utility requires that the object to be copied is currently in focus. On entering the "Copy" button a new input screen will be displayed. The name of the new object will be requested and on pressing the "OK" button this new object will be created taking most of its attributes from the existing object. It is sometimes easier and quicker to copy an object rather then creating a new object.
In addition to creating new objects there is the functionality of updating the existing data. This is achieved by selecting the object from the tree structure that is to be updated, putting the object into focus, then pressing the "Update" button or alternatively the Objects/Update menu option. This will result in the dialog display shown in the screen shot on the left being displayed on the screen. the dialogue display includes a pull down list that allows you to select the column that you want to update. It is not possible to update all the columns displayed on the screen and the pull down list only shows the columns that can be updated.
Having selected the column you are now free to enter the value for that column. It is possible to enter any value into the text area but should you attempt to save an invalid value an error box will be displayed pointing out to you the error that you have made. To save the updated value you enter the "Save" button. To return to the original value you press the "Cancel" button.
In addition to creating objects and updating objects the system has additional functionality that amends the data. This includes the "Enable" and "Disable" options which apply to the Jobs, Programs, Chains, Windows and Groups. To use these options you need to have one of these objects in focus, otherwise an error message will be displayed. Pressing the "Enable" button when the object is already enabled will not produce an error but nor will it change the status of the object. This applies equally to an object that is disabled when you press the "Disable" button.
The last utility that modifies the objects is the "Drop" utility. This is used to remove objects from the database. As with the Copy and Update utilities the object to be dropped needs to be in focus. Then the user can press the "Drop" button or alternatively press the Object/Drop menu item. On entering either of these a diolog screen will appear asking you to confirm that you require this object to be removed. This is to help prevent the accidental removal of objects. Remember that once you confirm that you require this object to be removed there is no method of restoring the object except from a previous backup.
The menu options and the Buttons displayed at the top of the screen display are all sensitive to the current focus. This means that they are only active where the menu options and buttons can be utilised. For example when the focus is held on a folder thereby resulting in the screen display of the earth few of the buttons can be activated. It is not possible to copy a folder or to update the details of the folder and hence these buttons and the associated menu options are disabled. They are shown greyed out.
In the case of the "Create" menu options, the "Job Argument" and "Job Notification" are only active when focus is currently residing on a specific Job. Then the Job argument or Job Notification, when created will be attached to that Job. Similarly this applies with Programs/Program Arguments and Chins/ChainRules and Chain Steps.
Some of the buttons have multiple functions. The "Connect" button that is displayed when Scheduler FE is first displayed is replaced by the "Disconnect" button once the user has logged on. Similarly the "Run" job and "Stop" job which are only displayed when the focus is on a Job are replaced by the "Open" window and "Close" window when the focus is on a window object. This is replaced by the "Prev" and "Next" day options when the Job Log view or the Event view screen are displayed. The final button displays the "Graphics" option when the focus is situated on a chain but when the Job Log view is displayed this is replaced by the "Detail" option.
In addition to the standard mouse the Scheduler FE system also supports accelerator keys. Nearly all of the funtionality of the system can be called using accelerator keys and these keys are displayed below. Theye are also displayed on the menu options at the right hand side.
The final method of navigation is to use the mnumonic keys. These are activated by using the Alt key plus the mnumonic key. This is the key that is underlined on the menu entries. It is possible to navigate through Scheduler FE without the use of the mouse by instead using the mnumonic keys.
On the main menu option there is the "Views" radio menu options. On entering "Event View" the screen as shown below will be displayed.
The Estimated Job Runs Screen displays five columns. These are as follows:-
All of the data that is displayed is obtained from the Job object entry with the exception of the Run Date/Time which is calculated using the Oracle package/procedure Dbms_Scheduler.Evaluate_Calendar_String.
The system works through all the jobs that are currently entered into the scheduling system. For each job it checks that it is enabled and if it is not then the processing fetches the next job.
Otherwise the Schedule Type is checked. There are five possible values. These are as follows:-
If the Job has a Named schedule then the schedule object is retrieved. The system then calls the Oracle package Dbms_Scheduler.Evaluate_Calendar_String obtaining all of the run dates for the currently displayed date. If the dates fall within the start date and end date given in the scheduler object then the entry is shown.
If the Job has a Calendar schedule then the repeat interval, start date and end date is obtained from the Job itself. The system calls the Oracle package Dbms_Scheduler.Evaluate_Calendar_String obtaing all of the run dates for the currently displayed date. If the dates fall within the start and end date given in the Job object then the entry is displayed.
If the Job is a once only job then the start date is checked against the currently displayed date and if it is valid the entry is displayed.
If the Job has a Window Schedule then the Window object is retrieved. This is checked to see that it is enabled and if this is the case then the schedule type of the window is checked. This can be set to either Named, Calendar or Once. If it is set to once then the Start date of the Window object is checked against the current date and if it is valid then the entry is displayed. If the schedule type of the window is set to Calendar then the Oracle package Dbms_Scheduler.Evaluate_Calendar_String is called obtaining all the entries that can fall within the current date. If these entries fall within the start date and end date of the window then the entries are displayed. If the scheduler type of the window is set to named then the named schedule object is retrieved. The Oracle package Dbms_Scheduler.Evaluate_Calendar_String is then called obtaining all the entries for the current date. If these entries fall within the start date and end date of the schedule object then the entries are displayed.
If the Job has a Window_Group schedule type then the system retrives each of the windows that are assigned to that Window Group and carries out the same processing as it does for a Window schedule type.
This then is the processing that is carried out to display the Estimated Job Run Times.
The next screen that can be displayed is the Scheduler Run View. This displays all the Jobs and Chains that are currently running. The screen is divided into two with the Jobs that are currently running being displayed in the top screen and the Chains that are currently running being displayed in the lower screen.
The Job screen displays five columns. These are as follows :-
The Chain screen displays seven columns. These are as follows:-
As with the Job Log screen the Run Job screen has the "Detail" button active in the right side of the Toolbar. On pressing this button a screen showing the details of either the Job or the Chain will be displayed. For this detail screen to be displayed either a Job or a Screen has to be highlighted.
The final screen that can be displayed is the Scheduler Log View. An example of this screen is shown to the right.
The screen is split into two parts, the upper contains data from the table Dba_Scheduler_Job_Log.
The following six columns are displayed on the screen.
The screen display in the lower half of the display shows data from the view, Dba_Scheduler_Window_Log. The following five columns are displayed on the screen.
On the tool bar at the top of the screen are two buttons, the left and right button. These are used in conjuction with the Estimated Job Runs Screen and the Log View Screen. Pressing the Left button results in the date going back one day and pressing the right button will cause the date to go forward one day. The data displayed in either of the two screens will be updated and the data for the respective day displayed. The Logs data is usually only kept for one week so entering a date prior to one week or in the future will result in the Log View Screen displaying no data. For the Event View Screen data will be displayed for all days even days that have already occured. By switching between the log view and the event view a comparison can be made between the Jobs that were expected to occur and the Jobs that actually occured. This can at times be useful.
The Job Logs View only displays six items of data. It is possible to display all of the information for a specific Job run. This is carried out by highlighting the specific row of data and then pressing the "Detail" button. The result will be the display of the Job detail screen as shown on the right. To return to the Job Log view screen press the OK button found on the Job detail screen.
Included in the this upgraded version of Scheduler FE is the Chain Graphics Mode. This option displays the links in a chain in a graphics display. An example is shown below.
To enter this mode put the Chain that you require to be displayed into focus by putting the cursor onto the chain in the tree display. At this point the "Chain" button will be enabled. This is the button on the menu button line at the far right. Press this button to enter the Chain Graphics mode. You will notice that in addition to displaying the chain in a graphics mode the button text changes to "Return". Enter the button again to exit the graphics mode.
Within the Graphics display each of the Rules is shown by a green box and each of the steps is shown by a blue box. Additionally the rule boxes have rounded corners whereas the step boses have sharp corners. The Rule that starts the chain has an additional box above it entitled "START". This box is shaded in pink and is shown in the diagram on the left. The "Start" rule is defined by having the condition set to the value true. Oracle allows the rule to have a condition that evaluates to true as the start rule so the condition entry of "1 = 1" would deine the rule as a start rule. The graphics mode will only display those rules with a condition set to true as the start rules. Obviously this does not effect the running of the chain.
The rule that indicates the end of the chain also has an addition pink box attached, this one has the text of "END" enclosed. It is defined as the end rule if the action entered is "End". This is illustrated in the screen dump shown on the right.
On the left of the display is a box with the details of the chain, that is the chain name and its owner. Below is a second box which on first entering is blank. Within this box the details of either a rule or a step can be displayed. To display details of either left click with the mouse on either a rule box or a step box. Shown in the screen dump on the right are the details of the SCHED_RULE$3. In addition to the rule name the condition and action of the rule are displayed. If you click a second time on the box then focus is lost and the box returns to being blank. One can then click on a further rule or step to display its details.
In addition to displaying details of either a rule or a step the user can enter a new rule or step or drop an existing rule or step. This is carried out in exactly the same manner within the graphics mode as outside of it. That is to create a new step or rule use the menu "Create/Chain Step" or "Create/Chain Rule" menu option. To drop a rule or step the rule/step to be dropped has to be in focus. As always with dropping an object the system will request confirmation that this is the object that you want to drop.
To exit the Chain Graphics mode press the "Chain/Return" button. Alternatively just move focus away from the chain to a different object within the tree structure and this will result in the exit of the Graphics Chain mode.
The aim of the Chain Graphics mode is to provide a graphical line of control for the user thereby enabling the user to verify that the chain does in fact do what the user believes it is doing. It is a pro-active method of preventing errors in the control.
There are four flat files that Scheduler FE either creates or requires and these are as follows:-
The first file, the parameter file, contains all of the parameters which consist of the screen setup, the position of all of the items on the screen, the composition of the colours, the entries that make up the pull down lists, the security policy and alternative names and directories for the flat files except this one, the parameter file. More information on the technical content of this file can be found in the document "Scheduler FE - Technical Documentation on the Parameter File".
The second file contains the values that are passed from one session to the next. So it contains the screen position, the position of the screen break between the two sections of the split screen and the size of the main screen. It also contains the values set in the options menu screen. This flat file can be renamed and set to an alternative directory. See the above document for details on how to set this up. This file is written to when the user exits the system so write permission is required on the directory this file is set to.
The third file is a log of all the errors that are created. If problems occur this is the first place to look. The flat file is obviously writable and needs to be set in a directory with write permission. See the above document on how to set this up.
The fourth and final file is the audit file. This again needs to be in a write enabled directory and can be set off. Again the above document describes how this is to be set up. When set to on, which is the default, it will contain a list of all calls to the database changing the underlying scheduler. It lists all calls to the Oracle package DBMS_SCHEDULER. This flat file needs to be cleared out occasionally to prevent it growing to an unmanageable size.
The Scheduler FE system is then a program that is simple to operate and that provides the Scheduling Manager with invaluable data that will assist him in managing the Scheduling system. It displays the jobs that are expected to run thereby allowing the Scheduling Manager to identify jobs that he/she is not expecting to be there and to identify jobs that he/she expects to be running but is not. The investigations can then occur prior to the event and not after it thereby proactively finding solutions.
In addition it allows the Scheduling Manager to obtain an overview of the Scheduling system being able to see at a glance all of the users that currently have created objects, drilling down to seeing the specific object names that have been created by a user and then drilling down to see the details of a specific object.