Oracle Certification, Database Administration, SQL, Application, Programming Reference Books

Where did my GL performance go?
OR
The case of the missing indexes.


The Oracle Applications GL optimisation process is set up and executed using two different responsibilities.
In a normal implementation this will most probably involve two or more people.

STEP ONE: Defining accounting flexfields

The first process in the setup may have been completed by the person/s who installed Financials or the person/s who defined the key flexfield segments as part of the initial implementation.

This part of the setup defines which Code Combination segments are to be indexed by the GL optimise process.

How to find and view the current setup:

Connecting as the application sysadmin navigate to the Defining Key Flexfield Segments.
/ Navigate Application Flexfield Key Segments
In the "Key field title" select Accounting Flexfield. The associated description should be similar to: "General Ledger Accounting". The associated structure should be your chart of accounts.

The next Zone should give you the segments in your chart of accounts.

The column "Indexed attribute" ( default = Yes ) will be used by the GL Optimiser process to determine whether to build an index on that segment in GL_CODE_COMBINATIONS.


STEP TWO: Executing GL Optimisation

I have been told that the application will give a warning message during month end processing indicating that the GL has not been optimised. ( Because of the month end rush and that the users, as you would expect, are more interested in closing the month than recording warning messages, I have never seen the warning message ).

In order to execute the GL optimisation process, logon as a GL super user.

Run the GL optimisation process:

/ Navigate Setup System Optimise
( Don't do this until you have read the rest of this page )


WHILST ALL THIS WAS HAPPENING:

In order to improve performance it is a generally accepted practice for the Financials DBA to create concatenated indexes based on the selectivity of the CODE COMBINATIONS account segments.

So now we have three places involved with performance. 


NOW FOR THE PROBLEM:

When you or the applications administrator runs the GL optimisation process and answers yes to "Maintain Indexes", the process removes indexes not ending in N31-N40, this will include any indexes build by the DBA's. The process then builds single indexes on segments set to "Yes" in the flex field segments.

Storage for the new indexes will be based on the values set for GL_CODE_COMBINATION_INDEXES in the / Navigate Setup System Storage screen.

The programme that does all this work is RGOPTM. This programme is supplied as object code and as such cannot be read. Try using strings to view the text in the file. 


SO TO RECAP:

If you manually build your GL_CODE_COMBINATION indexes, run your optimise process answering NO to "Maintain Indexes"

The structure and number of indexes can and will affect the performance of the application. It would be safe to say in this case that more indexes is not necessarily better than a small number of "well" chosen concatenated indexes.

The best option is to let your application DBA build the GL_CODE_COMBINATION indexes, based on actual code combination selectability ( providing the DBA creates the indexes with the correct sizing, this will also prevent fragmentation ). Run the optimise process Answering NO to "Maintain Indexes"

Exit to : Oracle Hints and Tips