<?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>Tanel Poder's blog: Core IT for Geeks and Pros &#187; Oracle 11gR2</title>
	<atom:link href="http://blog.tanelpoder.com/category/oracle-11gr2/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tanelpoder.com</link>
	<description>Oracle troubleshooting, internals and performance tuning</description>
	<lastBuildDate>Sat, 31 Jul 2010 05:44:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Exadata v2 Smart Scan Performance Troubleshooting article</title>
		<link>http://blog.tanelpoder.com/2010/07/30/exadata-v2-smart-scan-performance-troubleshooting-article/</link>
		<comments>http://blog.tanelpoder.com/2010/07/30/exadata-v2-smart-scan-performance-troubleshooting-article/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 22:18:25 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Exadata]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Tuning]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=727</guid>
		<description><![CDATA[I finally finished my first Exadata performance troubleshooting article. This explains one bug I did hit when stress testing an Exadata v2 box, which caused smart scan to go very slow &#8211; and how I troubleshooted it: Troubleshooting Exadata v2 Smart Scan Performance Thanks to my secret startup company I&#8217;ve been way too busy to [...]]]></description>
			<content:encoded><![CDATA[<p>I finally finished my first Exadata performance troubleshooting article.</p>
<p>This explains one bug I did hit when stress testing an Exadata v2 box, which caused smart scan to go very slow &#8211; and how I troubleshooted it:</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlL2V4YWRhdGEvcGVyZm9ybWFuY2UtdHJvdWJsZXNob290aW5nL2V4YWRhdGEtc21hcnQtc2Nhbi1wZXJmb3JtYW5jZQ==" target=\"_blank\">Troubleshooting Exadata v2 Smart Scan Performance</a></li>
</ul>
<p>Thanks to my secret startup company I&#8217;ve been way too busy to write anything serious lately, but apparently staying up until 6am helped this time! :-) Anyway, maybe next weekend I can repeat this and write Part 2 in the Exadata troubleshooting series ;-)</p>
<p>Enjoy! Comments are welcome to this blog entry as I haven&#8217;t figured out a good way to enable comments in the google sites page I&#8217;m using&#8230;</p>
<div class="facebook_like_button"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.tanelpoder.com%2F2010%2F07%2F30%2Fexadata-v2-smart-scan-performance-troubleshooting-article%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="padding: 0px 0px; border:none; overflow:hidden; width:450px; height:70px;"></iframe></div> <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=727" width="1" height="1" style="display: none;" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.tanelpoder.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2010/07/30/exadata-v2-smart-scan-performance-troubleshooting-article/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dropping and creating tables in read only tablespaces?!</title>
		<link>http://blog.tanelpoder.com/2010/07/11/dropping-and-creating-tables-in-read-only-tablespaces-what/</link>
		<comments>http://blog.tanelpoder.com/2010/07/11/dropping-and-creating-tables-in-read-only-tablespaces-what/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 17:09:12 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=719</guid>
		<description><![CDATA[You probably already know that it&#8217;s possible to drop tables in Oracle read only tablespaces&#8230; (You did know that already, right? ;-) Here&#8217;s a little example: SQL&#62; create tablespace ronly datafile '/u03/oradata/LIN112/ronly.01.dbf' size 10m; Tablespace created. SQL&#62; create table test tablespace ronly as select * from all_users; Table created. SQL&#62; alter tablespace ronly READ ONLY; [...]]]></description>
			<content:encoded><![CDATA[<p>You probably already know that it&#8217;s possible to drop tables in Oracle read only tablespaces&#8230; (You did know that already, right? ;-) Here&#8217;s a little example:</p>
<pre>SQL&gt; create tablespace ronly datafile '/u03/oradata/LIN112/ronly.01.dbf' size 10m;

Tablespace created.

SQL&gt; create table test tablespace ronly as select * from all_users;

Table created.

SQL&gt; alter tablespace ronly READ ONLY;

Tablespace altered.

SQL&gt; drop table test;

Table dropped.</pre>
<p>I just dropped a table from a read only tablespace! Well, perhaps it&#8217;s because that instead of dropping the table was put into recyclebin instead (which is a data dictionary update)? Let&#8217;s check which segments remain in the RONLY tablespace:</p>
<pre>SQL&gt; select owner,segment_name,segment_type from dba_segments where tablespace_name = 'RONLY';

OWNER   SEGMENT_NAME                    SEGMENT_TYPE
------- ------------------------------- ------------------
TANEL   BIN$ix7rAUXZfB3gQKjAgS4LXg==$0  TABLE</pre>
<p>Indeed, it seems that the table segment wasn&#8217;t actually dropped. Well, let&#8217;s purge the recycle bin to try to actually drop the table segment:</p>
<pre>SQL&gt; purge recyclebin;

Recyclebin purged.

SQL&gt; select owner,segment_name,segment_type from dba_segments where tablespace_name = 'RONLY';

OWNER    SEGMENT_NAME                   SEGMENT_TYPE
-------- ------------------------------ ------------------
TANEL    9.130                          TEMPORARY</pre>
<p>Wow, Oracle has converted the table segment into a temporary segment instead (see segment_type)! Bur our tablespace is read only, how can it do that?! The answer is that neither the regular DROP nor DROP PURGE need to write anything into the tablespace where the segment resides! The initial DROP operation just updated data dictionary, like renaming the table to BIN$&#8230; in OBJ$ and so on. The second DROP PURGE operation just ran a bunch of deletes against data dictionary to indicate that the table object is gone. But why is the TEMPORARY segment left behind? This has to do with locally managed tablespaces. Before LMT days, when you dropped a segment, then the segment space was released and acquired back to tablespace through inserts/updates to UET$/FET$ (used/free extents) base tables, which resided in system tablespace like all other data dictionary base tables. But with LMTs, the free space information is kept in bitmaps in the tablespace files themselves! Thus, if you drop a table in a read only LMT tablespace, the table will be gone, but the space will not be physically released (as you can&#8217;t update the LMT bitmaps in read only tablespace files). However, Oracle doesn&#8217;t want to lose that space should someone make the tablespace read write later on, so the table segment is updated to be a TEMPORARY segment instead of completely deleting it from data dictionary. That&#8217;s how the SMON can clean it up later on should that tablespace become read-write again. The 9.130 in SEGMENT_NAME column means relative file# 9 and starting block# 130, that&#8217;s a segment&#8217;s unique identifier in a tablespace. Let&#8217;s move on. This example is executed on Oracle 11.2, while logged on to a non-SYS/SYSTEM user:</p>
<pre>SQL&gt; select status from dba_tablespaces where tablespace_name = 'RONLY';

STATUS
---------
READ ONLY</pre>
<p>The tablespace is still in read only status. Let&#8217;s try to CREATE a table into that tablespace:</p>
<pre>SQL&gt; create table test(a int) tablespace ronly;

Table created.</pre>
<p>What? I can also CREATE a table into a read only tablespace?! Well, this is the behavior you get starting from 11gR2 onwards, it&#8217;s called deferred segment creation, Oracle doesn&#8217;t need to create any segments for a table until you actually insert rows into it! So, Oracle creates all needed metadata about the new table in data dictionary, but doesn&#8217;t actually allocate any space from the tablespace. This applies to other segment types like index and table/index partitions as well. There&#8217;s new syntax which controls the deferred segment creation:</p>
<pre>SQL&gt; drop table test purge;

Table dropped.

SQL&gt; create table test (a int) segment creation IMMEDIATE tablespace ronly;
create table test (a int) segment creation IMMEDIATE tablespace ronly
*
ERROR at line 1:
ORA-01647: tablespace 'RONLY' is read-only, cannot allocate space in it</pre>
<p>In the above case I disabled the deferred segment creation and got an error immediately as Oracle tried to allocate space from the read only tablespace. Let&#8217;s try the other way:</p>
<pre>SQL&gt; create table test (a int) segment creation DEFERRED tablespace ronly;

Table created.</pre>
<p>Now, with deferred segment creation enabled, Oracle didn&#8217;t try to allocate space from the read only tablespace. Let&#8217;s look into the segments in that tablespace again:</p>
<pre>SQL&gt; select owner,segment_name,segment_type from dba_segments where tablespace_name = 'RONLY';

OWNER        SEGMENT_NAME    SEGMENT_TYPE
------------ --------------- ---------------
TANEL        9.130           TEMPORARY</pre>
<p>We still have that old segment from an earlier DROP TABLE operation waiting to be cleaned up (when the tablespace goes into read-write mode again), but no segment for our latest test table created. Let&#8217;s make the tablespace read write and check again:</p>
<pre>SQL&gt; alter tablespace ronly read write;

Tablespace altered.

SQL&gt; select owner,segment_name,segment_type from dba_segments where tablespace_name = 'RONLY';

no rows selected</pre>
<p>Apparently SMON has kicked in already and cleaned up the table segment which had been marked temporary earlier when I dropped the table in a read only tablespace.</p>
<p>Note that tables in SYS and SYSTEM schema can not use deferred segment creation:</p>
<pre>SQL&gt; create table sys.test (a int) segment creation deferred;
create table sys.test (a int) segment creation deferred
*
ERROR at line 1:
ORA-14223: Deferred segment creation is not supported for this table

SQL&gt; create table system.test (a int) segment creation deferred;
create table system.test (a int) segment creation deferred
*
ERROR at line 1:
ORA-14223: Deferred segment creation is not supported for this table

SQL&gt; create table tanel.test (a int) segment creation deferred;

Table created.</pre>
<p>There&#8217;s also a parameter, deferred_segment_creation which controls the default behavior:</p>
<pre>SQL&gt; show parameter deferred

NAME_COL_PLUS_SHOW_PARAM     TYPE        VALUE
---------------------------- ----------- --------
deferred_segment_creation    boolean     TRUE

SQL&gt;</pre>
<div class="facebook_like_button"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.tanelpoder.com%2F2010%2F07%2F11%2Fdropping-and-creating-tables-in-read-only-tablespaces-what%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="padding: 0px 0px; border:none; overflow:hidden; width:450px; height:70px;"></iframe></div> <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=719" width="1" height="1" style="display: none;" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.tanelpoder.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2010/07/11/dropping-and-creating-tables-in-read-only-tablespaces-what/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>KGH: NO ACCESS &#8211; Buffer cache inside streams pool too!</title>
		<link>http://blog.tanelpoder.com/2010/04/21/kgh-no-access-buffer-cache-inside-streams-pool-too/</link>
		<comments>http://blog.tanelpoder.com/2010/04/21/kgh-no-access-buffer-cache-inside-streams-pool-too/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 19:21:44 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Internals]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=669</guid>
		<description><![CDATA[Some time ago I wrote that since Oracle 10.2, some of the buffer cache can physically reside within shared pool granules. I just noticed this in an 11.2 instance: SQL&#62; select * from v$sgastat where name like &#8216;KGH%&#8217;; POOL         NAME                       [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2Jsb2cudGFuZWxwb2Rlci5jb20vMjAwOS8wOS8wOS9rZ2gtbm8tYWNjZXNzLWFsbG9jYXRpb25zLWluLXZzZ2FzdGF0LWJ1ZmZlci1jYWNoZS13aXRoaW4tc2hhcmVkLXBvb2wv">wrote</a> that since Oracle 10.2, some of the buffer cache can physically reside within <strong>shared pool</strong> granules.</p>
<p>I just noticed this in an 11.2 instance:</p>
<div><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;">SQL&gt; select * from v$sgastat where name like &#8216;KGH%&#8217;;</span></div>
<div>
<pre>POOL         NAME                            BYTES
------------ -------------------------- ----------
streams pool KGH: NO ACCESS                4186144</pre>
</div>
<div></div>
<div></div>
<div>So, it looks that also streams pool can surrender parts of its memory granules to buffer cache, if it&#8217;s unable to flush everything out from the granule for complete granule handover.</div>
<div>Let&#8217;s see whether that&#8217;s the case:</div>
<div>
<pre>

SQL&gt; select last_oper_type, last_oper_mode from v$sga_dynamic_components where component = 'streams pool';
LAST_OPER_TYP LAST_OPER
------------- ---------
SHRINK        DEFERRED</pre>
</div>
<div></div>
<div></div>
<div>Yep, the last streams pool shrink operation was left in DEFERRED status, which means the granule wasn&#8217;t handed over &#8211; streams pool kept the granule for itself, marked everything it could flush out as KGH: NO ACCESS in its heap header and handed these chunks over to buffer cache manager.</div>
<div>Lets check whether these chunks are actually used by buffer cache buffers:</div>
<div>(NB! Think twice before running this query in production as it may hold your shared pool latches for very long time):</div>
<div></div>
<div></div>
<div>
<pre>SQL&gt; select ksmchidx,ksmchdur,ksmchcom,ksmchptr,ksmchsiz,ksmchcls from x$ksmsst where ksmchcom = 'KGH: NO ACCESS';
  KSMCHIDX   KSMCHDUR KSMCHCOM         KSMCHPTR           KSMCHSIZ KSMCHCLS
---------- ---------- ---------------- ---------------- ---------- --------
         1          4 KGH: NO ACCESS   00000003A2401FE0    4186144 no acce</pre>
</div>
<div>So, there&#8217;s only one chunk flushed &amp; handed over to buffer cache in the streams pool heap. The KSMCHPTR column shows the starting address of that chunk in SGA and the KSMCHSIZ is the size of that chunk.</div>
<div>So, let&#8217;s see if there are any buffers within that address range. First I&#8217;ll calculate the end address of that chunk (start address + size -1 = end address)</div>
<div>
<pre>

SQL&gt; @calc 0x00000003A2401FE0 + 4186143
                     DEC                  HEX
------------------------ --------------------
         15611199487.000            3A27FFFFF</pre>
</div>
<div></div>
<div></div>
<div>And now lets query X$BH using that address range to see if / how many buffer cache buffers have been placed in there:</div>
<div>
<pre>

SQL&gt; select count(*) from x$bh where rawtohex(ba) between '00000003A2401FE0' and '00000003A27FFFFF';

  COUNT(*)
----------
       483</pre>
</div>
<div></div>
<div></div>
<div>We have just proven, that there are 483 buffer cache buffers (~3.8MB, 8kB buffers) which reside physically in streams pool heap!</div>
<div></div>
<div></div>
<div></div>
<div class="facebook_like_button"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.tanelpoder.com%2F2010%2F04%2F21%2Fkgh-no-access-buffer-cache-inside-streams-pool-too%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="padding: 0px 0px; border:none; overflow:hidden; width:450px; height:70px;"></iframe></div> <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=669" width="1" height="1" style="display: none;" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.tanelpoder.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2010/04/21/kgh-no-access-buffer-cache-inside-streams-pool-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New seminars and dates announced</title>
		<link>http://blog.tanelpoder.com/2010/01/27/new-seminars-and-dates-announced/</link>
		<comments>http://blog.tanelpoder.com/2010/01/27/new-seminars-and-dates-announced/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 11:40:31 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Cool stuff]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 11g]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=592</guid>
		<description><![CDATA[I have been very busy over last months (as you see from the lack of blog entries). Part of the reason is that I&#8217;ve been building new seminar material and now I&#8217;m pleased to announce some first seminar dates! I have updated new seminar dates and cities in m new webpage: http://tech.e2sn.com/oracle-training-seminars From April 2010 [...]]]></description>
			<content:encoded><![CDATA[<p>I have been very busy over last months (as you see from the lack of blog entries). Part of the reason is that I&#8217;ve been building new seminar material and now I&#8217;m pleased to announce some first seminar dates!</p>
<p>I have updated new seminar dates and cities in m new webpage:</p>
<ul>
<li><strong><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlLXRyYWluaW5nLXNlbWluYXJz" target=\"_blank\">http://tech.e2sn.com/oracle-training-seminars</a></strong></li>
</ul>
<p>From April 2010 I offer total 3 different seminars</p>
<ul>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlLXRyYWluaW5nLXNlbWluYXJz" target=\"_blank\">Advanced Oracle Troubleshooting v2.0</a> (3 days)</li>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlLXRyYWluaW5nLXNlbWluYXJz" target=\"_blank\">Advanced Oracle SQL Tuning</a> (3 days)</li>
<li><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlLXRyYWluaW5nLXNlbWluYXJz" target=\"_blank\">Partitioning and Parallel Execution for Performance</a> (1 day)</li>
</ul>
<p>I have rearranged the Advanced Oracle Troubleshooting class based on customer feedback, removed some content, added new content and I think this deserves a new version number, 2.0.</p>
<p>Also, I created an entirely new class <strong>Advanced Oracle SQL Tuning</strong> which should provide the same for SQL tuners that my Advanced Oracle Troubleshooting class has provided for database troubleshooters. This class will <em>not</em> start with CBO concepts and how SQL execution might work in theory, insead we will start from going very deep into understanding how Oracle <em>really</em> executes SQL execution plans and what is the data flow order and hierarchy in the execution plan tree.</p>
<p>From there we go on into learning how to read execution plans of any complexity and how to control SQL execution plans &#8211; how to make them do exactly what we want. And CBO topics will come in the end &#8211; by then the CBO fundamental concepts such as Cardinality, Density and IO/CPU Cost will make good sense and are not just some arbitrary names for some magic numbers coming from the optimizer ;-)</p>
<p>In addition, I separated Parallel Execution and Partitioning topics (which not everyone is using) into a separate 1-day seminar, <strong>Oracle Partitioning and Parallel Execution for Performance</strong>, which I usually deliver right after the 3-day SQL tuning seminar.</p>
<p>In coming days I also plan to upload some SQL tuning related content to tech.e2sn.com to show the quality of the upcoming seminar ;-)</p>
<p>So, feel free to check out the seminar dates and descriptions here:</p>
<ul>
<li><strong><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3RlY2guZTJzbi5jb20vb3JhY2xlLXRyYWluaW5nLXNlbWluYXJz" target=\"_blank\">http://tech.e2sn.com/oracle-training-seminars</a> </strong></li>
</ul>
<div class="facebook_like_button"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.tanelpoder.com%2F2010%2F01%2F27%2Fnew-seminars-and-dates-announced%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="padding: 0px 0px; border:none; overflow:hidden; width:450px; height:70px;"></iframe></div> <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=592" width="1" height="1" style="display: none;" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.tanelpoder.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2010/01/27/new-seminars-and-dates-announced/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Oracle 11gR2 has been released &#8211; and with column oriented storage option</title>
		<link>http://blog.tanelpoder.com/2009/09/01/oracle-11gr2-has-been-released-and-with-column-oriented-storage-option/</link>
		<comments>http://blog.tanelpoder.com/2009/09/01/oracle-11gr2-has-been-released-and-with-column-oriented-storage-option/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 18:07:05 +0000</pubDate>
		<dc:creator>Tanel Poder</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Oracle 11g]]></category>
		<category><![CDATA[Oracle 11gR2]]></category>

		<guid isPermaLink="false">http://blog.tanelpoder.com/?p=429</guid>
		<description><![CDATA[You may already have noticed that Oracle 11gR2 for Linux is available for download on Oracle.com website, with documentation. And this document ends speculation about whether Oracle 11.2 will support column-oriented storage &#8211; yes it will: http://www.oracle.com/technology/products/database/oracle11g/pdf/oracle-database-11g-release2-overview.pdf However, this is apparently available on Exadata storage only as a new error message below indicates: ORA-64307: hybrid [...]]]></description>
			<content:encoded><![CDATA[<p>You may already have noticed that Oracle 11gR2 for Linux is available for <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvc29mdHdhcmUvcHJvZHVjdHMvZGF0YWJhc2UvaW5kZXguaHRtbA==">download</a> on Oracle.com website, with <a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcmFjbGUuY29tL3Bscy9kYjExMi9ob21lcGFnZQ==">documentation</a>.</p>
<p>And this document ends speculation about whether Oracle 11.2 will support column-oriented storage &#8211; yes it will:</p>
<p><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5vcmFjbGUuY29tL3RlY2hub2xvZ3kvcHJvZHVjdHMvZGF0YWJhc2Uvb3JhY2xlMTFnL3BkZi9vcmFjbGUtZGF0YWJhc2UtMTFnLXJlbGVhc2UyLW92ZXJ2aWV3LnBkZg==">http://www.oracle.com/technology/products/database/oracle11g/pdf/oracle-database-11g-release2-overview.pdf</a></p>
<p>However, this is apparently available on Exadata storage only as a new error message below indicates:</p>
<p><strong>ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage<br />
</strong> Cause: An attempt was made to use hybrid columnar compression on unsupported storage.<br />
Action: Create this table in a tablespace residing on Exadata storage or use a different compression type.</p>
<p><strong>Update:</strong> Kevin Closson mentioned that 11gR2 doesn&#8217;t really have column oriented storage as some other products like Vertica&#8217;s and Sybase IQ use, but its rather just column oriented compression option where storage is still organized by row but individual fields in these rows use compression dictionaries whichcan span multiple block boundaries (we&#8217;ll thats my interpretation at least).</p>
<p>The 11gR2 release overview doc seems to be wrong in this case, as it says:</p>
<p><em>Hybrid columnar compression is a new method for organizing how data is stored. Instead of<br />
storing the data in traditional rows, the data is grouped, ordered and stored one column at a time.</em></p>
<p>Read Kevin&#8217;s note here:</p>
<p><a href="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2tldmluY2xvc3Nvbi53b3JkcHJlc3MuY29tLzIwMDkvMDkvMDEvb3JhY2xlLXN3aXRjaGVzLXRvLWNvbHVtbmFyLXN0b3JlLXRlY2hub2xvZ3ktd2l0aC1vcmFjbGUtZGF0YWJhc2UtMTFnLXJlbGVhc2UtMi8=">http://kevinclosson.wordpress.com/2009/09/01/oracle-switches-to-columnar-store-technology-with-oracle-database-11g-release-2/</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<dl>
<dt><span class="msg">ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage</span> <!-- class="msg" --></dt>
<dd>
<div class="msgexplan"><span class="msgexplankw">Cause:</span> An attempt was made to use hybrid columnar compression on unsupported storage.</div>
<p><!-- class="msgexplan" --></p>
</dd>
<dd>
<div class="msgaction"><span class="msgactionkw">Action:</span> Create this table in a tablespace residing on Exadata storage or use a different compression type.</div>
<p><!-- class="msgaction" --></p>
</dd>
</dl>
<p><!-- class="msgentry" --> <!-- class="msgset" --> <!-- class="ind" --></p>
<div id="comment_block" class="footer">
<div id="comment_form" class="comments">
<h1>User Comments</h1>
<dl>
<dt><span class="msg">ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage</span> <!-- class="msg" --></dt>
<dd>
<div class="msgexplan"><span class="msgexplankw">Cause:</span> An attempt was made to use hybrid columnar compression on unsupported storage.</div>
<p><!-- class="msgexplan" --></p>
</dd>
<dd>
<div class="msgaction"><span class="msgactionkw">Action:</span> Create this table in a tablespace residing on Exadata storage or use a different compression type.</div>
<p><!-- class="msgaction" --></p>
</dd>
</dl>
<p><!-- class="msgentry" --> <!-- class="msgset" --> <!-- class="ind" --></p>
<div id="comment_block" class="footer">
<div id="comment_form" class="comments">
<h1>User Comments</h1>
</div>
</div>
</div>
</div>
</div>
<div class="facebook_like_button"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.tanelpoder.com%2F2009%2F09%2F01%2Foracle-11gr2-has-been-released-and-with-column-oriented-storage-option%2F&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="padding: 0px 0px; border:none; overflow:hidden; width:450px; height:70px;"></iframe></div> <img src="http://blog.tanelpoder.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=429" width="1" height="1" style="display: none;" /><p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://blog.tanelpoder.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.tanelpoder.com/2009/09/01/oracle-11gr2-has-been-released-and-with-column-oriented-storage-option/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>
