<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Wait Events 2 &#8211; What is Wrong with this Quote?</title>
	<atom:link href="http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Mon, 13 May 2013 14:10:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Niall Litchfield</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2369</link>
		<dc:creator><![CDATA[Niall Litchfield]]></dc:creator>
		<pubDate>Fri, 10 Dec 2010 12:38:21 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2369</guid>
		<description><![CDATA[That &lt;b&gt;is&lt;/b&gt; clear - it is only the 11.2 version that explicitly makes that distinction though 11.1 has the old wording as well - though to be fair the Reference Manual (which is what I generally use) has split Data Dictionary views and Dynamic Performance views for years. I still stand by my view though that describing a v$ view as a data dictionary object is sufficiently widespread that I wouldn&#039;t be quibbling with its use in a book review. I emphatically would quibble with selecting just those 3 columns as columns of interest though :)]]></description>
		<content:encoded><![CDATA[<p>That <b>is</b> clear &#8211; it is only the 11.2 version that explicitly makes that distinction though 11.1 has the old wording as well &#8211; though to be fair the Reference Manual (which is what I generally use) has split Data Dictionary views and Dynamic Performance views for years. I still stand by my view though that describing a v$ view as a data dictionary object is sufficiently widespread that I wouldn&#8217;t be quibbling with its use in a book review. I emphatically would quibble with selecting just those 3 columns as columns of interest though <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2367</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Fri, 10 Dec 2010 11:47:05 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2367</guid>
		<description><![CDATA[I wonder if the distinction has been clarified better in recent versions of the documentation?  When I clicked on the V$SESSION_WAIT link that was embedded in the link supplied by Niall, the window title showed &quot;Dynamic Performance (V$) Views, 177 of 238&quot;, but the web page itself did not indicate that V$SESSION_WAIT is a dynamic performance view.

If we jump forward to Oracle Database 10.1:
http://download.oracle.com/docs/cd/B13789_01/server.101/b10743/datadict.htm

&lt;blockquote&gt;&quot;One of the most important parts of an Oracle database is its data dictionary, which is a read-only set of tables that provides information about the database. A data dictionary contains:
•The definitions of all schema objects in the database (tables, views, indexes, clusters, synonyms, sequences, procedures, functions, packages, triggers, and so on)
•How much space has been allocated for, and is currently used by, the schema objects
•Default values for columns
•Integrity constraint information
•The names of Oracle users
•Privileges and roles each user has been granted
•Auditing information, such as who has accessed or updated various schema objects
•Other general database information&quot;&lt;/blockquote&gt;

And then to 11.2:
http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datadict.htm

&lt;blockquote&gt;&quot;An important part of an Oracle database is its data dictionary, which is a read-only set of tables that provides administrative metadata about the database. A data dictionary contains information such as the following:
•The definitions of every schema object in the database, including default values for columns and integrity constraint information
•The amount of space allocated for and currently used by the schema objects
•The names of Oracle Database users, privileges and roles granted to users, and auditing information related to users (see &quot;User Accounts&quot;)

The data dictionary is a central part of data management for every Oracle database. For example, the database performs the following actions:
•Accesses the data dictionary to find information about users, schema objects, and storage structures
•Modifies the data dictionary every time that a DDL statement is issued (see &quot;Data Definition Language (DDL) Statements&quot;)

Because Oracle Database stores data dictionary data in tables, just like other data, users can query the data with SQL. For example, users can run SELECT statements to determine their privileges, which tables exist in their schema, which columns are in these tables, whether indexes are built on these columns, and so on.
...
Overview of the Dynamic Performance Views
Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are called dynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes called V$ views, contain information such as the following:
•System and session parameters
•Memory usage and allocation
•File states (including RMAN backup files)
•Progress of jobs and tasks
•SQL execution
•Statistics and metrics

The dynamic performance views have the following primary uses:
•Oracle Enterprise Manager uses the views to obtain information about the database (see &quot;Oracle Enterprise Manager&quot;).
•Administrators can use the views for performance monitoring and debugging.&quot;&lt;/blockquote&gt;

So, at least in recent versions of the documentation, anything performance related that is &quot;continuously updated while a database is open and in use&quot; should probably be called a &quot;dynamic performance view&quot; - but then I could quite possibly be wrong (I still intentionally mispronounce the word gigabyte as gig-a-bite, rather than as jig-a-bite).]]></description>
		<content:encoded><![CDATA[<p>I wonder if the distinction has been clarified better in recent versions of the documentation?  When I clicked on the V$SESSION_WAIT link that was embedded in the link supplied by Niall, the window title showed &#8220;Dynamic Performance (V$) Views, 177 of 238&#8243;, but the web page itself did not indicate that V$SESSION_WAIT is a dynamic performance view.</p>
<p>If we jump forward to Oracle Database 10.1:<br />
<a href="http://download.oracle.com/docs/cd/B13789_01/server.101/b10743/datadict.htm" rel="nofollow">http://download.oracle.com/docs/cd/B13789_01/server.101/b10743/datadict.htm</a></p>
<blockquote><p>&#8220;One of the most important parts of an Oracle database is its data dictionary, which is a read-only set of tables that provides information about the database. A data dictionary contains:<br />
•The definitions of all schema objects in the database (tables, views, indexes, clusters, synonyms, sequences, procedures, functions, packages, triggers, and so on)<br />
•How much space has been allocated for, and is currently used by, the schema objects<br />
•Default values for columns<br />
•Integrity constraint information<br />
•The names of Oracle users<br />
•Privileges and roles each user has been granted<br />
•Auditing information, such as who has accessed or updated various schema objects<br />
•Other general database information&#8221;</p></blockquote>
<p>And then to 11.2:<br />
<a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datadict.htm" rel="nofollow">http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datadict.htm</a></p>
<blockquote><p>&#8220;An important part of an Oracle database is its data dictionary, which is a read-only set of tables that provides administrative metadata about the database. A data dictionary contains information such as the following:<br />
•The definitions of every schema object in the database, including default values for columns and integrity constraint information<br />
•The amount of space allocated for and currently used by the schema objects<br />
•The names of Oracle Database users, privileges and roles granted to users, and auditing information related to users (see &#8220;User Accounts&#8221;)</p>
<p>The data dictionary is a central part of data management for every Oracle database. For example, the database performs the following actions:<br />
•Accesses the data dictionary to find information about users, schema objects, and storage structures<br />
•Modifies the data dictionary every time that a DDL statement is issued (see &#8220;Data Definition Language (DDL) Statements&#8221;)</p>
<p>Because Oracle Database stores data dictionary data in tables, just like other data, users can query the data with SQL. For example, users can run SELECT statements to determine their privileges, which tables exist in their schema, which columns are in these tables, whether indexes are built on these columns, and so on.<br />
&#8230;<br />
Overview of the Dynamic Performance Views<br />
Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are called dynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes called V$ views, contain information such as the following:<br />
•System and session parameters<br />
•Memory usage and allocation<br />
•File states (including RMAN backup files)<br />
•Progress of jobs and tasks<br />
•SQL execution<br />
•Statistics and metrics</p>
<p>The dynamic performance views have the following primary uses:<br />
•Oracle Enterprise Manager uses the views to obtain information about the database (see &#8220;Oracle Enterprise Manager&#8221;).<br />
•Administrators can use the views for performance monitoring and debugging.&#8221;</p></blockquote>
<p>So, at least in recent versions of the documentation, anything performance related that is &#8220;continuously updated while a database is open and in use&#8221; should probably be called a &#8220;dynamic performance view&#8221; &#8211; but then I could quite possibly be wrong (I still intentionally mispronounce the word gigabyte as gig-a-bite, rather than as jig-a-bite).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niall Litchfield</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2366</link>
		<dc:creator><![CDATA[Niall Litchfield]]></dc:creator>
		<pubDate>Fri, 10 Dec 2010 10:53:12 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2366</guid>
		<description><![CDATA[At the risk of splitting hairs with Jonathan (&quot;what do you mean by hint anyway?&quot;) I don&#039;t object to the &quot;data dictionary&quot; terminology too much. Whilst it is obviously true that its a dynamic performance view, its fairly common usage to refer to &lt;b&gt;all&lt;/b&gt; v$.. views as data dictionary views, oracle does it in the old reference material which is headed &quot;Catalog Views / Data Dictionary Views&quot;  eg http://www.oracle.com/pls/db92/db92.catalog_views?remark=homepage which is perfectly readable as meaning that the two definitions are interchangeable.  In fact it was precisely this sort of common understanding that made me so annoyed when the otherwise excellent Performance Instrumentation became chargeable in 10g. It isn&#039;t unreasonable (though pedantically incorrect) to consider v$active_session_history as a part of the data dictionary - especially as it is referenced as such in the docs - that we are now being charged to write queries against. (I don&#039;t mind being charged extra for Oracle&#039;s use of this information in EM by the way, but being charged to write my own SQL!) . 

so yes I understand the distinction, but its a bit too hair-splitting for me (and I am generally rather prone to hair splitting myself).]]></description>
		<content:encoded><![CDATA[<p>At the risk of splitting hairs with Jonathan (&#8220;what do you mean by hint anyway?&#8221;) I don&#8217;t object to the &#8220;data dictionary&#8221; terminology too much. Whilst it is obviously true that its a dynamic performance view, its fairly common usage to refer to <b>all</b> v$.. views as data dictionary views, oracle does it in the old reference material which is headed &#8220;Catalog Views / Data Dictionary Views&#8221;  eg <a href="http://www.oracle.com/pls/db92/db92.catalog_views?remark=homepage" rel="nofollow">http://www.oracle.com/pls/db92/db92.catalog_views?remark=homepage</a> which is perfectly readable as meaning that the two definitions are interchangeable.  In fact it was precisely this sort of common understanding that made me so annoyed when the otherwise excellent Performance Instrumentation became chargeable in 10g. It isn&#8217;t unreasonable (though pedantically incorrect) to consider v$active_session_history as a part of the data dictionary &#8211; especially as it is referenced as such in the docs &#8211; that we are now being charged to write queries against. (I don&#8217;t mind being charged extra for Oracle&#8217;s use of this information in EM by the way, but being charged to write my own SQL!) . </p>
<p>so yes I understand the distinction, but its a bit too hair-splitting for me (and I am generally rather prone to hair splitting myself).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2361</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 19:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2361</guid>
		<description><![CDATA[Jonathan,

Thanks for the terminology correction.  That &quot;data dictionary query&quot; phrase and the missing &quot;s&quot; at the end of the wait event name in the first sentence of the quote were the final two problems that I found in the quote.]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>Thanks for the terminology correction.  That &#8220;data dictionary query&#8221; phrase and the missing &#8220;s&#8221; at the end of the wait event name in the first sentence of the quote were the final two problems that I found in the quote.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2360</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 18:52:07 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2360</guid>
		<description><![CDATA[Charles,

I would have said that v$session_wait was a dynamic performance view, not a data dictionary view.]]></description>
		<content:encoded><![CDATA[<p>Charles,</p>
<p>I would have said that v$session_wait was a dynamic performance view, not a data dictionary view.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2356</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 15:48:09 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2356</guid>
		<description><![CDATA[I think that Niall is making a very important comment in this blog article about the V$SESSION_WAIT performance view.  I thought that there might be a couple of more columns that are also important in the V$SESSION_WAIT performance view - I think that I previously mentioned the lack of a detailed description of this performance view in at least two other book reviews (for the record, I had not yet made the conclusion about this quote that the STATE column should be retrieved, as both Niall and Taral mentioned).

There was an OTN thread a couple of years ago that finally helped me understand this performance view.  See Jonathan Lewis&#039; description of the columns (and the follow up by Hemant):
http://forums.oracle.com/forums/thread.jspa?threadID=684852

So, anything else wrong with the quote?  :-)]]></description>
		<content:encoded><![CDATA[<p>I think that Niall is making a very important comment in this blog article about the V$SESSION_WAIT performance view.  I thought that there might be a couple of more columns that are also important in the V$SESSION_WAIT performance view &#8211; I think that I previously mentioned the lack of a detailed description of this performance view in at least two other book reviews (for the record, I had not yet made the conclusion about this quote that the STATE column should be retrieved, as both Niall and Taral mentioned).</p>
<p>There was an OTN thread a couple of years ago that finally helped me understand this performance view.  See Jonathan Lewis&#8217; description of the columns (and the follow up by Hemant):<br />
<a href="http://forums.oracle.com/forums/thread.jspa?threadID=684852" rel="nofollow">http://forums.oracle.com/forums/thread.jspa?threadID=684852</a></p>
<p>So, anything else wrong with the quote?  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Taral Desai</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2355</link>
		<dc:creator><![CDATA[Taral Desai]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 15:22:20 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2355</guid>
		<description><![CDATA[It won&#039;t say the state if it&#039;s waiting or on CPU. Because if not waiting then it&#039;s meaningless.]]></description>
		<content:encoded><![CDATA[<p>It won&#8217;t say the state if it&#8217;s waiting or on CPU. Because if not waiting then it&#8217;s meaningless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Niall Litchfield</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2352</link>
		<dc:creator><![CDATA[Niall Litchfield]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 14:13:28 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2352</guid>
		<description><![CDATA[I&#039;d have thought the statement &quot;there are 3 columns of v$session_wait that are of particular interest for a buffer busy wait event&quot; might be expanded a bit. You would likely also include state (to see if the wait was a red herring having already completed and time_waited. There is of course an easier way to ensure you know what P1,P2,P3 refer to for any given row in v$session_wait and that is to use the P1TEXT,P2TEXT,P3TEXT columns as well (they&#039;ve been around since 9.2 at least so there&#039;s no excuse really). As it stands the books query tells you that there was a wait of unknown duration at an unknown time (might not be now) on this event. If that&#039;s of particular interest I&#039;ve got a chocolate teapot for sale.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;d have thought the statement &#8220;there are 3 columns of v$session_wait that are of particular interest for a buffer busy wait event&#8221; might be expanded a bit. You would likely also include state (to see if the wait was a red herring having already completed and time_waited. There is of course an easier way to ensure you know what P1,P2,P3 refer to for any given row in v$session_wait and that is to use the P1TEXT,P2TEXT,P3TEXT columns as well (they&#8217;ve been around since 9.2 at least so there&#8217;s no excuse really). As it stands the books query tells you that there was a wait of unknown duration at an unknown time (might not be now) on this event. If that&#8217;s of particular interest I&#8217;ve got a chocolate teapot for sale.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2343</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 12:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2343</guid>
		<description><![CDATA[Donatello,

You provided very good descriptions of the problems, and how to fix those problems.  I found those same two problems in about 60 seconds, although your answers are much more complete than the ones that I had put together.

Now for the bonus points, what other problems are in the quote?  I think that I spent about 3 minutes on this part of the test (that is, 3 minutes after the initial 60 seconds).  :-)]]></description>
		<content:encoded><![CDATA[<p>Donatello,</p>
<p>You provided very good descriptions of the problems, and how to fix those problems.  I found those same two problems in about 60 seconds, although your answers are much more complete than the ones that I had put together.</p>
<p>Now for the bonus points, what other problems are in the quote?  I think that I spent about 3 minutes on this part of the test (that is, 3 minutes after the initial 60 seconds).  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Donatello Settembrino</title>
		<link>http://hoopercharles.wordpress.com/2010/12/08/wait-events-2-what-is-wrong-with-this-quote/#comment-2339</link>
		<dc:creator><![CDATA[Donatello Settembrino]]></dc:creator>
		<pubDate>Thu, 09 Dec 2010 09:10:24 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=3922#comment-2339</guid>
		<description><![CDATA[Hi Charles,
I think there are 2 errors :) in

[code]

select
  p1 &quot;File #&quot;.
  p2 &quot;Block #&quot;,
  p3 &quot;Reason Code&quot;
from
  v$session_wait
where
  event = &#039;buffer busy waits&#039;

[/code]


the first [p1 (&quot;File #&quot;.), the &#039;.&#039; should be replaced with &#039;,&#039;]

Seriously ...

if the book was written after the release of Oracle Database 11.2.0.1
the query must be corrected:

[code]

select
  p1 &quot;File #&quot;, 
  p2 &quot;Block #&quot;,
  p3 &quot;Class#&quot;
from
  v$session_wait
where
  event = &#039;buffer busy waits&#039;

[/code]

In fact, with Oracle 10g the parameter p3 (parameter3)


[code]
select name, parameter1, parameter2, parameter3 
from V$EVENT_NAME 
where name = &#039;buffer busy waits&#039;

NAME                                   PARAMETER1     PARAMETER2   PARAMETER3 
------------------------ -------------- ------------ -----------
buffer busy waits                   file#                   block#            class#     

[/code]

class# refers to the class of the block (example, class# 1 refers to the Data Blocks)
and not to the &quot;Reason Code&quot; (ID, such as 100, 110 etc.).

I think you are referring to this

Regards]]></description>
		<content:encoded><![CDATA[<p>Hi Charles,<br />
I think there are 2 errors <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  in</p>
<pre class="brush: plain; title: ; notranslate">

select
  p1 &quot;File #&quot;.
  p2 &quot;Block #&quot;,
  p3 &quot;Reason Code&quot;
from
  v$session_wait
where
  event = 'buffer busy waits'

</pre>
<p>the first [p1 ("File #".), the '.' should be replaced with ',']</p>
<p>Seriously &#8230;</p>
<p>if the book was written after the release of Oracle Database 11.2.0.1<br />
the query must be corrected:</p>
<pre class="brush: plain; title: ; notranslate">

select
  p1 &quot;File #&quot;, 
  p2 &quot;Block #&quot;,
  p3 &quot;Class#&quot;
from
  v$session_wait
where
  event = 'buffer busy waits'

</pre>
<p>In fact, with Oracle 10g the parameter p3 (parameter3)</p>
<pre class="brush: plain; title: ; notranslate">
select name, parameter1, parameter2, parameter3 
from V$EVENT_NAME 
where name = 'buffer busy waits'

NAME                                   PARAMETER1     PARAMETER2   PARAMETER3 
------------------------ -------------- ------------ -----------
buffer busy waits                   file#                   block#            class#     

</pre>
<p>class# refers to the class of the block (example, class# 1 refers to the Data Blocks)<br />
and not to the &#8220;Reason Code&#8221; (ID, such as 100, 110 etc.).</p>
<p>I think you are referring to this</p>
<p>Regards</p>
]]></content:encoded>
	</item>
</channel>
</rss>
