<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DBA survival BLOG &#187; repository</title>
	<atom:link href="http://www.ludovicocaldara.net/dba/tag/repository/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ludovicocaldara.net/dba</link>
	<description>Keep DBA job simple. Thanks.</description>
	<lastBuildDate>Sat, 01 Oct 2011 20:06:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Plot Oracle historical statistics within SQL*Plus</title>
		<link>http://www.ludovicocaldara.net/dba/plot-oracle-historical-statistics-within-sqlplus/</link>
		<comments>http://www.ludovicocaldara.net/dba/plot-oracle-historical-statistics-within-sqlplus/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 13:43:42 +0000</pubDate>
		<dc:creator>Ludovico</dc:creator>
				<category><![CDATA[Oracle Database]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[awr]]></category>
		<category><![CDATA[dba_hist_sysstat]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[SQL*Plus]]></category>
		<category><![CDATA[workload]]></category>

		<guid isPermaLink="false">http://www.ludovicocaldara.net/dba/?p=10</guid>
		<description><![CDATA[More than often I&#8217;m asked to investigate &#8220;what happened yesterday when performance problems appeared&#8221;. Sometimes I have the Enterprise Manager DB Console licensed, sometimes not. Sometimes I have direct SQL*Net access to the database that I may use to produce custom reports with my LAMP self-developed application. But it may happen that only an ssh [...]]]></description>
			<content:encoded><![CDATA[<p>More than often I&#8217;m asked to investigate &#8220;what happened yesterday when performance problems appeared&#8221;.</p>
<p>Sometimes I have the Enterprise Manager DB Console licensed, sometimes not. Sometimes I have direct SQL*Net access to the database that I may use to produce custom reports with my LAMP self-developed application. But it may happen that only an ssh access is granted to the db server.</p>
<p>That&#8217;s why I started to develop some little scripts to plot the trends of database timed statistics.</p>
<p>Let&#8217;s see this one:<br />
<code><br />
SQL&gt; @sysstat.sql<br />
Enter a sysstat to search for: <strong>physical reads</strong></code><br />
<code><br />
STAT_ID     STAT_NAME<br />
----------- ------------------------------------------</code><br />
<strong>2263124246</strong><code> physical reads<br />
4171507801 physical reads cache<br />
297908839  physical reads cache prefetch<br />
2589616721 physical reads direct<br />
2564935310 physical reads direct (lob)<br />
2663793346 physical reads direct temporary tablespace<br />
473165409  physical reads for flashback new<br />
3102888545 physical reads prefetch warmup<br />
531193461  physical reads retry corrupt</code></p>
<p>9 rows selected.</p>
<p>Enter the desired stat_id: <strong>2263124246</strong><br />
<code>Enter the start date (YYYYMMDD) [defaults today] :</code><strong> 20080922</strong><br />
<code>Enter the end date date (YYYYMMDD) [defaults today] :</code><strong> 20080922</strong><br />
<code><br />
STAT_NAME        START    END<br />
---------------- -------- --------<br />
physical reads   20080922 20080922</code></p>
<p><code>BEGIN_INTERVAL_TIME           VALORE PLOTTED_VALUE<br />
------------------------- ---------- -------------------------<br />
22-SEP-08 12.00.12.122 AM          0<br />
22-SEP-08 01.00.28.253 AM     120092<br />
22-SEP-08 02.00.05.039 AM      35780<br />
22-SEP-08 03.00.55.595 AM       4792<br />
22-SEP-08 04.00.43.725 AM       4905<br />
22-SEP-08 05.00.31.855 AM       7300<br />
22-SEP-08 06.00.17.017 AM     234596<br />
22-SEP-08 07.00.08.132 AM      24651<br />
22-SEP-08 08.00.50.936 AM     481884<br />
22-SEP-08 09.00.33.488 AM     130201<br />
22-SEP-08 10.00.03.805 AM    1300306 **<br />
22-SEP-08 11.00.07.764 AM     491857<br />
22-SEP-08 12.00.31.548 PM     304702<br />
22-SEP-08 01.01.04.880 PM    1023664 *<br />
22-SEP-08 02.00.17.822 PM    8588180 ************<br />
22-SEP-08 03.00.36.969 PM    2201615 ***<br />
22-SEP-08 04.01.01.397 PM   17237098 *************************<br />
22-SEP-08 05.00.39.262 PM    1606300 **<br />
22-SEP-08 06.00.03.829 PM     451568<br />
22-SEP-08 07.00.31.461 PM     137684<br />
22-SEP-08 08.00.05.966 PM     203803<br />
22-SEP-08 09.00.24.829 PM     536394<br />
22-SEP-08 10.00.12.945 PM   10209783 **************<br />
22-SEP-08 11.00.35.123 PM    6151663 *********</code></p>
<p>24 rows selected.</p>
<p>Oh! At 4.00 PM we had a lot of physical reads. Nice.</p>
<p>This is the code:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- display given statistics from DBA_HIST_SYSSTAT</span>
col BEGIN_INTERVAL_TIME <span style="color: #993333; font-weight: bold;">FOR</span> a25
<span style="color: #993333; font-weight: bold;">SET</span> pages <span style="color: #cc66cc;">100</span> <span style="color: #993333; font-weight: bold;">LINES</span> <span style="color: #cc66cc;">130</span>
<span style="color: #993333; font-weight: bold;">SET</span> verify off term <span style="color: #993333; font-weight: bold;">ON</span>
&nbsp;
accept sysstat prompt <span style="color: #ff0000;">'Enter a sysstat to search for: '</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> STAT_ID<span style="color: #66cc66;">,</span> STAT_NAME
  <span style="color: #993333; font-weight: bold;">FROM</span> DBA_HIST_STAT_NAME
   <span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #993333; font-weight: bold;">LOWER</span><span style="color: #66cc66;">&#40;</span>STAT_NAME<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #993333; font-weight: bold;">LOWER</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'%&amp;sysstat%'</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> stat_name;
&nbsp;
accept stat_id prompt <span style="color: #ff0000;">'Enter the desired stat_id: '</span>
accept startdate prompt <span style="color: #ff0000;">'Start date (YYYYMMDD) [today] : '</span>
accept enddate prompt <span style="color: #ff0000;">'End date date (YYYYMMDD) [today] : '</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> STAT_NAME<span style="color: #66cc66;">,</span>
  nvl<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;startdate'</span><span style="color: #66cc66;">,</span>to_char<span style="color: #66cc66;">&#40;</span>sysdate<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">&quot;START&quot;</span><span style="color: #66cc66;">,</span>
  nvl<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;enddate'</span><span style="color: #66cc66;">,</span>to_char<span style="color: #66cc66;">&#40;</span>sysdate<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #ff0000;">&quot;END&quot;</span>
 <span style="color: #993333; font-weight: bold;">FROM</span> DBA_HIST_STAT_NAME
<span style="color: #993333; font-weight: bold;">WHERE</span> STAT_ID <span style="color: #66cc66;">=</span> &amp;stat_id;
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span> BEGIN_INTERVAL_TIME<span style="color: #66cc66;">,</span> VALORE<span style="color: #66cc66;">,</span>
  substr<span style="color: #66cc66;">&#40;</span> rpad<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'*'</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">40</span><span style="color: #66cc66;">*</span>round<span style="color: #66cc66;">&#40;</span> VALORE<span style="color: #66cc66;">/</span><span style="color: #993333; font-weight: bold;">MAX</span><span style="color: #66cc66;">&#40;</span>VALORE<span style="color: #66cc66;">&#41;</span><span style="color: #993333; font-weight: bold;">OVER</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'*'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">40</span><span style="color: #66cc66;">&#41;</span> PLOTTED_VALORE
  <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
  <span style="color: #993333; font-weight: bold;">SELECT</span> s<span style="color: #66cc66;">.</span>BEGIN_INTERVAL_TIME BEGIN_INTERVAL_TIME<span style="color: #66cc66;">,</span>
    nvl<span style="color: #66cc66;">&#40;</span>decode<span style="color: #66cc66;">&#40;</span>greatest<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">,</span> nvl<span style="color: #66cc66;">&#40;</span>lag<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OVER</span>
      <span style="color: #66cc66;">&#40;</span>partition <span style="color: #993333; font-weight: bold;">BY</span> s<span style="color: #66cc66;">.</span>dbid<span style="color: #66cc66;">,</span> s<span style="color: #66cc66;">.</span>instance_number<span style="color: #66cc66;">,</span> g<span style="color: #66cc66;">.</span>stat_name <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> s<span style="color: #66cc66;">.</span>snap_id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
    <span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">,</span>
    <span style="color: #993333; font-weight: bold;">VALUE</span> <span style="color: #66cc66;">-</span> lag<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OVER</span>
      <span style="color: #66cc66;">&#40;</span>partition <span style="color: #993333; font-weight: bold;">BY</span> s<span style="color: #66cc66;">.</span>dbid<span style="color: #66cc66;">,</span> s<span style="color: #66cc66;">.</span>instance_number<span style="color: #66cc66;">,</span> g<span style="color: #66cc66;">.</span>stat_name <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> s<span style="color: #66cc66;">.</span>snap_id<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #993333; font-weight: bold;">VALUE</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> VALORE
  <span style="color: #993333; font-weight: bold;">FROM</span> DBA_HIST_SNAPSHOT s<span style="color: #66cc66;">,</span>
          DBA_HIST_SYSSTAT g<span style="color: #66cc66;">,</span>
          v$instance i
  <span style="color: #993333; font-weight: bold;">WHERE</span> s<span style="color: #66cc66;">.</span>SNAP_ID<span style="color: #66cc66;">=</span>g<span style="color: #66cc66;">.</span>SNAP_ID
  <span style="color: #993333; font-weight: bold;">AND</span> g<span style="color: #66cc66;">.</span>STAT_ID<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'&amp;stat_id'</span>
  <span style="color: #993333; font-weight: bold;">AND</span> s<span style="color: #66cc66;">.</span>BEGIN_INTERVAL_TIME <span style="color: #66cc66;">&gt;=</span>
    trunc<span style="color: #66cc66;">&#40;</span>to_timestamp<span style="color: #66cc66;">&#40;</span>nvl<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;startdate'</span><span style="color: #66cc66;">,</span>to_char<span style="color: #66cc66;">&#40;</span>sysdate<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #993333; font-weight: bold;">AND</span> s<span style="color: #66cc66;">.</span>BEGIN_INTERVAL_TIME <span style="color: #66cc66;">&lt;</span> <span style="color: #66cc66;">=</span>
   trunc<span style="color: #66cc66;">&#40;</span>to_timestamp<span style="color: #66cc66;">&#40;</span>nvl<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'&amp;enddate'</span><span style="color: #66cc66;">,</span>to_char<span style="color: #66cc66;">&#40;</span>sysdate<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'YYYYMMDD'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">+</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #993333; font-weight: bold;">AND</span> s<span style="color: #66cc66;">.</span>instance_number<span style="color: #66cc66;">=</span>i<span style="color: #66cc66;">.</span>instance_number
  <span style="color: #993333; font-weight: bold;">AND</span> s<span style="color: #66cc66;">.</span>instance_number<span style="color: #66cc66;">=</span>g<span style="color: #66cc66;">.</span>instance_number
  <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #cc66cc;">1</span>
<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Ciao<br />
&#8211;<br />
Ludovico</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ludovicocaldara.net/dba/plot-oracle-historical-statistics-within-sqlplus/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

