When is cost based optimization triggered? (for DBA)
It's important to have statistics on all tables for the
CBO (Cost Based Optimizer) to work correctly. If one
table involved in a statement does not have statistics,
Oracle has to revert to rule-based optimization for that
statement. So you really want for all tables to have
statistics right away; it won't help much to just have
the larger tables analyzed.
Generally, the CBO can change the execution plan when
1. Change statistics of objects by doing an ANALYZE;
2. Change some initialization parameters (for example:
How can one optimize %XYZ% queries? (for DBA)
It is possible to improve %XYZ% queries by forcing the
optimizer to scan all the entries from the index instead
of the table. This can be done by specifying hints. If
the index is physically smaller than the table (which is
usually the case) it will take less time to scan the
entire index than to scan the entire table.
What Enter package procedure does ?
Enter Validate-data in the current validation unit.
Where can one find I/O statistics per table? (for DBA)
The UTLESTAT report shows I/O per tablespace but one
cannot see what tables in the tablespace has the most
I/O. The $ORACLE_HOME/rdbms/admin/catio.sql script
creates a sample_io procedure and table to gather the
required information. After executing the procedure, one
can do a simple SELECT * FROM io_per_object; to extract
the required information. For more details, look at the
header comments in the $ORACLE_HOME/rdbms/admin/catio.sql
My query was fine last week and now it is slow. Why?
The likely cause of this is because the execution plan
has changed. Generate a current explain plan of the
offending query and compare it to a previous one that
was taken when the query was performing well. Usually
the previous plan is not available.
Some factors that can cause a plan to change are:
. Which tables are currently analyzed? Were they
previously analyzed? (ie. Was the query using RBO and
. Has OPTIMIZER_MODE been changed in INIT.ORA?
. Has the DEGREE of parallelism been defined/changed on
. Have the tables been re-analyzed? Were the tables
analyzed using estimate or compute? If estimate, what
percentage was used?
. Have the statistics changed?
. Has the INIT.ORA parameter
DB_FILE_MULTIBLOCK_READ_COUNT been changed?
. Has the INIT.ORA parameter SORT_AREA_SIZE been
. Have any other INIT.ORA parameters been changed?
. What do you think the plan should be? Run the query
with hints to see if this produces the required
Why is Oracle not using the damn index? (for DBA)
This problem normally only arises when the query plan is
being generated by the Cost Based Optimizer. The usual
cause is because the CBO calculates that executing a
Full Table Scan would be faster than accessing the table
via the index.
Fundamental things that can be checked are:
. USER_TAB_COLUMNS.NUM_DISTINCT - This column defines
the number of distinct values the column holds.
. USER_TABLES.NUM_ROWS - If NUM_DISTINCT = NUM_ROWS then
using an index would be preferable to doing a FULL TABLE
SCAN. As the NUM_DISTINCT decreases, the cost of using
an index increase thereby is making the index less
. USER_INDEXES.CLUSTERING_FACTOR - This defines how
ordered the rows are in the index. If CLUSTERING_FACTOR
approaches the number of blocks in the table, the rows
are ordered. If it approaches the number of rows in the
table, the rows are randomly ordered. In such a case, it
is unlikely that index entries in the same leaf block
will point to rows in the same data blocks.
. Decrease the INIT.ORA parameter
DB_FILE_MULTIBLOCK_READ_COUNT - A higher value will make
the cost of a FULL TABLE SCAN cheaper.
. Remember that you MUST supply the leading column of an
index, for the index to be used (unless you use a FAST
FULL SCAN or SKIP SCANNING).
. There are many other factors that affect the cost, but
sometimes the above can help to show why an index is not
being used by the CBO. If from checking the above you
still feel that the query should be using an index, try
specifying an index hint. Obtain an explain plan of the
query either using TKPROF with TIMED_STATISTICS, so that
one can see the CPU utilization, or with AUTOTRACE to
see the statistics. Compare this to the explain plan
when not using an index.
When should one rebuild an index? (for DBA)
You can run the 'ANALYZE INDEX VALIDATE STRUCTURE'
command on the affected indexes - each invocation of
this command creates a single row in the INDEX_STATS
view. This row is overwritten by the next ANALYZE INDEX
command, so copy the contents of the view into a local
table after each ANALYZE. The 'badness' of the index can
then be judged by the ratio of 'DEL_LF_ROWS' to 'LF_ROWS'.
What are the unrestricted procedures used to change the
popup screen position during run time ?
What is an Alert ?
An alert is window that appears in the middle of the
screen overlaying a portion of the current display.
Deleting a page removes information about all the fields
in that page ?
a. True. b. False
Two popup pages can appear on the screen at a time ?Two
popup pages can appear on the screen at a time ?
a. True. b. False?
Classify the restricted and unrestricted procedure from
a. Call - unrestricted
b. User Exit - Unrestricted
c. Call_query - Unrestricted
d. Up - Restricted
e. Execute Query - Restricted
f. Message - Restricted
g. Exit_form - Restricted
h. Post - Restricted
i. Break - Unrestricted.
What is an User Exits ?
A user exit is a subroutine which are written in
programming languages using pro*C pro *Cobol , etc.,
that link into the SQL * forms executable.
What is a Trigger ?
A piece of logic that is executed at or triggered by a
SQL *forms event.
What is a Package Procedure ?
A Package procedure is built in PL/SQL procedure.
What is the maximum size of a form ?
255 character width and 255 characters Length.
What is the difference between system.current_field and
1. System.current_field gives name of the field.
2. System.cursor_field gives name of the field with
List the system variables related in Block and Field?
What are the different types of Package Procedure ?
1. Restricted package procedure.
2. Unrestricted package procedure.
What are the types of TRIGGERS ?
1. Navigational Triggers.
2. Transaction Triggers.
Identify package function from the following ?
8. Anchor View
Can you attach an lov to a field at run-time? if yes,
give the build-in name.?
Is it possible to attach same library to more than one
Can you attach an lov to a field at design time?
List the windows event triggers available in Forms 4.0?
What are the triggers associated with the image item?
When-Image-activated(Fires when the operator double
clicks on an image Items)
When-image-pressed(fires when the operator selects or
deselects the image item)
What is a visual attribute?
Visual Attributes are the font, color and pattern
characteristics of objects that operators see and
intract with in our application.
How many maximum number of radio buttons can you assign
to a radio group?
Unlimited no of radio buttons can be assigned to a radio
Page Numbers :