TVD$XTAT | TriVaDis eXtended Tracefile Analysis Tool |
Author |
Copyright 2000-2009 by Christian Antognini
|
Date |
April 8, 2009 |
Version |
4.0 Beta 9 |
Purpose |
This REAME gives the following information about TVD$XTAT: |
In late 1999, I had my first encounter with extended SQL trace, through MetaLink note Interpreting Raw SQL_TRACE and DBMS_SUPPORT.START_TRACE output (39817.1). From the beginning, it was clear that the information it provided was essential for understanding what an application is doing when it is connected to an Oracle database engine. At the same time, I was very disappointed that no tool was available for analyzing extended SQL trace files for the purpose of leveraging their content. I should note that TKPROF at that time did not provide information about wait events. After spending too much time manually extracting information from the raw trace files, I decided to write my own analysis tool: TVD$XTAT.
Over the time the tool has been enhanced and even rewritten several times, here a short history:
Feb 2000, Version 0.1 |
AWK script... |
May 2000, Version 1.0 |
First rewrite, TVD$XTAT becomes a PL/SQL package |
Dec 2000, Version 1.1 |
Some enhancements and bug fixing |
Feb 2001, Version 2.0 |
First GUI (Java applet), PL/SQL almost unchanged |
Mar 2001, Version 2.1 |
Some enhancements and bug fixing |
May 2001, Version 2.2 |
Better performance and bug fixing |
Sep 2001, Version 2.3 |
Some enhancements and support of Oracle9i |
Mar 2002, Version 3.0 |
GUI rewritten |
Nov 2004, Version 4.0 Beta 1 |
Second complete rewrite, TVD$XTAT becomes a command-line Java application. The aim is to be able to process large trace files very quickly. |
TVD$XTAT is free and licensed under a Creative Commons License. I wrote it because I need it to quickly identify performance issues when I work for my customers.
This software is provided "as is" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
Java Runtime Environment 1.4.1 or newer.
To install TVD$XTAT, you need to perform the following operations:
If you run TVD$XTAT without arguments, you get a complete list of the available arguments with a short description for each of them. Note that for every argument, there is a short representation (for example, -c) and a long representation (for example, --cleanup).
usage: tvdxtat [-c no|yes] [-f <int>] [-l <int>] [-r 7|8|9|10|11] [-s no|yes] [-t <template>] [-w no|yes] [-x severe|warning|info|fine|finer] -i <input> -o <output> -c,--cleanup remove temporary XML file (no|yes) -f,--feedback display progress every x lines (integer number >= 0, no progress = 0) -h,--help display this help information and exit -i,--input input trace file name (valid extensions are TRC, GZ and ZIP) -l,--limit limit the size of lists (e.g. number of statements) in the output file (integer number >= 0, unlimited = 0) -o,--output output file name (a temporary XML file with the same name but with the extension xml is also created) -r,--release major release of the database engine that generated the input trace file (7|8|9|10|11) -s,--sys report information about SYS recursive statements (no|yes) -t,--template name of the XSL template used to generate the output file (html.xsl|text.xsl) -v,--version print product version and exit -w,--wait report detailed information about wait events (no|yes) -x,--logging logging level (severe|warning|info|fine|finer)
The function of each argument is as follows:
My book, Troubleshooting Oracle Performance, fully describes how to leverage the output generated by TVD$XTAT to identify performance problems.
This is a beta version and, therefore, some functionality is still missing: