Explain ======= DESCRIPTION ----------- Explain is a GUI-based tool that enables easier visualisation of Oracle Query plans. A query plan is the access path that Oracle will use to satisfy a SQL query. The Oracle query optimiser is responsible for deciding on the optimal path to use. Needless to say, understanding such plans requires a fairly sophisticated knowledge of Oracle architecture and internals. Explain allows a user to interactively edit a SQL statemant and view the resulting query plan with the click of a single button. The effects of modifying the SQL or of adding hints can be rapidly established. Explain allows the user to capture all the SQL currently cached by Oracle. The SQL capture can be filtered and sorted by different criterea, e.g. all SQL matching a pattern, order by number of executions etc. Explain is written using Perl, DBI/DBD::Oracle and Tk. PREREQUISITES ------------- 1. Oracle 7 or Oracle 8, with SQL*Net if appropriate 2. Perl 5.004_04 or later 3. DBI version 1.02 or later 4. DBD::Oracle 0.54 or later 5. pTk 800.011 or later 6. Tk::Pod 3.15 or later Items 2 through 6 can be obtained from any CPAN mirror. INSTALLATION ------------ 1. Check you have all the prequisites installed and working. 2. perl Makefile.PL; make install 3. Make sure you have run the script $ORACLE_HOME/rdbms/admin/utlxplan.sql from a SQL*Plus session. This script creates the PLAN_TABLE that is used by Oracle when explaining query plans. DOCUMENTATION ------------- Online, via the 'Help' menu, or 'perldoc explain' COPYRIGHT AND DISCLAIMER ------------------------ Copyright (c) 1999 Alan Burlison You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file, with the exception that it cannot be placed on a CD-ROM or similar media for commercial distribution without the prior approval of the author. This code is provided with no warranty of any kind, and is used entirely at your own risk. This code was written by the author as a private individual, and is in no way endorsed or warrantied by Sun Microsystems.