<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.trivadis.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title type="html">Striving for Optimal Performance (Christian Antognini)</title><subtitle type="html">This blog is a mirror of http://antognini.ch/blog</subtitle><id>http://blog.trivadis.com/blogs/christianantognini/atom.aspx</id><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blog.trivadis.com/blogs/christianantognini/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2008-09-21T21:34:47Z</updated><entry><title>PerformaSure X-Agent Configuration</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2009/01/05/performasure-x-agent-configuration.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2009/01/05/performasure-x-agent-configuration.aspx</id><published>2009-01-05T17:47:42Z</published><updated>2009-01-05T17:47:42Z</updated><content type="html">PerformaSure of Quest Software is a J2EE performance diagnosis tool that provides an end-to-end transaction-centric view of performance as experienced by end users. To gather profile information PerformaSure uses one or several agents deployed on the monitored systems. Since gathering profile information depends on the monitored component, three different agents are available: System agent gather [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2009/01/05/performasure-x-agent-configuration.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=18399" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="PerformaSure" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/PerformaSure/default.aspx" /></entry><entry><title>What Are Hints?</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/22/what-are-hints.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/22/what-are-hints.aspx</id><published>2008-12-22T07:43:32Z</published><updated>2008-12-22T07:43:32Z</updated><content type="html">Yesterday, while reading a swiss italian dialect tranlation of Le petit prince (entitled Ul principe pinin), I noticed a very interesting discussion between the little prince and the king (the inhabitant of the first planet visited by the little prince&amp;#8230;). Here is the most important part of that discussion (you can read the whole text, [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/22/what-are-hints.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=15590" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /></entry><entry><title>Automatic Evolution of SQL Plan Baselines</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/10/automatic-evolution-of-sql-plan-baselines.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/10/automatic-evolution-of-sql-plan-baselines.aspx</id><published>2008-12-10T16:00:53Z</published><updated>2008-12-10T16:00:53Z</updated><content type="html">In the section Evolving SQL Plan Baselines of TOP (pages 299-300) I explain what an evolution is and how to manually do it. What I do not cover is the automatic evolution. In fact, I wrote only the following text about it: &amp;#8220;In addition to the manual evolution just explained, automatic evolution of SQL plan [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/10/automatic-evolution-of-sql-plan-baselines.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=12884" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /></entry><entry><title>Query Optimizer 11g – What’s new?</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/02/query-optimizer-11g-what-s-new.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/02/query-optimizer-11g-what-s-new.aspx</id><published>2008-12-02T21:01:09Z</published><updated>2008-12-02T21:01:09Z</updated><content type="html">Today I presented at the DOAG Conference in Nuremberg. As the title of this post suggests, I talked about the query optimizer features introduced in Oracle Database 11g. This is an evolution of the paper I already presented at the UKOUG Conference in Birmingham, at the Hotsos Symposium in Dallas, at the AOUG Expertentreff in [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/12/02/query-optimizer-11g-what-s-new.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=11188" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /><category term="Speaking" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Speaking/default.aspx" /></entry><entry><title>DBMS_XPLAN.PREPARE_PLAN_XML_QUERY</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/21/dbms-xplan-prepare-plan-xml-query.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/21/dbms-xplan-prepare-plan-xml-query.aspx</id><published>2008-11-21T11:11:39Z</published><updated>2008-11-21T11:11:39Z</updated><content type="html">As of 11.1.0.7 in the package dbms_xplan there is a new function:
FUNCTION prepare_plan_xml_query(plan_query IN VARCHAR2) RETURN VARCHAR2;
Simply put, the function takes as input a query that extract information from a plan table (e.g. plan_table or v$sql_plan) and builds a query based on SQLX functions that returns the output of the input query in XML.
Let&amp;#8217;s have [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/21/dbms-xplan-prepare-plan-xml-query.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=7108" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /></entry><entry><title>TVD$XTAT 4.0 Beta 8</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/17/tvd-xtat-4-0-beta-8.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/17/tvd-xtat-4-0-beta-8.aspx</id><published>2008-11-17T20:08:13Z</published><updated>2008-11-17T20:08:13Z</updated><content type="html">This is just a short note to point out that I just uploaded under the section Downloadable Files of TOP a new version of TVD$XTAT.
The change log since Beta 7 is the following: Improved generation of synthetic cursors (particularly for RPC and XCTEND)
Added support for 11.1.0.7 formatting of XCTEND
Added check for questionable values for cpu and [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/17/tvd-xtat-4-0-beta-8.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=6024" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /><category term="SQL Trace" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/SQL+Trace/default.aspx" /><category term="TVD$XTAT" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TVD_2400_XTAT/default.aspx" /></entry><entry><title>Hotsos Symposium 2009</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/13/hotsos-symposium-2009.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/13/hotsos-symposium-2009.aspx</id><published>2008-11-13T05:00:27Z</published><updated>2008-11-13T05:00:27Z</updated><content type="html">Every March since 2004 I use to spend several days in Dallas. The reason is quite simple… people from around the world sharing my own interests gather there to attend Hotsos Symposium. If, like me, you are focusing on getting the most out of Oracle, this is one of the conferences that you should not [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/13/hotsos-symposium-2009.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=4777" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="Speaking" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Speaking/default.aspx" /></entry><entry><title>Invisible Indexes and Hints</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/11/invisible-indexes-and-hints.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/11/invisible-indexes-and-hints.aspx</id><published>2008-11-11T16:02:32Z</published><updated>2008-11-11T16:02:32Z</updated><content type="html">In this post I would like to remove some misinformation about the utilization of hints with invisible indexes.
Let’s start by providing you what two sources say about that topic: Oracle Database 11g: New Features for DBAs and Developers (by Sam R. Alapati and Charles Kim, page 132)
“If you want the optimizer to take the invisible index [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/11/11/invisible-indexes-and-hints.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=4698" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /><category term="Indexes" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Indexes/default.aspx" /></entry><entry><title>Introduce TVD$XTAT</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/24/introduce-tvd-xtat.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/24/introduce-tvd-xtat.aspx</id><published>2008-10-24T13:56:51Z</published><updated>2008-10-24T13:56:51Z</updated><content type="html">Trivadis Extended Tracefile Analysis Tool (TVD$XTAT) is a command-line tool. Like TKPROF, its main purpose is to take a raw SQL trace file as input and generate a formatted file as output.
Why Is TKPROF Not Enough?
In late 1999, I had my first encounter with extended SQL trace, through MetaLink note Interpreting Raw SQL_TRACE and DBMS_SUPPORT.START_TRACE [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/24/introduce-tvd-xtat.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=2659" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /><category term="SQL Trace" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/SQL+Trace/default.aspx" /><category term="TVD$XTAT" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TVD_2400_XTAT/default.aspx" /></entry><entry><title>Invisible Indexes and Locks</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/17/invisible-indexes-and-locks.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/17/invisible-indexes-and-locks.aspx</id><published>2008-10-17T08:33:23Z</published><updated>2008-10-17T08:33:23Z</updated><content type="html">Invisible indexes are useful to temporarily hide an index from the query optimizer. In this post, instead of explaining what invisible indexes are, I would like to show whether the database engine uses invisible indexes to avoid false contention caused by unindexed foreign key. Let&amp;#8217;s start by creating two test tables with a relation (foreign key) [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/17/invisible-indexes-and-locks.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=2361" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Indexes" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Indexes/default.aspx" /></entry><entry><title>TOP on Google Book Search</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/10/top-on-google-book-search.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/10/top-on-google-book-search.aspx</id><published>2008-10-10T09:43:42Z</published><updated>2008-10-10T09:43:42Z</updated><content type="html">This is a short note to point out that my book, Troubleshooting Oracle Performance, is available on Google Book Search. To browse through it or to use the search capabilities provided by Google, click here. Even if the preview is limited to certain number of pages, in my opinion this service is a great help [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/10/top-on-google-book-search.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1949" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /></entry><entry><title>Granularity ‘APPROX_GLOBAL AND PARTITION’</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/03/granularity-approx-global-and-partition.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/03/granularity-approx-global-and-partition.aspx</id><published>2008-10-03T08:27:19Z</published><updated>2008-10-03T08:27:19Z</updated><content type="html">The patchset 11.1.0.7 introduces in the package DBMS_STATS a new value for the parameter GRANULARITY. The description provided by the development team in $ORACLE_HOME/rdbms/admin/dbmsstat.sql is the following:
&amp;#039;APPROX_GLOBAL AND PARTITION&amp;#039; - This option is similar to &amp;#039;GLOBAL AND PARTITION&amp;#039;. But the global statistics are aggregated from partition level statistics. It will aggregate [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/10/03/granularity-approx-global-and-partition.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1781" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="Object Statistics" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Object+Statistics/default.aspx" /></entry><entry><title>Bloom Filters</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/26/bloom-filters.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/26/bloom-filters.aspx</id><published>2008-09-26T16:24:13Z</published><updated>2008-09-26T16:24:13Z</updated><content type="html">Oracle Database, as of 10g Release 2, uses bloom filters in various situations. Unfortunately, no information about their usage is available in Oracle documentation. For this reason, I decided to write a paper to explain not only what bloom filters are, but also, and foremost, to describe how Oracle Database makes use of them. Specifically, [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/26/bloom-filters.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1669" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /><category term="10gR2" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/10gR2/default.aspx" /><category term="Query Optimizer" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Query+Optimizer/default.aspx" /></entry><entry><title>Book Presentation</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/23/book-presentation.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/23/book-presentation.aspx</id><published>2008-09-23T21:40:34Z</published><updated>2008-09-23T21:40:34Z</updated><content type="html">I already pointed out in a previous post that Tanel Poder will be speaking in Vienna, Düsseldorf, Munich and Zürich next December. The news is that an additional presentation (followed by an aperitif) will take place at the same locations and dates as Tanel&amp;#8217;s seminar. At 5pm on the first day, I will give [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/23/book-presentation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1617" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="TOP" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/TOP/default.aspx" /><category term="Speaking" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/Speaking/default.aspx" /></entry><entry><title>New Information in SQL Trace Files</title><link rel="alternate" type="text/html" href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/21/new-information-in-sql-trace-files.aspx" /><id>http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/21/new-information-in-sql-trace-files.aspx</id><published>2008-09-21T19:34:47Z</published><updated>2008-09-21T19:34:47Z</updated><content type="html">During some tests with patchset 11.1.0.7 (which is presently available for Linux 32-bit and 64-bit only) I noticed something new in the SQL trace files. Let&amp;#8217;s see what is the difference if I run the following statements with and without the patchset:
execute dbms_monitor.session_trace_enable(waits=&amp;#62;FALSE)
SELECT &amp;#039;Hello world!&amp;#039; FROM dual;
execute dbms_monitor.session_trace_disable
The relevant part of the trace file is [...]...(&lt;a href="http://blog.trivadis.com/blogs/christianantognini/archive/2008/09/21/new-information-in-sql-trace-files.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blog.trivadis.com/aggbug.aspx?PostID=1563" width="1" height="1"&gt;</content><author><name>Anonymous</name><uri>http://blog.trivadis.com/members/Anonymous.aspx</uri></author><category term="11gR1" scheme="http://blog.trivadis.com/blogs/christianantognini/archive/tags/11gR1/default.aspx" /></entry></feed>