<?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/"
	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>Julian Dontcheff&#039;s Database Blog</title>
	<atom:link href="http://juliandontcheff.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://juliandontcheff.wordpress.com</link>
	<description>The good DBA is one who learns from his mistakes, the best DBA is one who learns from other DBA&#039;s mistakes</description>
	<lastBuildDate>Sat, 18 May 2013 13:04:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='juliandontcheff.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/703aa2b101922b98e88abebde92a92a0?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Julian Dontcheff&#039;s Database Blog</title>
		<link>http://juliandontcheff.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://juliandontcheff.wordpress.com/osd.xml" title="Julian Dontcheff&#039;s Database Blog" />
	<atom:link rel='hub' href='http://juliandontcheff.wordpress.com/?pushpress=hub'/>
		<item>
		<title>What is the best relational database?</title>
		<link>http://juliandontcheff.wordpress.com/2013/05/11/what-is-the-best-relational-database/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/05/11/what-is-the-best-relational-database/#comments</comments>
		<pubDate>Sat, 11 May 2013 09:45:18 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DB2 database]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Sybase]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3425</guid>
		<description><![CDATA[&#8220;I have the simplest tastes. I am always satisfied with the best.&#8221; Oscar Wilde If we look at market figures, then &#8220;Gartner 2012 Worldwide RDBMS market share&#8221; reports 48.3 percent revenue share for Oracle. Three major factors make the Oracle database a clear leader: 1. Remains #1 in worldwide RDBMS software revenue share 2. Holds [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3425&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>&#8220;I have the simplest tastes. I am always satisfied with the best.&#8221; Oscar Wilde </p>
<p>If we look at market figures, then <a href="http://www.gartner.com/id=2398815" title="RDBMS" target="_blank">&#8220;Gartner 2012 Worldwide RDBMS market share&#8221;</a> reports 48.3 percent revenue share for Oracle.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/05/rdbms_market_share.png"><img src="http://juliandontcheff.files.wordpress.com/2013/05/rdbms_market_share.png?w=604" alt="RDBMS_Market_Share"   class="aligncenter size-full wp-image-3429" /></a></p>
<p>Three major factors make the Oracle database a clear leader:</p>
<p>1. Remains #1 in worldwide RDBMS software revenue share<br />
2. Holds a larger revenue share than four closest competitors combined<br />
3. Leads next closest competitor revenue share by 29%</p>
<p>But why is that so? Let us have a look at the latest <a href="http://db-engines.com/en/ranking" title="DB-Engines Ranking" target="_blank">DB-Engines Ranking</a> where <a href="http://db-engines.com/en/system/Oracle" title="Oracle" target="_blank">Oracle</a> is not only #1 in the <a href="http://db-engines.com/en/ranking/relational+dbms" title="DB-Engines Ranking of Relational DBMS" target="_blank">DB-Engines Ranking of Relational DBMS</a> but also in the <a href="http://db-engines.com/en/ranking" title="Complete Ranking" target="_blank">Complete Ranking</a>.</p>
<p>The DB-Engines Ranking are measured the popularity of a system by using the following parameters:</p>
<p>- Number of mentions of the system on websites, measured as number of results in search engines queries.<br />
- General interest in the system.<br />
- Frequency of technical discussions about the system.<br />
- Number of job offers, in which the system is mentioned.<br />
- Number of profiles in professional networks, in which the system is mentioned.</p>
<p><a href="http://answers.yahoo.com/question/index?qid=1005091000008" title="What is the best relational database?" target="_blank">What is the best relational database?</a> The best answer given in answers.yahoo.com is the following: &#8220;Define &#8220;best&#8221;. Oracle is like a BMW. Expensive but has all the fixings. But not everyone needs a BMW. MySQL is like a VW Beetle (the old model). Its cheap, and gets you where you need to go. But you have to tweak it to suit your needs.&#8221; Nice explanation! </p>
<p>Next, let us look at Gartner&#8217;s <a href="http://www.gartner.com/technology/reprints.do?id=1-1DX2UJ3&amp;ct=130204&amp;st=sb" title="Magic Quadrant for Data Warehouse Database Management Systems" target="_blank">Magic Quadrant for Data Warehouse Database Management Systems</a> from January 31st, 2013:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/05/gartner_magic_dw.png"><img src="http://juliandontcheff.files.wordpress.com/2013/05/gartner_magic_dw.png?w=604" alt="Gartner_Magic_DW"   class="aligncenter size-full wp-image-3435" /></a></p>
<p>The reason Oracle is top on the &#8220;Ability to Execute&#8221; scale is simple. It can be described by me with just one word: Exadata. Of all the vendors in this analysis, Oracle reports the highest incidence of nontraditional analytics customers: sectors such as hospitality, energy trading, life sciences and food distribution show up in its reference base. According to Gartner, many of the vertical markets where Oracle has the greatest success contain traditional implementers or late adopters of data warehousing. Oracle&#8217;s customers range in annual revenue from $100 million to over $10 billion. </p>
<p><a href="http://www.thebusinesstechnologyforum.com/2010/10/which-is-the-best-enterprise-rdbms-database/" title="The Business Technology Forum" target="_blank">The Business Technology Forum</a> raised the same question: Which is the best enterprise RDBMS database? The article is very much to the point coming to the conclusion that Oracle have the upper hand.</p>
<p><a href="http://decipherinfosys.wordpress.com/2007/02/19/mirror-mirror-on-the-wall-which-is-the-best-rdbms-of-all/" title="Mirror, Mirror on the Wall, which is the best RDBMS of all?" target="_blank">Mirror, Mirror on the Wall, which is the best RDBMS of all?</a> You do not expect an answer from the Mirror &#8220;It depends&#8221; because anyone trying to be diplomatic will answer that way. Well, at least they say that Oracle is most scalable, most feature rich, and just a wonderful RDBMS.</p>
<p>More to read: </p>
<p><a href="http://stackoverflow.com/questions/536741/why-would-you-use-oracle-database" title="Why would you use Oracle database?" target="_blank">Why would you use Oracle database?</a><br />
<a href="http://voices.yahoo.com/oracle-vs-microsoft-sql-server-why-oracle-preferred-6893930.html" title="Why Oracle is the Preferred Database Platform" target="_blank">Why Oracle is the Preferred Database Platform?</a><br />
<a href="http://www.networkworld.com/community/blog/microsofts-sql-server-really-cheaper-oracle" title="Is Microsoft's SQL Server really cheaper than Oracle?" target="_blank">Is Microsoft&#8217;s SQL Server really cheaper than Oracle?</a></p>
<p>The last one favors SQL Server over Oracle but a word of caution on the credibility on the Oracle side: the author calls PL/SQL &#8220;P-SQL&#8221; and refers to Active Data Guard as &#8220;Advanced Data Guard&#8221;.</p>
<p>It will take DB2, SQL Server, Sybase, PostgreSQL and all other key RDBMS players at least several more releases before they can approach the current self-management and tuning capabilities of Oracle Database 11g. But when that day comes, Oracle will not be still at version 11.2.0. </p>
<p>12c is knocking on the door.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/05/oracle12c.png"><img src="http://juliandontcheff.files.wordpress.com/2013/05/oracle12c.png?w=604" alt="Oracle12c"   class="aligncenter size-full wp-image-3450" /></a></p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/db2-database/'>DB2 database</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/mysql/'>MySQL</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>, <a href='http://juliandontcheff.wordpress.com/category/postgresql/'>PostgreSQL</a>, <a href='http://juliandontcheff.wordpress.com/category/sql-server/'>SQL Server</a>, <a href='http://juliandontcheff.wordpress.com/category/sybase/'>Sybase</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3425/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3425/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3425&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/05/11/what-is-the-best-relational-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/05/rdbms_market_share.png" medium="image">
			<media:title type="html">RDBMS_Market_Share</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/05/gartner_magic_dw.png" medium="image">
			<media:title type="html">Gartner_Magic_DW</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/05/oracle12c.png" medium="image">
			<media:title type="html">Oracle12c</media:title>
		</media:content>
	</item>
		<item>
		<title>DBA tips for tuning Siebel on RAC and Exadata</title>
		<link>http://juliandontcheff.wordpress.com/2013/04/21/dba-tips-for-tuning-siebel-on-rac-and-exadata/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/04/21/dba-tips-for-tuning-siebel-on-rac-and-exadata/#comments</comments>
		<pubDate>Sun, 21 Apr 2013 09:27:59 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DBA]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Database tuning]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Siebel]]></category>
		<category><![CDATA[Oracle internals]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3374</guid>
		<description><![CDATA[More than 100 years ago, Mark Twain said that “the elastic heart of youth cannot be compressed into one constrained shape long at a time”. In modern technology, &#8220;the elastic cloud can be compressed with the constraints of long datatypes&#8221;. Let me explain the meaning of my statement in terms of Siebel applications running on [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3374&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>More than 100 years ago, Mark Twain said that “the elastic heart of youth cannot be compressed into one constrained shape long at a time”.</p>
<p>In modern technology, &#8220;the elastic cloud can be compressed with the constraints of long datatypes&#8221;. Let me explain the meaning of my statement in terms of Siebel applications running on RAC and Exadata. </p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/cots_exadata.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/cots_exadata.png?w=604&#038;h=257" alt="COTS_Exadata" width="604" height="257" class="aligncenter size-full wp-image-3375" /></a></p>
<p>Chained and migrated rows are often a big problem in a Siebel database. The issue of chained rows can be resolved by using big block size while migrated rows require segment reorganization with higher PCTFREE (20, 30 or even 50). Chained tables in Siebel are often S_ORG_EXT, S_ASSET, S_ORDER_ITEM and S_ORDER_ITEM_OM. At least these will require using a bigger block size. </p>
<p>For LONG and CLOB details in a Siebel CRM, check <a href="http://gatewaytosiebel.blogspot.fi/2011/09/clob-physical-type-in-siebel.html" title="CLOB Physical Type in Siebel" target="_blank">CLOB Physical Type in Siebel</a>.</p>
<p>But as Joel Goodman noted in <a href="http://dbatrain.wordpress.com/2011/04/21/how-smart-is-your-smart-scan/" title="How Smart is Your Smart Scan?" target="_blank">How Smart is Your Smart Scan?</a>, there is an Exadata specific situation that causes migrated rows. </p>
<p>When a row is updated in a Hybrid Columnar Compressed (HCC) table, then it is migrated to another block in the segment that is managed using “OLTP compression“. Any HCC Compression Unit (CU) containing at least one migrated row, will also cause the block containing that row to be accessed by the server using a “cell single block physical read“.</p>
<p>Look at the &#8220;Top 5 Timed Foreground Events&#8221; in a Siebel on Exadata OLTP DB using HCC:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/cell-single-block-physical-read.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/cell-single-block-physical-read.png?w=604" alt="cell single block physical read"   class="aligncenter size-full wp-image-3383" /></a></p>
<p>The situation with HCC in OLTP is tricky for the following 3 reasons:</p>
<p>1. Every update of a record stored in HCC format results in a migrated row<br />
2. The new row is stored in a new block that is marked for OLTP compression<br />
3. Non-direct path inserts will be loaded into OLTP compressed blocks as opposed to HCC format</p>
<p>For the above reasons, mixing HCC with DML is not recommended. Partitioning can provide a mechanism for avoiding these issues since each partition can have its own storage format.</p>
<p>Only after decompressing the OLTP tables, the event “cell single block physical read“ disappeared and the performance got significantly improved. </p>
<p>Another good tip for Siebel on RAC is the usage of high number of hash partitions for hot indexes. High means 256 and more (should be a power of 2).</p>
<p>Look at the situation with gc buffer busy waits before the high hash partitioning:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/gc_buffer_busy_segments3.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/gc_buffer_busy_segments3.png?w=604" alt="gc_buffer_busy_segments"   class="aligncenter size-full wp-image-3399" /></a></p>
<p>As you can see the &#8220;gc buffer busy acquire&#8221; was the top event:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_before.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_before.png?w=604" alt="Siebel_hot_blocks_before"   class="aligncenter size-full wp-image-3392" /></a></p>
<p>Looking at issues with these events in MOS might incline you to believe that this is a bug. However, this was not the case as you can see what happened after making the number of hash partitions for some of the indexes 256, the database performance was back to normal:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_after.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_after.png?w=604" alt="Siebel_hot_blocks_after"   class="aligncenter size-full wp-image-3393" /></a></p>
<p>Note that also non-partitioned tables can have hash partitioned indexes!</p>
<p>Another tip: SecureFiles is a feature introduced in Oracle Database 11g that is *specifically* engineered to deliver *high performance* for this type of unstructured data. I have seen several queries getting even 10 times faster after migrating LOBs to SecureFiles. </p>
<p>About sequences: in RAC/Exadata, using the CACHE and NOORDER options together results in the best performance for a sequence. For example, in a Siebel database the S_DOCK_TXN_LOG_S sequence is used to generate the transaction ID used by S_DOCK_TXN_LOG table. The default cache size for sequences in Oracle is 20. If you are having thousands of concurrent users, Siebel/Oracle suggest you increase the cache size to be at least 10000.</p>
<p>Last 2 things: </p>
<p>- For gathering Siebel database statistics use always the latest version of coe_siebel_stats.sql. As of now, the latest version is 11.4.4.5<br />
- The script coe_siebel_profile.sql provides a list of columns that are not indexed but potentially are good candidates for indexing according to their usage by the Optimizer.</p>
<p>For additional tips, check Oracle&#8217;s white paper <a href="http://www.oracle.com/technetwork/database/features/availability/maa-wp-siebel-exadata-177506.pdf" title="Siebel on Exadata" target="_blank">Siebel on Exadata</a>!</p>
<p>And using Oracle Enterprise Manager makes all tuning so much easier!</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/04/oem.png"><img src="http://juliandontcheff.files.wordpress.com/2013/04/oem.png?w=604&#038;h=285" alt="OEM" width="604" height="285" class="aligncenter size-full wp-image-3423" /></a></p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/database-tuning/'>Database tuning</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/exadata/'>Exadata</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-internals/'>Oracle internals</a>, <a href='http://juliandontcheff.wordpress.com/category/rac/'>RAC</a>, <a href='http://juliandontcheff.wordpress.com/category/siebel/'>Siebel</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3374/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3374&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/04/21/dba-tips-for-tuning-siebel-on-rac-and-exadata/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/cots_exadata.png" medium="image">
			<media:title type="html">COTS_Exadata</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/cell-single-block-physical-read.png" medium="image">
			<media:title type="html">cell single block physical read</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/gc_buffer_busy_segments3.png" medium="image">
			<media:title type="html">gc_buffer_busy_segments</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_before.png" medium="image">
			<media:title type="html">Siebel_hot_blocks_before</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/siebel_hot_blocks_after.png" medium="image">
			<media:title type="html">Siebel_hot_blocks_after</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/04/oem.png" medium="image">
			<media:title type="html">OEM</media:title>
		</media:content>
	</item>
		<item>
		<title>The Oracle Platform Administrator</title>
		<link>http://juliandontcheff.wordpress.com/2013/03/01/the-oracle-platform-administrator/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/03/01/the-oracle-platform-administrator/#comments</comments>
		<pubDate>Fri, 01 Mar 2013 08:31:50 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DBA]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Oracle database]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3186</guid>
		<description><![CDATA[Question: what do the following two pairs have in common: - Oracle database and non-Oracle hardware/software - Rowan Atkinson and Audrey Hepburn? My answer: they are both good but don&#8217;t fit very well into the same picture. Creating a back-end database system based on multiple vendors&#8217; components make less and less sense nowadays. Consider the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3186&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><strong>Question</strong>: what do the following two pairs have in common:<br />
- Oracle database and non-Oracle hardware/software<br />
- Rowan Atkinson and Audrey Hepburn?</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/rowan-hepburn-2.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/rowan-hepburn-2.png?w=604&#038;h=382" alt="Rowan Hepburn 2" width="604" height="382" class="aligncenter size-full wp-image-3187" /></a></p>
<p><strong>My answer</strong>: they are both good but don&#8217;t fit very well into the same picture.</p>
<p>Creating a back-end database system based on multiple vendors&#8217; components make less and less sense nowadays. Consider the following:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/multiple_vs_single_vendor.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/multiple_vs_single_vendor.png?w=604&#038;h=219" alt="multiple_vs_single_vendor" width="604" height="219" class="aligncenter size-full wp-image-3199" /></a></p>
<p>Which one would you go after, left or right? To make it more clear, choose between Exadata and IBM POWER7 with AIX OS on top of EMC being monitoring with BMC Patrol and backed up with HP Data Protector integration?</p>
<p>I have witnessed from my experience that hardware and software components from multiple vendors are complex to support. No one supplier is usually accountable at a system level. </p>
<p>In a consolidated database environment, a complete test of a major change often must include synchronous testing the multiple workloads in order to catch situations where a change in one area might cause an issue in another. Patching for example one component breaks sometimes another one.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/03/kaleidoscope.png"><img src="http://juliandontcheff.files.wordpress.com/2013/03/kaleidoscope.png?w=604" alt="Kaleidoscope"   class="aligncenter size-full wp-image-3371" /></a></p>
<p>With Exadata, Oracle provides a single point of support for the Oracle Exadata Database Machine both for hardware and software.  Support problems are resolved much faster than where multiple vendors are involved and can be reported and managed by the DBA. But is the Exadata DBA still just a DBA?</p>
<p><a href="http://kevinclosson.wordpress.com/" title="Kevin Closson" target="_blank">Kevin Closson</a> used the term Oracle Platform Administrator (OPA) in a response to an article from <a href="http://martincarstenbach.wordpress.com/" title="Martin Bach" target="_blank">Martin Bach</a> about the meaning of <a href="http://martincarstenbach.wordpress.com/2012/04/05/exadata-experience-what-does-that-actually-mean/" title="Exadata experience" target="_blank">Exadata experience</a>.</p>
<p>Let me quote Kevin:</p>
<p>&#8220;It’s nearing the point where an Oracle DBA cannot do everything that is expected. The acronym no longer really fits. Database Administrator? What does that have to do with cellsrv? DBA? What does that have to do with clusters (at the platform level [you mention fencing]), etc, etc, etc.</p>
<p>It’s nearing time that there should be two roles:</p>
<p>1) The Oracle Platform Administrator (OPA)<br />
2) The Oracle Database Administrator</p>
<p>The DBA tends to the *contents* of the database and applications’ needs for data from the database, tuning, etc. The OPA deals with all the activity that was once the domain of the System Admin and Storage Admin and, moreover, the OPA deals with the crushing load of maintaining Oracle software (patching).</p>
<p>I can’t see it any other way. Oracle has moved their technology stack in a direction that essentially warrants this split in responsibilities. Think of any other RDBMS product where the DBA is expected to be a platform administrator as well. I’m not saying good or bad on that matter, but it is high time to consider the split.&#8221;</p>
<p><a href="http://uhesse.com/" title="Uwe Hesse" target="_blank">Uwe Hesse</a> has just written an excellent blog post entitled <a href="http://uhesse.com/2013/02/20/appliance-how-exadata-will-impact-your-it-organization/" title="Appliance? How Exadata will impact your IT Organization" target="_blank">&#8220;How Exadata will impact your IT Organization&#8221;</a>. The difference between the Exadata Database Administration (EDBA) and the Oracle Platform Administrator (OPA) is probably close to zero. I see it more like that the EDBA is just a DBA managining also Exadata, while OPA is more of a general admin having excellent DBA skills. Semantics!</p>
<p>Obviously, additional training for the DBAs is needed but by no means the 285 days of new DBA training for existing Oracle DBA suggested by <a href="http://www.slideshare.net/ylouis83/teradata-vsexadata" title="Teradata_vs_Exadata" target="_blank">Allen Licitra and Mark Shainman</a>. I wonder how that number was calculated and if we are talking calendar or workdays <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I would highly recommend <a href="http://www.enkitec.com/education/exadata-training/exadata-administration" title="Enkitec's Course on Oracle Exadata Administration" target="_blank">Enkitec&#8217;s Course on Oracle Exadata Administration</a>!</p>
<p><a href="http://arup.blogspot.fi/2011/07/who-manages-exadata-machine.html" title="Arup Nanda" target="_blank">Arup Nanda</a> suggests that the role should have the following skillsets:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_1.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_1.png?w=604" alt="OPA_chart_1"   class="aligncenter size-full wp-image-3232" /></a></p>
<p>I would furthermore split the Database Administrator part as follows:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_2.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_2.png?w=604&#038;h=326" alt="OPA_chart_2" width="604" height="326" class="aligncenter size-full wp-image-3233" /></a></p>
<p>I do not know where the meetings and conf. calls fit in.</p>
<p>But as <a href="http://en.wikipedia.org/wiki/Andrew_Carnegie" title="Andrew Carnegie" target="_blank">Andrew Carnegie</a> said: &#8220;<strong>Concentrate your energies, your thoughts and your capital. The wise man puts all his eggs in one basket and watches the basket!</strong>&#8221; And who else to that on the Oracle side but the Oracle Platform Administrator.</p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/exadata/'>Exadata</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3186&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/03/01/the-oracle-platform-administrator/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/rowan-hepburn-2.png" medium="image">
			<media:title type="html">Rowan Hepburn 2</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/multiple_vs_single_vendor.png" medium="image">
			<media:title type="html">multiple_vs_single_vendor</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/03/kaleidoscope.png" medium="image">
			<media:title type="html">Kaleidoscope</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_1.png" medium="image">
			<media:title type="html">OPA_chart_1</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/opa_chart_2.png" medium="image">
			<media:title type="html">OPA_chart_2</media:title>
		</media:content>
	</item>
		<item>
		<title>Pseudo cursors and invisible SQL</title>
		<link>http://juliandontcheff.wordpress.com/2013/02/17/pseudo-cursors-and-invisible-sql/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/02/17/pseudo-cursors-and-invisible-sql/#comments</comments>
		<pubDate>Sun, 17 Feb 2013 09:39:08 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DBA]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Oracle internals]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3309</guid>
		<description><![CDATA[Do you ever wonder why Oracle Enterprise Manager and AWR reports show the SQL text for some SQL IDs as not available? The DBA forums and discussion groups mention that it might be because the SQLs have already been flushed from the shared pool or wonder how do you get and confirm the SQL ID [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3309&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Do you ever wonder why Oracle Enterprise Manager and AWR reports show the SQL text for some SQL IDs as not available?</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available2.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available2.png?w=604" alt="SQL_text_not_available"   class="aligncenter size-full wp-image-3325" /></a></p>
<p>The DBA forums and discussion groups mention that it might be because the SQLs <a href="http://dbaforums.org/oracle/index.php?showtopic=18577" title="it might already have been flushed from the shared pool" target="_blank">have already been flushed from the shared pool</a> or wonder <a href="https://forums.oracle.com/forums/thread.jspa?threadID=2332046" title="how do you get and confirm the SQL ID for a query without seeing the text of the query?" target="_blank">how do you get and confirm the SQL ID for a query without seeing the text of the query?</a></p>
<p>The truth is however slightly different. These are Oracle internal or so called pseudo cursors which are just structures providing direct access database objects by avoiding the overhead of writing an explicit SELECT statement. These structures access directly most of the time the data dictionary tables, CLOBs and BLOBs. Sometimes even NCHAR and NVARCHAR2.</p>
<p>This is the reason why these internal cursors show in OEM and AWR with the legend &#8220;SQL Text Not Available&#8221;. There is just no SQL.</p>
<p>They are used internally within the database and cannot be described. At least not completely. However, here is what you can do as suggested by MOS 1298471.1:</p>
<pre class="brush: xml; gutter: false; html-script: false; pad-line-numbers: true; title: ; notranslate">
create or replace view h$pseudo_cursor as
select Pseudo_cursor, sql_id,obj_id hex_obj_id
     ,obj# object_id, u.name owner, o.name object_name
from (select distinct 
             KGLNAOBJ Pseudo_cursor,kglobt03 sql_id
        ,substr(KGLNAOBJ
               ,instr(KGLNAOBJ,'_',1,3)+1
               ,instr(KGLNAOBJ,'_',1,4)-instr(KGLNAOBJ,'_',1,3)-1) obj_id 
       ,(case when 
         replace(translate(substr(upper(KGLNAOBJ)
                                 ,instr(KGLNAOBJ,'_',1,3)+1
                                 ,instr(KGLNAOBJ,'_',1,4)
                                  -instr(KGLNAOBJ,'_',1,3)-1)
                          ,'0123456789ABCDEF','................')
                ,'.') is null then 'Y' else 'N' end) is_safe_to_compare
            from x$kglob) k
   , obj$ o, user$ u
where obj#=decode(is_safe_to_compare,'Y',to_number(obj_id,'xxxxxxxxxx'),0)
   and o.owner#=u.user#
</pre>
<p>Now, we can try to find out more about our invisible SQL:</p>
<pre class="brush: xml; gutter: false; html-script: false; pad-line-numbers: true; title: ; notranslate">
col hex_obj_id  format a10
col pseudo_cursor format a30
col owner format a20
col object_name for A22
select * from h$pseudo_cursor where sql_id='grv54uyqkw2yc';
</pre>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/pseudo_cursors.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/pseudo_cursors.png?w=604&#038;h=155" alt="pseudo_cursors" width="604" height="155" class="aligncenter size-full wp-image-3347" /></a></p>
<p>The second query shows us the pseudo PL/SQL used by Oracle internally. Notice the missing value for SQL ID!</p>
<p>Now, here is a <strong>question</strong>: how to tune pseudo cursors? If you run STA (SQL Tuning Advisor), the error message you get will be &#8220;The SQL has aged out of the cursor cache&#8221;. OEM will notify you with &#8220;The SQL statement is not available&#8221;:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available21.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available21.png?w=604" alt="sql_text_not_available2"   class="aligncenter size-full wp-image-3356" /></a></p>
<p>So the bottom line is: if you see messages about SQL Text not being available, it is most likely due to Oracle trying to access internally LOBs or its own tables.</p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-internals/'>Oracle internals</a>, <a href='http://juliandontcheff.wordpress.com/category/sql/'>SQL</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3309/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3309/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3309&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/02/17/pseudo-cursors-and-invisible-sql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available2.png" medium="image">
			<media:title type="html">SQL_text_not_available</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/pseudo_cursors.png" medium="image">
			<media:title type="html">pseudo_cursors</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/sql_text_not_available21.png" medium="image">
			<media:title type="html">sql_text_not_available2</media:title>
		</media:content>
	</item>
		<item>
		<title>Reducing &#8220;library cache: mutex X&#8221; concurrency with dbms_shared_pool.markhot</title>
		<link>http://juliandontcheff.wordpress.com/2013/02/12/reducing-library-cache-mutex-x-concurrency-with-dbms_shared_pool-markhot/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/02/12/reducing-library-cache-mutex-x-concurrency-with-dbms_shared_pool-markhot/#comments</comments>
		<pubDate>Tue, 12 Feb 2013 14:41:58 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DBA]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Database tuning]]></category>
		<category><![CDATA[Oracle internals]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3253</guid>
		<description><![CDATA[Mutexes or mutual exclusion algorithms are lighter and more granular concurrency mechanism than latches and are used in concurrent programming to avoid the simultaneous use of a common resource. Oracle started using mutexes from 10g for certain operations in the library cache but from 11g all library cache latches were replaced by mutexes which lead [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3253&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Mutexes or mutual exclusion algorithms are lighter and more granular concurrency mechanism than latches and are used in concurrent programming to avoid the simultaneous use of a common resource.</p>
<p>Oracle started using mutexes from 10g for certain operations in the library cache but from 11g all library cache latches were replaced by mutexes which lead to the common to all DBAs &#8220;library cache: mutex X&#8221; concurrency event:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_top5.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_top5.png?w=604" alt="library_cache_mutex_X_top5"   class="aligncenter size-full wp-image-3259" /></a></p>
<p>The irony here is that the reason for obtaining a mutex is to ensure that certain operations are properly managed for concurrency but the management itself leads to concurrency. These are the top 3 differences between mutexes and latches:</p>
<p>- A mutex can protect a single structure, latches often protect many structures<br />
- A mutex get is about 30-35 instructions in the algorithm, compared to 150-200 instructions for a latch get<br />
- A mutex is around 16 bytes in size, compared to 112-200 bytes for a latch</p>
<p>Last month, I found a very interesting and detailed <a href="http://oracleinaction.blogspot.fi/2013/01/LATCHLOCKPINMUTEX.html" title="Anju Garg" target="_blank">article by Anju Garg</a> on latches and mutexes. It is worth reading. </p>
<p>The aim of this post is to suggest on how to proceeded if you hit the &#8220;library cache: mutex X&#8221; concurrency event which simply means that a library cache operation is being performed and Oracle is trying to get the library cache mutex in eXclusive mode.</p>
<p>Do the following: </p>
<p>1. Run a query against the x$kglob table to find the names of the objects being pinned most of the time. x$kglob is the resource structure table for library cache locks and pins. <a href="http://jagjeet.wordpress.com/2011/12/12/library-cache-mutex-x/" title="Jagjeet's note" target="_blank">Jagjeet&#8217;s note</a> gives a very good example.</p>
<pre class="brush: xml; gutter: false; html-script: false; pad-line-numbers: true; title: ; notranslate">
select * from (
 select case when (kglhdadr = kglhdpar) then 'Parent' else 'Child '||kglobt09 end cursor,
 kglhdadr ADDRESS, substr(kglnaobj,1,20) NAME, kglnahsh HASH_VALUE, kglobtyd TYPE, 
 kglobt23 LOCKED_TOTAL, kglobt24 PINNED_TOTAL,kglhdexc EXECUTIONS, kglhdnsp NAMESPACE
 from x$kglob -- where kglobtyd != 'CURSOR'
order by kglobt24 desc)
where rownum &lt;= 20;
</pre>
<p>2. If you have issues with PL/SQL packages and procedures, use dbms_shared_pool.markhot() to mark them as hot. As suggested by <a href="http://andreynikolaev.wordpress.com/2011/05/01/divide-and-conquer-the-true-mutex-contention/" title="Andrey Nikolaev" target="_blank">Andrey Nikolaev</a>, Oracle creates multiple copies of marked objects in the library cache, but frequently uses only one of them. That is why, in order to achieve uniform distribution, mark the PL/SQL objects as hot immediately after the instance restart.</p>
<p>The documentation for the dbms_shared_pool.markhot procedure can be found <a href="http://docs.oracle.com/cd/E11882_01/appdev.112/e16760/d_shared_pool.htm#CIHEACGD" title="dbms_shared_pool.markhot" target="_blank">here</a>.</p>
<p>3. If the issue is <a href="http://omarfaruq.blogspot.fi/2012/07/concurrency-waits-library-cache-mutex-x.html" target="_blank">sequence related</a>, then either verify with Oracle that it is not a bug, get rid of the sequence if possible or at least modify its parameters (cache, order, etc.).</p>
<p>As you can see from <a href="http://orastory.wordpress.com/2012/04/17/upgrade-11-2-0-3-days-1-and-2/" title="Dom Brook's article" target="_blank">Dom Brook&#8217;s article</a>, issues are often package related. Have a look at my screenshot from ASH. The data source is V$ACTIVE_SESSION_HISTORY.</p>
<p>You may review on Metalink &#8220;Waitevent: library cache: mutex X&#8221; (Document ID 727400.1) for the list of known Oracle bugs but for all I have seen, sometimes patches do not help, so finding a workaround is all the DBA is left with. An ASH report will be very helpful:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_plsql.png"><img src="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_plsql.png?w=604&#038;h=161" alt="library_cache_mutex_X_plsql" width="604" height="161" class="aligncenter size-full wp-image-3272" /></a></p>
<p>If you see &#8220;library cache: mutex X&#8221; as a top event, note that ADDM will first find that there is contention for latches related to the shared pool that were consuming significant<br />
database time (no surprise). For the top SQL statements, ADDM will claim something like &#8220;Waiting for event library cache: mutex X in wait class &#8216;Concurrency&#8217; accounted for 97% of the database time spent in processing the SQL statement with SQL_ID d2svmdafangyq.&#8221; Look then at the &#8220;Rationale&#8221; sections and hunt for the names of the PL/SQL packages <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/database-tuning/'>Database tuning</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-internals/'>Oracle internals</a>, <a href='http://juliandontcheff.wordpress.com/category/plsql/'>PL/SQL</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3253&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/02/12/reducing-library-cache-mutex-x-concurrency-with-dbms_shared_pool-markhot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_top5.png" medium="image">
			<media:title type="html">library_cache_mutex_X_top5</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/02/library_cache_mutex_x_plsql.png" medium="image">
			<media:title type="html">library_cache_mutex_X_plsql</media:title>
		</media:content>
	</item>
		<item>
		<title>SQL Tuning Advisor Internals</title>
		<link>http://juliandontcheff.wordpress.com/2013/01/27/sql-tuning-advisor-internals/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/01/27/sql-tuning-advisor-internals/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 17:07:20 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[Database tuning]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[Oracle database]]></category>
		<category><![CDATA[Oracle internals]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3135</guid>
		<description><![CDATA[Douglas Adams, the author of &#8220;The Hitchhiker&#8217;s Guide to the Galaxy&#8221; said: &#8220;A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools&#8221;. I am talking here about Oracle&#8217;s Cost Based Optimizer. The optimizer needs to make decisions about execution plans in a very short [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3135&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Douglas_Adams" title="Douglas Adams" target="_blank">Douglas Adams</a>, the author of &#8220;The Hitchhiker&#8217;s Guide to the Galaxy&#8221; said: &#8220;A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools&#8221;.</p>
<p>I am talking here about Oracle&#8217;s Cost Based Optimizer.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/01/sta_012.png"><img src="http://juliandontcheff.files.wordpress.com/2013/01/sta_012.png?w=604&#038;h=488" alt="STA_01" width="604" height="488" class="aligncenter size-full wp-image-3140" /></a></p>
<p>The optimizer needs to make decisions about execution plans in a very short time: not all execution plans can be scanned. Staring Oracle 10g, Oracle allows the optimizer to run in tuning mode where it can gather additional information and make recommendations about how specific statements can be tuned further. </p>
<p>Funny thing here is that we rely on the same component (CBO) to improve the SQL statement that could not generate an optimal plan in the first place.</p>
<p>In this post, I would like to show something about Oracle 11gR2 that cannot be found either on Google or on Metalink. It is about tracing the SQL Tuning Advisor.</p>
<p>A very <a href="http://www.oracle-base.com/articles/10g/automatic-sql-tuning-10g.php" title="Tim Hall" target="_blank">good review of what STA does</a> was written by Tim Hall. Worth checking is also what <a href="http://kerryosborne.oracle-guy.com/2010/02/single-hint-sql-profiles/" title="Kerry Osborne" target="_blank">Kerry Osborne</a> writes about SQL Profiles. Cool stuff!</p>
<p><a href="http://antognini.ch/papers/SQLProfiles_20060622.pdf" title="Christian Antognini" target="_blank">Christian Antognini&#8217;s article </a> on SQL Profiles and how to trace it is probably the best written on that subject. Using the undocumented parameter _STN_TRACE, it is possible to trace what is happening during the SQL Tuning Advisor performance analysis. I find slight amusing the choice of the name of the domain used for Oracle FAQ but I guess this is not intentional.</p>
<p>However, if you check <a href="http://jonathanlewis.wordpress.com/2007/02/12/sql-profiles-2/" title="Jonathan Lewis" target="_blank">Jonathan Lewis&#8217;s article on SQL Profiles</a> and the comments after it, you will notice that: _stn_trace does not seem to be available anymore in 11gR2&#8243;. That is visible from the <a href="http://www.orafaq.com/parms/parm1949.htm" title="_STN_TRACE" target="_blank">_STN_TRACE documentation</a> available on Oracle FAQ.</p>
<p>Starting 11gR2, there is an event <strong>trace[sql_manage.*] disk=low</strong>. Disk can be set to one of these 3 values: low, medium, or highest. The ora_debug_table is no longer needed or used. </p>
<p>You can set the event either at session or system level. If using OEM, then set it at system level, just like this:</p>
<pre class="brush: xml; gutter: false; html-script: false; pad-line-numbers: true; title: ; notranslate">
alter system set events 'trace[sql_manage.*] disk=highest';
</pre>
<p>Once you run the SQL Tuning Advisor, go to either user_dump_dest or diagnostic_dest/diag/rdbms/SID/trace. You will find a long text file containing all analysis performed by STA.</p>
<p>The screenshot on the top of this post shows you the alternative execution plan offered by the SQL Tuning Advisor, the one below shows you the recommendations:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/01/sta_02.png"><img src="http://juliandontcheff.files.wordpress.com/2013/01/sta_02.png?w=604&#038;h=288" alt="STA_02" width="604" height="288" class="aligncenter size-full wp-image-3153" /></a></p>
<p>The trace file generated because of enabling STA tracing on the highest level is way too big (20MB) but I am anyway posting it <a href="http://juliandontcheff.files.wordpress.com/2013/01/jmd_j000_8344.pdf">here</a>. </p>
<p><strong>This is twenty megabytes of text fitting into 8670 pages for what Oracle does for a single SQL statement!</strong></p>
<p><a href="http://juliandontcheff.files.wordpress.com/2013/01/sta_03.png"><img src="http://juliandontcheff.files.wordpress.com/2013/01/sta_03.png?w=604&#038;h=266" alt="STA_03" width="604" height="266" class="aligncenter size-full wp-image-3181" /></a></p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/database-tuning/'>Database tuning</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-internals/'>Oracle internals</a>, <a href='http://juliandontcheff.wordpress.com/category/sql/'>SQL</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3135/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3135/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3135&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/01/27/sql-tuning-advisor-internals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/01/sta_012.png" medium="image">
			<media:title type="html">STA_01</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/01/sta_02.png" medium="image">
			<media:title type="html">STA_02</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2013/01/sta_03.png" medium="image">
			<media:title type="html">STA_03</media:title>
		</media:content>
	</item>
		<item>
		<title>2012 in review</title>
		<link>http://juliandontcheff.wordpress.com/2013/01/08/2012-in-review/</link>
		<comments>http://juliandontcheff.wordpress.com/2013/01/08/2012-in-review/#comments</comments>
		<pubDate>Tue, 08 Jan 2013 15:40:20 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[DBA]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3129</guid>
		<description><![CDATA[The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog. Here&#8217;s an excerpt: 19,000 people fit into the new Barclays Center to see Jay-Z perform. This blog was viewed about 59,000 times in 2012. If it were a concert at the Barclays Center, it would take about 3 sold-out performances for that [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3129&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog.</p>
<p>	<a href="http://juliandontcheff.wordpress.com/2012/annual-report/"><img src="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/2012-emailteaser.png" width="100%" alt="" /></a></p>
<p>Here&#8217;s an excerpt:</p>
<blockquote><p>19,000 people fit into the new Barclays Center to see Jay-Z perform. This blog was viewed about <strong>59,000</strong> times in 2012. If it were a concert at the Barclays Center, it would take about 3 sold-out performances for that many people to see it.</p></blockquote>
<p><a href="http://juliandontcheff.wordpress.com/2012/annual-report/">Click here to see the complete report.</a></p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3129&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2013/01/08/2012-in-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://www.wordpress.com/wp-content/mu-plugins/annual-reports/img/2012-emailteaser.png" medium="image" />
	</item>
		<item>
		<title>Big Year, Big Data, Big Databases</title>
		<link>http://juliandontcheff.wordpress.com/2012/12/29/big-year-big-data-big-databases/</link>
		<comments>http://juliandontcheff.wordpress.com/2012/12/29/big-year-big-data-big-databases/#comments</comments>
		<pubDate>Sat, 29 Dec 2012 12:47:53 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[DBA]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3086</guid>
		<description><![CDATA[In birding, a Big Year is seeing or hearing as many different species of birds as possible in a calendar year. In databases, Big Data is something that cannot be defined that clearly. You can read and try to understand the definition of Wikipedia. Up to you. What I like most is what Christo Kutrovsky [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3086&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In birding, a <a href="http://www.imdb.com/title/tt1053810/" title="Big Year" target="_blank">Big Year</a> is seeing or hearing as many different species of birds as possible in a calendar year. In databases, <a href="http://en.wikipedia.org/wiki/Big_data" title="Big Data" target="_blank">Big Data</a> is something that cannot be defined that clearly. </p>
<p><a href="http://juliandontcheff.wordpress.com/2012/12/29/big-year-big-data-big-databases/big_data/" rel="attachment wp-att-3091"><img src="http://juliandontcheff.files.wordpress.com/2012/12/big_data.png?w=604&#038;h=440" alt="Big_Data" width="604" height="440" class="aligncenter size-full wp-image-3091" /></a></p>
<p>You can read and try to understand the definition of Wikipedia. Up to you. What I like most is what <a href="http://www.pythian.com/news/505/christo-kutrovsky-oracle-pinup/" title="Christo Kutrovsky" target="_blank">Christo Kutrovsky</a> says: &#8220;Big Data is actually a license issue. It is partially a license issue – Oracle Database is expensive and MySQL isn’t good at data warehouse stuff. It is partially a storage and network issue of scaling large volumes of data, locality of data is becoming more critical.&#8221;</p>
<p><a href="http://www.pythian.com/news/author/shapira/" title="Gwen Shapira" target="_blank">Gwen Shapira</a> wrote a very interesting article entitled <a href="http://www.pythian.com/news/30009/oracle-database-or-hadoop/?goback=%2Egde_1866252_member_199467232" title="Oracle Database or Hadoop?" target="_blank">Oracle Database or Hadoop?</a>. What she (generally) says is not only interesting and joy to read but most of all true: whenever I tell an experienced Oracle DBA about Hadoop and what companies are doing with it, the immediate response is “But I can do this in Oracle”.</p>
<p>And she goes on: &#8220;Just because it is possible to do something, doesn’t mean you should.&#8221; Yes, and the reason I would say, is that databases are not always in good shape. And why so, one might ask. This is the reason of this blog post.</p>
<p><strong>Reason #1</strong>: Databases are very seldom reorganized. It is a very hard task to explain to non-DBAs why this is necessary. Only core/system DBAs comprehend the real benefits of that reorganization. It it an extremely important task that is so often neglected. </p>
<p><strong>Reason #2</strong>: Old data is never removed or archived. I dare say that most of the data (more than 80%) in all databases I have seen is rarely touched. Call is junk data, big data, whatever you like.</p>
<p><strong>Reason #3</strong>: Databases are not upgraded as new databases. Meaning, I seldom see that a new 11g database is created and the database is imported from the old database. Often migration scripts are being run (easy to do so and minimal downtime) and what you are left with is a fake 11g database. It almost has the Data Dictionary of 11g but modified with scripts. Such databases underperform in most cases. </p>
<p><strong>Reason #4</strong>: Patching the databases to the latest possible level. How often I am asked this question: &#8220;But Julian, how can one digit at the end matter?&#8221;. Well, it matters a lot in most cases. </p>
<p><strong>Reason #5</strong>: Automation of several critical tasks is not used at all. One very good example is AST (Automatic SQL Tuning). </p>
<p>So, what is the way ahead if ignoring all of the above? You can decide after all if the following from <a href="http://blog.jobbook.com/future-dba-5-reasons-to-learn-nosql/" title="Future DBA? 5 reasons to learn NOSQL" target="_blank">Future DBA? 5 reasons to learn NOSQL</a> are valid ones to learn NoSQL:</p>
<p>1. Big Data and Scaling<br />
2. Crashing servers, not a problem.<br />
3. Changes aren&#8217;t as stressful<br />
4. Be NoSQL Pioneer<br />
5. Work less</p>
<p>Do you believe in Tall Stories? <a href="http://online.wsj.com/article/SB10001424052702304723304577365700368073674.html" title="Big Data, Big Problems, Little Talent" target="_blank">Big Data, Big Problems, Little Talent</a>! </p>
<p>Is Big Data just a trend or is it just another way to solve the big problems we have created over time? <strong>Should we concentrate our efforts on &#8220;smart use of data&#8221; or on &#8220;use of big data&#8221;?</strong></p>
<p>“Depending on whom you ask, ‘big data’ is either:</p>
<p>A. Bullshit (Brad Feld)<br />
B. No substitute for judgment (David Friend)<br />
C. The marriage of corporate data with external data (Chris Lynch)<br />
D. Data that’s growing faster than Moore’s law (Richard Dale).</p>
<p>After this week, <a href="http://www.xconomy.com/boston/2012/10/26/beyond-buzzwords-database-narcs-the-future-of-big-data-in-boston/" title="Answer" target="_blank">my answer would be E, all of the above</a>.”–Gregory T. Huang, Xconomy</p>
<p>Try the following: type in Google &#8220;Big data is&#8221; and see if you get what I did:</p>
<p><a href="http://juliandontcheff.wordpress.com/2012/12/29/big-year-big-data-big-databases/big_data_is/" rel="attachment wp-att-3113"><img src="http://juliandontcheff.files.wordpress.com/2012/12/big_data_is.png?w=604&#038;h=163" alt="Big_Data_Is" width="604" height="163" class="aligncenter size-full wp-image-3113" /></a></p>
<p>What happened to machine learning, computational intelligence and data mining?</p>
<p>It is interesting to note that the <a href="http://academic.research.microsoft.com/RankList?entitytype=3&amp;topDomainID=2&amp;subDomainID=18&amp;last=0&amp;start=1&amp;end=100" title="Database Conferences" target="_blank">database conference with highest H-Index</a> is the one on Very Large Databases.</p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/data/'>Data</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3086/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3086/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3086&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2012/12/29/big-year-big-data-big-databases/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/12/big_data.png" medium="image">
			<media:title type="html">Big_Data</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/12/big_data_is.png" medium="image">
			<media:title type="html">Big_Data_Is</media:title>
		</media:content>
	</item>
		<item>
		<title>Exadata&#8217;s Total Cost of Ownership</title>
		<link>http://juliandontcheff.wordpress.com/2012/11/29/exadatas-total-cost-of-ownership/</link>
		<comments>http://juliandontcheff.wordpress.com/2012/11/29/exadatas-total-cost-of-ownership/#comments</comments>
		<pubDate>Thu, 29 Nov 2012 09:55:37 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Consolidation]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Oracle database]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=3053</guid>
		<description><![CDATA[According to Elbert Hubbard &#8220;One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man&#8221;. Of course, neither Exadata nor Bloom filters existed when the Bloomington born philosopher made the above statement. Forbes magazine published an interesting article this month: Oracle&#8217;s Secret Sauce: Why Exadata Is [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3053&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>According to <a href="http://en.wikipedia.org/wiki/Elbert_Hubbard" title="Elbert Hubbard" target="_blank">Elbert Hubbard</a> &#8220;One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man&#8221;.</p>
<p>Of course, neither Exadata nor Bloom filters existed when the Bloomington born philosopher made the above statement.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2012/11/exadata_business_benefits.png"><img src="http://juliandontcheff.files.wordpress.com/2012/11/exadata_business_benefits.png?w=604&#038;h=301" alt="" title="Exadata_Business_Benefits" width="604" height="301" class="aligncenter size-full wp-image-3058" /></a></p>
<p>Forbes magazine published an interesting article this month: <a href="http://www.forbes.com/sites/oracle/2012/11/02/oracles-secret-sauce-why-exadata-is-rocking-the-tech-industry/" title="Oracle's Secret Sauce: Why Exadata Is Rocking the Tech Industry" target="_blank">Oracle&#8217;s Secret Sauce: Why Exadata Is Rocking the Tech Industry</a>.</p>
<p>The article says: &#8220;The new approach is embodied in a technology strategy pioneered by Oracle and recently endorsed/followed by IBM (although IBM’s effort to date is rather modest): building richly integrated and fully optimized systems from the ground up, with hardware and software expressly created to work together to deliver maximum performance.&#8221;</p>
<p>And as you might guess from the image above, this time I am not only after the technical benefits and advantages of Exadata. I would like to clarify what they bring to business. And see how Oracle Exadata compares to IBM P-Series.</p>
<p>The FactPoint Group created a 30 page cost comparison report for business decision makers: <a href="http://www.oracle.com/us/products/database/exadata-vs-ibm-1870172.pdf" title="Oracle Exadata Database Machine vs. IBM Power Systems" target="_blank">Oracle Exadata Database Machine vs. IBM Power Systems</a>.</p>
<p>In brief, the results of the report are:</p>
<p>• IBM 3 year TCO is 31% higher than Oracle.<br />
• Exadata can be deployed more quickly and easily requiring 59% fewer man-hours than a traditional IBM Power Systems solution.<br />
• Exadata requires 40% fewer sysadmin hours to maintain and operate annually, including quicker support calls because of less finger-pointing and faster service with a single vendor.<br />
• Exadata delivers dramatically higher performance typically up to 12x improvement, as described by customers, over their prior solution.<br />
• Will become even easier to operate over time as users become more proficient and organize around the benefits of integrated infrastructure.<br />
• Supplies a highly available, highly scalable and robust solution that results in reserve capacity that make Exadata easier for IT to operate because IT administrators can manage proactively, not reactively. </p>
<p>Overall, Exadata operations and maintenance keep IT administrators from “living on the edge.” And it’s pre-engineered for long-term growth.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2012/11/exadata_dba_labor.png"><img src="http://juliandontcheff.files.wordpress.com/2012/11/exadata_dba_labor.png?w=604&#038;h=229" alt="" title="Exadata_DBA_labor" width="604" height="229" class="aligncenter size-full wp-image-3066" /></a></p>
<p>Check Kerry Osborne’s Oracle Blog for more details about the <a href="http://kerryosborne.oracle-guy.com/2012/08/exadata-vs-ibm-p-series/" title="Exadata vs. IBM P-Series" target="_blank">Exadata vs. IBM P-Series</a> comparison. </p>
<p>I personally think that the benefits of Exadata are even much bigger granted the system is properly configured which I see is not always the case but as I said I will not comment on technical issues this time.</p>
<p>But after all, this is a DBA blog, so this part of <a href="http://www.oracle.com/us/products/database/exadata-vs-ibm-1870172.pdf" title="Oracle Exadata vs IBM P-Series" target="_blank">the research</a> might be of interest for most DBAs:</p>
<p>&#8220;For this emerging Database Machine Administrator (DMA) job category, IT employees are cross-trained to handle tasks currently undertaken by admin specialists in hardware, operating systems, network, applications or storage. IT managers who pursue this adaptive path likely will gain operational efficiencies for managing packaged solutions, although it may take several years as IT administrators are trained in new competencies.</p>
<p>The emergence of the DMA also may help restructure IT departments into more efficient operations, but the full benefits of this development cannot be fully realized until most older systems that demand a stove-piped IT organization are decommissioned and IT organizations adapt. At that time, IT operations managers may be able to reduce headcount. In time, packaged solutions should involve not only fewer workers but also fewer IT groups, which should reduce costs; in the meantime IT will be able to do more without adding headcount.&#8221;</p>
<p>That is very important! Let me quote here <a href="http://www.pythian.com/about/management_team/paul_vallee" title="Paul Vallee" target="_blank">Paul Vallee</a>, who in a recent discussion predicted that in the near future organizations will need few but very skillful DBAs, an opinion I 100% agree with!</p>
<p>&#8220;This change in job roles is not necessarily comfortable for everyone in IT because Exadata marginalizes various system administrators as it empowers the DBA: “The DBAs are doing more hardware tasks and diagnostics because most of the Exadata stuff is geared around database commands, not hardware commands or operating system commands. The gearheads have designed Exadata from the DBA’s perspective—when you look at the sys admin portion, it’s all written by a DBA, not by a Sys Admin,” lamented a System Administrator at a Business Services Co.</p>
<p>Other System Administrators have expressed similar sentiments as many of their traditional responsibilities shift towards the DBA—the source of the much of the operational savings we have identified.&#8221;</p>
<p>More on the DMA subject from Arup Nanda: <a href="http://arup.blogspot.fi/2011/07/who-manages-exadata-machine.html" title="Who Manages the Exadata Machine?" target="_blank">Who Manages the Exadata Machine?</a></p>
<p>For all DBAs: here is an excellent book on Exadata: <a href="http://www.amazon.com/Expert-Oracle-Exadata-Kerry-Osborne/dp/1430233923" title="Expert Oracle Exadata" target="_blank">Expert Oracle Exadata</a>, by <a href="http://kerryosborne.oracle-guy.com/" title="Kerry Osborne" target="_blank">Kerry Osborne</a>, <a href="http://blog.enkitec.com/author/rjohnson/" title="Randy Johnson" target="_blank">Randy Johnson</a> and <a href="http://blog.tanelpoder.com/" title="Tanel Poder" target="_blank">Tanel Põder</a>.</p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/cloud/'>Cloud</a>, <a href='http://juliandontcheff.wordpress.com/category/consolidation/'>Consolidation</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/exadata/'>Exadata</a>, <a href='http://juliandontcheff.wordpress.com/category/oracle-database/'>Oracle database</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/3053/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/3053/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=3053&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2012/11/29/exadatas-total-cost-of-ownership/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/11/exadata_business_benefits.png" medium="image">
			<media:title type="html">Exadata_Business_Benefits</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/11/exadata_dba_labor.png" medium="image">
			<media:title type="html">Exadata_DBA_labor</media:title>
		</media:content>
	</item>
		<item>
		<title>Tuning Exadata with parallel profiles and SPM baselines</title>
		<link>http://juliandontcheff.wordpress.com/2012/10/29/tuning-exadata-with-parallel-profiles-and-spm-baselines/</link>
		<comments>http://juliandontcheff.wordpress.com/2012/10/29/tuning-exadata-with-parallel-profiles-and-spm-baselines/#comments</comments>
		<pubDate>Mon, 29 Oct 2012 04:34:00 +0000</pubDate>
		<dc:creator>Dontcheff</dc:creator>
				<category><![CDATA[Database tuning]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[Exadata]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://juliandontcheff.wordpress.com/?p=2999</guid>
		<description><![CDATA[Harold Geneen used to say: &#8220;It is much more difficult to measure nonperformance than performance&#8221;. Without automation database management becomes increasingly difficult. An Exadata database can strongly benefit performance-wise from fully enabled Automatic SQL Tuning: I will explain why. The SQL management base (SMB) is a part of the data dictionary that resides in the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=2999&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Harold_Geneen" title="Harold Geneen" target="_blank">Harold Geneen</a> used to say: &#8220;It is much more difficult to measure nonperformance than performance&#8221;.</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2012/10/performance.png"><img src="http://juliandontcheff.files.wordpress.com/2012/10/performance.png?w=604" alt="" title="Performance"   class="aligncenter size-full wp-image-3002" /></a></p>
<p>Without automation database management becomes increasingly difficult. An Exadata database can strongly benefit performance-wise from fully enabled Automatic SQL Tuning:</p>
<pre class="brush: xml; gutter: false; html-script: false; pad-line-numbers: true; title: ; notranslate">
BEGIN
  DBMS_SQLTUNE.set_tuning_task_parameter(
    task_name =&gt; 'SYS_AUTO_SQL_TUNING_TASK',
    parameter =&gt; 'ACCEPT_SQL_PROFILES',
    value     =&gt; 'TRUE');
END;
/
</pre>
<p>I will explain why. </p>
<p>The SQL management base (SMB) is a part of the data dictionary that resides in the SYSAUX tablespace. It stores statement logs, plan histories, SQL plan baselines, and SQL profiles. </p>
<p>The difference between SQL Profiles and SQL Plan Management Baselines is very well explained by <a href="http://intermediatesql.com/oracle/what-is-the-difference-between-sql-profile-and-spm-baseline/" title="here" target="_blank">Maxym Kharchenko</a> and <a href="https://blogs.oracle.com/optimizer/entry/what_is_the_different_between" title="Maria Colgan" target="_blank">Maria Colgan</a>.</p>
<p>The process of automatic evolution of SQL Plan Baselines is described with a perfect example by <a href="http://www.antognini.ch/2008/12/automatic-evolution-of-sql-plan-baselines/" title="Christian Antognini" target="_blank">Christian Antognini</a>.</p>
<p>Converting baselines into profiles is almost straightforward but not simple, <a href="http://fordba.wordpress.com/tag/spm-11g/" title="Sumit Bhatia" target="_blank">Sumit Bhatia</a> explains how.</p>
<p>Now, for complex and long running SQL statements in Exadata, it is quite important to reduce the amount of data being transferred from the storage nodes to the database and to have the right degree of parallelism. </p>
<p>The former is achieved very much by smart scans which take place only when there are full scans or direct path reads. The blocks are not cached but they are returned to the PGA. The latter is even trickier. How in fact to determine the right degree of parallelism for an SQL statement? </p>
<p>Most often parallel_degree_policy is set to manual (default) and parallel_max_servers is sort of guessed. In my opinion, the right way is to use Oracle’s Auto DOP solution by enabling parallel_degree_policy to a non-default value. Let me quote <a href="http://www.pythian.com/news/27867/secrets-of-oracles-automatic-degree-of-parallelism/" title="Gwen Shapira" target="_blank">Gwen Shapira</a>:</p>
<p>There are two levels to Auto DOP:<br />
- <strong>Limited</strong>: when accessing tables and indexes that have been declared with parallel clause, Oracle will decide on the degree of parallelism based on the query and system resources<br />
- <strong>Auto</strong>: Oracle will decide on degree of parallelism for every query. In addition two new features are enabled: parallel statement queuing and in-memory parallel execution.</p>
<p>Even doing all that, because of Oracle&#8217;s unpredictable behavior at times, some SQL statements might not get the right number of parallel slaves or might not go for smart scans. For such statements creating an SPM baseline is a good thing to start from. Then, during the Automatic SQL Tuning maintenance window, the SQL Tuning Advisor might notice that there is a non-accepted plan which is better than the accepted one. The recommended SQL profile will simple do nothing else than to evolve the SPM baseline execution plan into an accepted plan. </p>
<p>All that happens automatically due to the fact that we have advised Oracle to automatically accept SQL Profiles. </p>
<p>But there is more to that: how to get a good degree of parallelism for the SQL statement? Oracle will automatically do so if needed by creating a parallel SQL Profile. Note that there are two types of profiles:</p>
<p>- REGULAR_PROFILE &#8211; profile without a change to parallel execution<br />
- PX_PROFILE &#8211; regular profile with a change to parallel execution</p>
<p>Here is an example:</p>
<p><a href="http://juliandontcheff.files.wordpress.com/2012/10/px_profile1.png"><img src="http://juliandontcheff.files.wordpress.com/2012/10/px_profile1.png?w=604&#038;h=634" alt="" title="PX_Profile" width="604" height="634" class="aligncenter size-full wp-image-3047" /></a></p>
<p>Automatically accepted parallel profiles can really boost the Exadata performance. But as PX_Profiles can consume also more resources than expected, it is important to have <strong>Instance Caging</strong> enabled. </p>
<p>The most important step for configuring instance caging is to determine the value of CPU_COUNT for each database instance and the sum of CPU_COUNTs across the server. There are two approaches:</p>
<p>- Partitioned approach for mission-critical pools sum(CPU_COUNT) &lt; 75% x Total CPUs<br />
- Over-subscribed approach for non-critical pools sum (CPU_COUNT) &lt;= up to 3 x Total CPUs</p>
<p>Second step for instance caging: ensure resource_manager_plan is enabled.</p>
<p>Bottom line: tuning an Exadata database is not exactly the same things as tuning a traditional database. Actual tuning of an Exadata database is in fact a lot easier once understood.</p>
<p>And a lot of that tuning work can be really automated!</p>
<br />Filed under: <a href='http://juliandontcheff.wordpress.com/category/database-tuning/'>Database tuning</a>, <a href='http://juliandontcheff.wordpress.com/category/dba/'>DBA</a>, <a href='http://juliandontcheff.wordpress.com/category/exadata/'>Exadata</a>, <a href='http://juliandontcheff.wordpress.com/category/sql/'>SQL</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/juliandontcheff.wordpress.com/2999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/juliandontcheff.wordpress.com/2999/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=juliandontcheff.wordpress.com&#038;blog=14794807&#038;post=2999&#038;subd=juliandontcheff&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://juliandontcheff.wordpress.com/2012/10/29/tuning-exadata-with-parallel-profiles-and-spm-baselines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ea2bbfc2267c8f3f03983515723c1d9e?s=96&#38;d=http%3A%2F%2F2.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dontcheff</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/10/performance.png" medium="image">
			<media:title type="html">Performance</media:title>
		</media:content>

		<media:content url="http://juliandontcheff.files.wordpress.com/2012/10/px_profile1.png" medium="image">
			<media:title type="html">PX_Profile</media:title>
		</media:content>
	</item>
	</channel>
</rss>
