Resource FE Plus
Table of Contents
Resource FE Plus has been designed and developed as a GUI front end tool for Oracle's Resource Manager. For the Database administrator it aims to give a clearer vision of the Resource objects thereby allowing the administrator to perform his/her tasks in a more time efficient manner. Additionally it simplifies the administrators tasks by enabling the underlying objects to be created, modified and deleted. It has update, delete and insert functionality that calls the existing Oracle Resource package but removes the time consuming task of creating scripts.
In addition it provides tools to allow the administrator to obtain a view on the current Consumer Groups that are being utilised and an additional view that displays the sessions that are currently running.
The package builds on the existing Package Scheduler FE and indeed includes the Scheduler FE functionality. This additional functionality is the functionality that the Plus in Resource FE Plus refers to. The FE stands for front end. This is a logical step as the Resource and Scheduler are closely related to each other. This documentation though only relates to the Resource Manager functionality as the functionality of the Scheduler is covered in the user documentation for Scheduler FE. Prior to going into the detail of Resource FE Plus there is a brief Technical Overview and then a description of how to set Resource FE Plus up.
I would suggest that you are conversant with Oracle Resource Manager prior to using Resource FE Plus and Oracle's Documentation on Resource Manager should be the first documentation to be read. I would also recommend the articles on Oracle-base, that is the following:-
From a technical perspective the system consists of two sides. There is the database, currently there are versions of Resource FE Plus for 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 result is that this system, Resource FE Plus, should run on any system that has the Java runtime system included.
To set up the system download the zip file, either
Extract the two 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 three files :-
This is all that is involved in setting up the system.
The role of Oracle's Resource Manager is to allocate resources. It achieves this by the use of an object called a Resource Plan. At any one time there can be only one primary plan in operation, there can be many plans within the database but only one in operation at any one time.
Working with the Resource Plan is a second object called a Consumer Group. A consumer Group is a pot that groups users and/or sessions together. The Resource Plan allocates the database resources across a number of Consumer Groups. This is achieved by creating a Plan Directive. A Resource Plan has a number of Plan Directives, each of which allocates resources to a specific Consumer Group. Resources are usually allocated to Consumer Groups by means of a percentage. They can in the case of simple plans be allocated by means of a ratio though the ratio option is not used in this user manual.
The allocation of CPU resources is illustrated in the diagram on the right which shows a Resource Plan called the "Day_Plan". Part of this plan allocates resources to a second Resource Plan named the "Reporting_Plan" which in turn allocates resources to the two Consumer Groups "Priority_Reports" and "Main_Reports". Notice also the use of levels. There is a Consumer Group called "Other_Group" that receives 100% of resources at level 2. This means that if the other Consumer Groups which are all at level 1 are not utilising their full share then the CPU resources left over will be allocated to this Consumer Group. Oracle allows up to 8 levels but the "Day_Plan" having a simple structure only utilises two levels.
There is considerable more functionality in the Plan Directive object and this additional functionality is detailed in the Data Panel Section. The details of how users and sessions are attached to Consumer Groups is detailed in the Section, Consumer Groups, Users and Sessions.
The initial screen is shown on the right. It consists 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.
Once you have successfully logged into the database the screen shown below will be displayed. Let us stop here and look at some of the features displayed in the screen below. As you can see from the screen shot the top line displays the menu screen. This can be opened up by either a left click on the mouse while the cursor sits over a menu option or alternatively by entering the Alt key plus the character underlined in the specific menu option you wish to open up. As an example, the 'Switch' menu has the letter S underlined. If you enter the Alt key plus the letter S then the Switch menu opens up.
Underneath the menu is the menu buttons. If the icon is missing and the text is blurred then the button is currently switched off. This occurs when the operation carried out by the button is invalid for the currently selected tree node. As you switch from one tree node to another different button options will become valid/invalid.
Below the menu buttons is the information line which gives the following information:-
The current active date will be todays date when you first log in but it can change, specifically when a log page is displayed that allows previous days logs to be displayed.
The remainder of the screen is made up of the two tree structures shown on the left of the screen. These are documented in the following section. On the right of the screen is the main data panel. When the current tree focus is held by a branch then the earth display is shown. More detailed documentation on the data panel documentation follows the tree structure section.
The main screen is divided into two parts. On the left hand side are the two tree panels which are 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 nodes 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.
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.
A feature of Oracle's Resource Manager is that all changes to the objects in addition to the creation and removal of objects have to be carried out in a "Pending Area". When the user first enters the system the Tree panels will appear as shown on the left where a "Pending Area (Empty)" can be seen. If the user wants to make changes then a Pending Area will need to be created. This can be carried out by the menu options of "Pending Area" and then "Create". This will result in the duplication of all the Resource Manager objects and is shown in the "Pending Area" Tree screen as shown on the right.
If the Branch "Plans" is opened up in both the Resource Manager and the Pending Area you will see that for every object in the Resource Manager tree there is an equivalent object in the Pending Area and the onjects in the Pending Area are identical except that their Status is set to Pending.
If you open up the "Plans" branch in the Resource Manager tree as shown on the screen dump on the right you might notice that there is one plan that is highlighted in green and one to many plans that are highlighted in a slightly paler green. If this is the case as shown in the screen dump on the left then the plan highlighted in green is the primary Resource Plan that is currently active. Plans highlighted in a paler green are sub-plans of the main Resource Plan and are also currently active. If there are no plans highlighted then it indicates that the Resource Manager is currently switched off.
To turn the Resource Manager on or to switch to an alternate plan highlight one of the Resource Plans in the Resource Manager tree and then press the Switch button which is found on the far right of the button bar. To turn the Resource Manager off highlight any node in the Resource Manager tree except a Resource Plan and then press the Switch button. After a few seconds none of the Resource Plans will be highlighted in green indicating that the Resource Manager is no longer active.
Lets turn now to the main data panel displayed on the right side of the screen. A screen dump with the Plan, Default_Maintenance_Plan, is shown below. For the Plan the only fields that can be imput are the Plan name, the Management Method and the Comments. Of the other fields shown, the CPU Method is now deprecated and the others display the only allowable value. Possible in a later Oracle version it will be possible to enter alternative values.
In the case of the Consumer Group there are only two fields that can be entered, these are the Consumer Group Name and the Comments.
These then are two of the objects displayed in the tree but the heart of Resource Manager is found on the second tab of the Plan. This is the Plan Directive and is shown below. It gives the breakdown of resources for the plan between the Consumer Groups.
When this page is initially displayed the fields outside of the table will be blank. On selecting one of the directives within the table the other fields will be displayed. In the screen dump on the left the Screen Directive, SYS_GROUP, is currently selected and hence the values associated with this directive can be seen.
Taking a rest from Resource FE Plus and returning to Oracle's underlying objects let us list and define the fields found within the Plan Directive and displayed on the screen dump.
There are four objects that can be created from within the Resource Manager. These are as follows:-
All four of these objects have to be created within the Pending Area. Therefore prior to creating any objects you will need to create a Pending Area.
The first two objects, Resource Plan and Consumer Group are relatively simple consisting of an object name combined with a comment field. The Resource Plan also has a "Management Method" field but I would suggest that you keep this at "Emphasis" rather then the alternative of "Ratio". These two objects do not require that the cursor focus is set on a specific object. The last two objects, Plan Directive and Group Mapping, can only be created when the cursor is set to a specific object. In the case of the Plan Directive this can only be created when a Resource Plan in the Pending Area is currently in focus, that is the cursor is currently highlighting a specific Resource Plan.
The Group Mapping can only be created if a Consumer Group in the Pending Area is currently in focus. When you create a new Group Mapping attribute you assign an Attribute combined with a value for that attribute to the specific Consumer Group that is in focus. The list of attributes is finite and is given in a pull down list and includes options of Oracle_User, Client_Program amoung others. You then assign a valid value for this attribute. The result is that when both the attribute and value is metby a new session then that session will be assigned to this Consumer Group. An example would be where the Attribute is Oracle_User and a new session has is created by the User "Scott". Then when this user logged onto the system the sessions created would be assigned this specific Consumer Group.
The Update routine can be called from both the Menu Bar and the Menu Button but whichever you find the most convenient both require that the object whose values are to be updated is currently in focus. As with adding new objects so when you update an existing object a new panel appears. Initially you are presented with a pull down list from which a list of fields is presented which you can choose from. Having choosen a specific field then the current value is displayed and you have the option of updating it. Upon completion you have to enter the "Save" button whereupon the new value will be saved. Pressing the "Cancel" button restores the field to its original value.
The delete option like the update option appears as both an item in the menu list and as an option in the menu bar. It also requires the object you want to remove is currently in focus and is in the "Pending Area". Once having entered this option you will be requested to confirm that you want to delete the specific item and upon entering the "Yes" option that object will be removed from the "Pending Area".
In the previous section it was how the Group Mapping object was created and hoe the role of the Group Mapping object is to link a seesion attribute with a specific Consumer Group. The problem arises though that what is the result if a session has more then one attribute that is currently defined and they are defined for distinct Consumer Groups. An example would be where an attribute of Oracle_User with a value of "Scott" is defined for one Consumer Group and an attribute of Module_Name with a value of "Run_Load_Proc" is assigned an alternate Consumer Group. What happens when the user "Scott" runs the procedure "Run_Load_Proc".
This problem is resolved by having a priority list of the attributes. This priority list is called the "Mapping Priority" and is defined in the Resource Manager tree shown on the left. Each of the attributes is shown together with its assigned priority with a priority of "1" being the highest. In fact the attribute of "Explicit" is always assigned the priority of "1" and this cannot be changed. All the other though can be assigned a higher or lower priority by highlighting the attribute and then pressing the "Up" or "Down" button shown in the menu bar. This can only be carried out in the Pending Area and the changes have to be submitted to the Resource Manager before they become active.
In addition to the main tree screen that displays the Resource Manager objects there are two additional views, the Sessions View and the Consumer Groups View, both accessed from the "Views" menu option seen on the menu options bar.
The Sessions View is shown on the left. It is composed of a table listing all the sessions that are currently running and is dynamically updated. It displays the most critical statistics, that is the CPU Time, the CPU Wait Time and the Queued Time. There are a host of other information associated with each session and this can be accessed by highlighting a specific row and then pressing the "Detail" button shown on the top right side.
In addition to the statistics that can be accessed from this screen there is also the ability to switch specific sessions to alternate Consumer Groups. There are two Buttons, both with the "Switch" option. The Switch button on the left with the icon showing a group of users together with the light switch is the button that allows the currently selected user to be switched to an alternate Consumer Group. This will switch not just the current session but all sessions with that specific user. A screen dump of the screen that is displayed when this button is pressed is displayed below. It requests the user to enter the new Consumer Group that you want to assign to this group of users.
The "Switch" button to the right with the icon that includes the cog represents the sessions switch. Pressing this option will allow an individual session to be moved to an alternate Consumer Group. This option can be useful when a specific session is causing performance problems across the database and there is a requirement to move the session to a Consumer Group which will mitigate its effect on other sessions. A similiar screen to that shown on the right is displayed when this button is pressed. It requests the user to select the new onsumer Group that is to be assigned to the selected session.
It should be noted that each user is assigned a default Consumer Group. This Consumer Group is defined when the user is set up.
The second view, the Consumer Groups View displays all the Consumer Groups that are currently running. Like the Sessions view is displays statistics linked to a specific Consumer Group and the full list of statistics is displayed when the user highlights a specific row and then enters the "Detail" button.