PL/SQL Packages and Types Reference 10g Release 1 (10.1) Part Number B10802-01 |
|
|
View PDF |
The DBMS_OUTLN
package, synonymous withOUTLN_PKG
, contains the functional interface for subprograms associated with the management of stored outlines.
See Also:
For more information about using the |
This chapter contains the following topics:
A stored outline is the stored data that pertains to an execution plan for a given SQL statement. It enables the optimizer to repeatedly re-create execution plans that are equivalent to the plan originally generated along with the outline.The data stored in an outline consists, in part, of a set of hints that are used to achieve plan stability.
DBMS_OUTLN
contains management procedures that should be available to appropriate users only. EXECUTE
privilege is not extended to the general user community unless the DBA explicitly does so.
PL/SQL functions that are available for outline management purposes can be executed only by users with EXECUTE
privilege on the procedure (or package).
This procedure clears the outline 'used' flag.
DBMS_OUTLN.CLEAR_USED ( name IN VARCHAR2);
Parameter | Description |
---|---|
|
Name of the outline. |
This procedure generates an outline from the shared cursor identified by hash value and child number.
DBMS_OUTLN.CREATE_OUTLINE ( hash_value IN NUMBER, child_number IN NUMBER, category IN VARCHAR2 DEFAULT 'DEFAULT');
Parameter | Description |
---|---|
|
Hash value identifying the target shared cursor. |
|
Child number of the target shared cursor. |
|
Category in which to create outline (optional). |
This procedure drops outlines that belong to a particular category. While outlines are put into the DEFAULT
category unless otherwise specified, users have the option of grouping their outlines into groups called categories.
DBMS_OUTLN.DROP_BY_CAT ( cat VARCHAR2);
Parameter | Description |
---|---|
|
Category of outlines to drop. |
This procedure purges a category of outlines in a single call.
This example drops all outlines in the DEFAULT
category:
DBMS_OUTLN.DROP_BY_CAT('DEFAULT');
This procedure drops outlines that have never been applied in the compilation of a SQL statement.
DBMS_OUTLN.DROP_UNUSED;
You can use DROP_UNUSED
for outlines generated by an application for one-time use SQL statements created as a result of dynamic SQL. These outlines are never used and take up valuable disk space.
This procedure updates outline signatures to those that compute based on exact text matching.
DBMS.OUTLN.EXACT_TEXT_SIGNATURES;
This procedure is relevant only for downgrading an outline to 8.1.6 or earlier.
This procedure changes the category of all outlines in one category to a new category.
DBMS.OUTLN.UPDATE_BY_CAT ( oldcat VARCHAR2 default 'DEFAULT', newcat VARCHAR2 default 'DEFAULT');
Parameter | Description |
---|---|
|
The current category of outlines. |
|
The new category of outlines. |
This procedure updates outline signatures to the current version's signature.
DBMS.OUTLN.UPDATE_SIGNATURES;
You should execute this procedure if you have imported outlines generated in an earlier release to ensure that the signatures are compatible with the current release's computation algorithm.