==================================================================
Top100 - Oracle Top100 SGA Analyzer GUI Application Version 1.4.0
Copyright (c) 1995-2001 by Material Dreams.
All Rights Reserved.
http://www.materialdreams.com
==================================================================


PURPOSE:
========
Oracle Top100 is a Windows application for Oracle allowing
you to analyze the global SQL Area of your Oracle database.
Top100 allows you to selected filter and order the statements in the
SGA with a very simple to use interface and to find the SQL statements
that need to be further examined or optimized.
The table allows you sort by each column just by clicking on the
column header.
You can look at the complete statement and also show it's execution
plan from within the list of SQL commands.


LICENSE:
========
Please consult the License.TXT file for licensing information
and on how to register this application.


INSTALLATION:
=============
Copy the file Top100.EXE from the distribution archive to a convenient
directory. Typically, I keep these files in a directory along with other
small Oracle utilities.

This utility used the native Oracle OCI (Oracle Call Interface) to
access the Oracle server. No additional drivers are needed to connect
to an Oracle server. OCI itself is the low-level API that allows to use
SQL in an Oracle SQL*Net environment.

This 32-Bit version of TabExp used OCI Version 8.x. The specific DLL that
contains the OCI implementation is OCIW32.DLL.

Usually OCI is automatically installed during the installation process of
SQL*Net and should be always available.


USAGE:
======
Just start the executable with or without command line arguments.
It is possible to specify all needed command line arguments or
to only specify the -u, -p and -s arguments to automatically log
into the oracle server.

The following command line arguments will be processed:
Usage: Top100 -u -p -s [-h]
       -u ... user name
       -p ... password
       -s ... server
       -h ... help


VERSION HISTORY:
================

Version 1.4.0 - 06-JAN-2001
---------------------------

FIXED SEVERAL PROBLEMS WHEN ANALYZING STATEMENTS:

- When the application cannot analyze a statement
  the statement fill be skipped and processing continues.
- A new column status shows if and how the statement
  was analyzed or if any error has occurt.
  The following information can be found:
  "analyzed" ... the statement was process correctly
  and all information is available.
  "not analyzed" ... the statement was not analyzed
  because it is not a select, update, insert or delete
  statement.
  "expired" ... the complete statement cannot be retrieved.
  This condition in not an error condition and ac occur
  on a heavy loaded system.
  "error" ... an error occurt when analyzing the statement.
  The statement was not analyzed but can still be seen.
- The columns "cost" (total cost) and "# FTS" (number
  of needed full table scans) can only be used if the
  statement was analyzed correctly and will be null else.

SELECTION OF STATEMENT OWNER:

- The selection of the statements by the user who
  first parsed the statement has been comletely redesigned.
  A new Tab (Users) in the Preferences Dialog allow to
  select any compination of users from a predefined list
  of oracle users using the checkboxes in the list.
- The limitations in seleting the SYS and SYSTEM user
  are no longer needed and have been removed.

IMPROVED THE PROCESSING SPEED:

- All database accesses have been redesigned and optimized
  by using array fetches, no longer sorting in the database
  and not performing any joins in the database.
  Because of the lack for fast index relational access
  to the dynamic performance tables in Oracle the complete
  tables will be fetched and then processed locally.
- All static information (users, paarmeter, etc.) will
  be cached locally and used for all refeshes.
- Additionally the application now shows a progress
  message during the process of analyzing the sqlrea
  and informs you of the time left to wait. The processing
  can also be cancelled at any time.

OTHER IMPROVEMENTS:

- A new column has been introduced showing the internal
  statement address.
- The existance of the plan table will be cheked at
  program start.
- Fixed a failed assertion when setting the sort
  order to an invisible column in the preference
  Dialog.


Version 1.3.1 - 20-DEC-2000
---------------------------
- Internal changes and adapted to new CI.
- Fixed a GPF when no SQL statements can be found.

Version 1.3.0 - 09-DEC-2000
---------------------------

IMPROVED PRE-PROCESSING OF SQL STATEMENTS:
- During the analysis of the SQL area in the Oracle
  instance the system now also automatically loads
  the complete SQL statement and additionally
  analyzes and retrieves the execution plan of each
  statement.
- This makes sure that all SQL state in the table
  can be shown and analyzed. In older versions the
  system might have reported, that the statement is
  no longer available in the sga and therefore cannot
  be analyzed.
- The preprocessing of the SQL statements slows
  down a little the refreshing of the statement list
  but being highly optimized the total time of
  processing if still acceptable.
- The execution plan now observes the optimizer goal
  set for each individual statement.

NEW INFORMATION IN THE TABLE:
- The columns Cost and FTS have been added to the
  table and offer a very interesting overview of the
  pre-analyzed statements.
- The column cost is retrieved from the execution plan
  for each statement and represents the cost of each
  statement.
- The column FTS (Full Table Scan) is the number
  of full table scans needed for each statement
  and is a very good indicator for SQL statements
  that might need special attention or missing
  indices for the statement.
- Booth fields are only available when processing
  SQL statements that can be analyzed. (SELECT, INSERT,
  UPDATE and DELETE)

IMPROVEMENTS IN THE TABLE LAYOUT:
- The table layout (visibility, width and order
  of the columns) can be changed.
- You can sort the table by any column by clicking
  the column header. The current sort settings will be
  indicated in the column header with a small arrow.
  The sort order changes each time you click on a column.
- A new tab in the properties dialog allows to see
  the current table layout and also to hide one
  or more columns. Additionally you can restore the
  default table layout by pressing the default button.
- All the information of the table layout will be
  automatically stored/retrieved when leaving/starting
  the application.
- Changing the order of the columns can be done by
  dragging the columns to its new position.
- Improved table appearance using auto select row feature
  and flat scrollbars.

GENERAL IMPROVEMENTS:
- The applications now checks the availability and
  versions of all needed system components before
  starting and reports any missing components.
- A small help file named (Top100.hlp) has been added
  to explain the usage of Top100.
- The application now supports online help and
  opens the Top100.hlp file when help is requested.
- It is now possible to unregister the application
  using the Unregister item in the Help menu.
- It is now (also) possible to access the Top100
  web page using the Visit Web Page item in the Help
  menu.


Version 1.2.0 - 06-JUL-2000
---------------------------
- The description of the SQL statement now uses a more
  refined syntax highlighting algorithm and also marks
  constants and comments properly.
  An sql statement in the table can now be analyzed by
  simply double-clicking the line in the table view.
  The word-wrap mode has been removed in order to always
  show the original format of the SQL statement.
  The error handling in the logon dialog has been fixed
  and does now no longer abort if a wrong user/password
  combination was used.


Version 1.1.0 - 10-JUN-2000
---------------------------
- Two new columns %Disk and %Buff. have been introduced
  and allow to see the percentage of Disk Reads or Buffer
  Gets one single SQL statement accounts for compared to the
  total number of Disk Reads of Buffer Gets.
  This two values should offer a better identification of
  the suspicious sql statements that may need to be tuned.
- The new option "Restrict to top now allows to restrict
  the rows to the current Top n ones without the need
  to refresh all rows from the database. By resorting the
  rows (click on the column header) you can look at the
  Top n rows for each column.


Version 1.0.1 - 03-JUN-2000
---------------------------
- A problem in the online registration process
  has been corrected. You must use version 2.2.1
  or higher in order to register the application
  successfully.


Version 1.0.0 - 24-MAY-2000
---------------------------
- First released version.
