<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-5791517908774186442</atom:id><lastBuildDate>Wed, 28 Oct 2009 07:08:44 +0000</lastBuildDate><title>Yet another DBA blog</title><description>This blog is to share my Oracle experiences and learning’s. It's also to rumble about my feelings on various oracle related stuff.</description><link>http://dbathoughts.blogspot.com/</link><managingEditor>noreply@blogger.com (My Thoughts)</managingEditor><generator>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/YetAnotherDbaBlog" type="application/rss+xml" /><feedburner:emailServiceId>YetAnotherDbaBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-492945006525591905</guid><pubDate>Mon, 16 Feb 2009 06:12:00 +0000</pubDate><atom:updated>2009-02-16T13:27:38.426+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database</category><category domain="http://www.blogger.com/atom/ns#">Relational database management system</category><category domain="http://www.blogger.com/atom/ns#">SQL</category><category domain="http://www.blogger.com/atom/ns#">Amazon SimpleDB</category><title>Future of Relational Database</title><description>I read an interesting &lt;a href="http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php"&gt;article on RWW&lt;/a&gt; about future of &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Relational_database" title="Relational database" rel="wikipedia"&gt;relational database&lt;/a&gt;; thought it might be of interest to you too!&lt;br /&gt;&lt;br /&gt;This article talks about the emerging database (key/value database) and compares it to &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Relational_database" title="Relational database" rel="wikipedia"&gt;RDBMS&lt;/a&gt;. One of the interesting things being that you may not be able to perform JOIN operation. It is being described as the suitable model for cloud service provides (and pay-as-you-go service providers) and big players like Amazon (&lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Amazon_SimpleDB" title="Amazon SimpleDB" rel="wikipedia"&gt;SimpleDB&lt;/a&gt;), Google (&lt;a href="http://code.google.com/appengine/docs/python/datastore/"&gt;AppEngine Datastore&lt;/a&gt;), Microsoft (&lt;a href="http://www.microsoft.com/azure/data.mspx"&gt;SQL Data services&lt;/a&gt;) have already started the offering. There are non-cloud providers too like - &lt;a class="zem_slink" href="http://incubator.apache.org/couchdb/" title="CouchDB" rel="homepage"&gt;CouchDB&lt;/a&gt;, &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/Drizzle_%28database_server%29" title="Drizzle (database server)" rel="wikipedia"&gt;Drizzle&lt;/a&gt;, &lt;a href="http://mongodb.org/"&gt;Mongo&lt;/a&gt; etc. However, all these services (both cloud and non-cloud) are still in beta or alpha phase.&lt;br /&gt;&lt;br /&gt;My 2 cents - Personally, I think these emerging database models have a long way to go before then can match feature richness of RDBMS; Scalability can not be the only criteria as described in RWW article. With RDBMS like Oracle adopting to cloud, it can get tougher for key/value database models.&lt;br /&gt;&lt;br /&gt;Pour in your thoughts...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-492945006525591905?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=ThvFHyImnMY:fOUNIfO3jWY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=ThvFHyImnMY:fOUNIfO3jWY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=ThvFHyImnMY:fOUNIfO3jWY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=ThvFHyImnMY:fOUNIfO3jWY:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/ThvFHyImnMY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/ThvFHyImnMY/future-of-relational-database.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2009/02/future-of-relational-database.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-7817353951972755035</guid><pubDate>Thu, 16 Oct 2008 03:55:00 +0000</pubDate><atom:updated>2008-10-16T09:39:01.228+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Security</category><category domain="http://www.blogger.com/atom/ns#">Critical Patch</category><category domain="http://www.blogger.com/atom/ns#">CPU</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><title>Oracle Critical Patch Update - October 2008</title><description>Oracle released critical patch update for October 2008 yesterday; this is the last CPU for 2008. There have been 36 new fixes across all products including 15 new security fixes for database products. Please review the following URL to see if the product you are using requires this patch or not.&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2008.html"&gt;http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuoct2008.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can also refer to &lt;a href="https://metalink2.oracle.com/metalink/plsql/f?p=130:14:2279010161684383157::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,735216.1,1,1,0,helvetica"&gt;MetaLink Note 735216.1&lt;/a&gt; for more details on database fixes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-7817353951972755035?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5f-3cMAYAoU:PG5pnGmlh-g:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5f-3cMAYAoU:PG5pnGmlh-g:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5f-3cMAYAoU:PG5pnGmlh-g:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5f-3cMAYAoU:PG5pnGmlh-g:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/5f-3cMAYAoU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/5f-3cMAYAoU/oracle-critical-patch-update-october.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/10/oracle-critical-patch-update-october.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-7491207066096517981</guid><pubDate>Thu, 25 Sep 2008 04:07:00 +0000</pubDate><atom:updated>2008-09-25T11:19:02.742+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Exadata Storage Server</category><category domain="http://www.blogger.com/atom/ns#">HP Oracle Database Machine</category><category domain="http://www.blogger.com/atom/ns#">Larry Ellison</category><title>Oracle announces Storage server and Database machine</title><description>&lt;span class="zemanta-img zemanta-action-click" style="margin: 1em; float: right; display: block;"&gt;&lt;img src="http://cache.daylife.com/imageserve/04UDdQ5dy110R/113x150.jpg" alt="SAN FRANCISCO - SEPTEMBER 24:  The new Oracle ..." style="border: medium none ; display: block;" /&gt;&lt;/span&gt;Larry Ellison announced Oracle's foray into hardware arena with the launch of storage server and database machine at the ongoing Oracle Open World 2008 in his keynote address. Oracle has partnered with &lt;a href="http://www.hp.com/" title="Hewlett-Packard Company" rel="homepage" class="zem_slink"&gt;HP&lt;/a&gt; for this. Read the &lt;a href="http://www.oracle.com/us/corporate/press/017553_EN.doc"&gt;press release&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Oracle has announced a new storage server called "Oracle Exadata" and a database machine partnering with HP. The database machine is named "HP Oracle Database Machine". It's a pre-configured machine with Oracle Enterprise Linux consisting 8 database servers, 64 Intel processor cores, grid of 14 Oracle Exadata storage servers,. It's specially been designed for data  warehousing market. It's being seen as a serious contender to &lt;a href="http://www.teradata.com/index.htm" title="Teradata" rel="homepage" class="zem_slink"&gt;Teradata&lt;/a&gt; and &lt;a href="http://netezza.com/"&gt;Netezza&lt;/a&gt;. The Exadata Storage server includes two Intel processors, each with four cores, with up to 12 terabytes of raw storage.  Here is what James Kobielus of Forrester Research has to say at his &lt;a href="http://blogs.forrester.com/information_management/2008/09/oracle-soars-in.html"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Refer to the following links for more about Exadata and Database machine.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/solutions/business_intelligence/exadata.html"&gt;HP Oracle Exadata Storage Server&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/solutions/business_intelligence/database-machine.html"&gt;HP Oracle Database Machine&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-7491207066096517981?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=-DdEYkApboc:YfTNjy_8Hwc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=-DdEYkApboc:YfTNjy_8Hwc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=-DdEYkApboc:YfTNjy_8Hwc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=-DdEYkApboc:YfTNjy_8Hwc:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/-DdEYkApboc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/-DdEYkApboc/oracle-announces-storage-server-and.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/09/oracle-announces-storage-server-and.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-7295028609775498232</guid><pubDate>Tue, 22 Jul 2008 17:50:00 +0000</pubDate><atom:updated>2008-07-22T23:29:28.685+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">CURSOR_SPACE_FOR_TIME</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">init.ora</category><title>CURSOR_SPACE_FOR_TIME to be deprecated in future releases</title><description>According to a recently published metalink note (565424.1) the parameter "CURSOR_SPACE_FOR_TIME" is going to be deprecated starting release 11.1.0.7 onwards. In fact Oracle's next patch set release for 10g - 10.2.0.5 will also de-support this parameter. We will have to remove this parameter whenever these 2 patch sets - 10.2.0.5 for 10g and 11.1.0.7 for 11g are released and we decided to migrate. CURSOR_SPACE_FOR_TIME was introduced to reduce latch contention; This parameter may no longer be required with introduction of cursor mutexes hence Oracle has decided to deprecate this in future releases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-7295028609775498232?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=27ygGQ27IUI:9fsFtOGAlT8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=27ygGQ27IUI:9fsFtOGAlT8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=27ygGQ27IUI:9fsFtOGAlT8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=27ygGQ27IUI:9fsFtOGAlT8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/27ygGQ27IUI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/27ygGQ27IUI/cursorspacefortime-to-be-deprecated-in.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/07/cursorspacefortime-to-be-deprecated-in.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-71237502967939417</guid><pubDate>Mon, 21 Jul 2008 06:09:00 +0000</pubDate><atom:updated>2008-07-21T12:09:45.122+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">PL/SQL</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>Oracle 11g New Features – PL/SQL enhancements Part-II</title><description>This is the concluding part of the 2 part series on PL/SQL enhancements in 11g.  Here are few more useful enhancements in PL/SQL :-&lt;br /&gt;&lt;br /&gt;1. Usage of Named and mixed notation with PL/SQL subprograms in a SQL statement&lt;br /&gt;&lt;br /&gt;Prior to 11g, to use a sub-program (e.g. function) in a SELECT statement you  have to provide the real parameters in positional notation. Let’s look at an  example using both 10g and 11g to understand it better. &lt;p&gt;&lt;/p&gt;Here is a small piece of code which calculates the years of employment of an  employee :-&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;blockquote&gt;CREATE OR REPLACE FUNCTION cal_employment_duration (&lt;br /&gt; empid   IN   NUMBER,&lt;br /&gt; as_on   IN   DATE&lt;br /&gt;)&lt;br /&gt; RETURN NUMBER&lt;br /&gt;IS&lt;br /&gt; vduration   NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt; SELECT MONTHS_BETWEEN (as_on, hiredate) / 12&lt;br /&gt;   INTO vduration&lt;br /&gt;   FROM emp&lt;br /&gt;  WHERE empno = empid;&lt;br /&gt;&lt;br /&gt; RETURN ROUND (vduration);&lt;br /&gt;END;&lt;br /&gt;/&lt;/blockquote&gt;&lt;/em&gt;&lt;/span&gt;Now I call this function using a SELECT statement in Oracle 10g. Observe the  difference when I use named and mixed notation :-&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@ORA10G&gt; SELECT empno, hiredate,&lt;br /&gt;2         cal_employment_duration (empno, SYSDATE) || ' Years' "Employee Tenure"&lt;br /&gt;3    FROM emp&lt;br /&gt;4   WHERE empno = 7788&lt;br /&gt;5  /&lt;br /&gt;&lt;br /&gt;   EMPNO HIREDATE  Employee Tenure&lt;br /&gt;---------- --------- ----------------------------------------------&lt;br /&gt;    7788 19-APR-87 21 Years&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@ORA10G&gt; SELECT empno, hiredate,&lt;br /&gt;2            cal_employment_duration (empid      =&gt; empno,&lt;br /&gt;3                                     as_on      =&gt; SYSDATE&lt;br /&gt;4                                    )&lt;br /&gt;5         || ' Years' "Employee Tenure"&lt;br /&gt;6    FROM emp&lt;br /&gt;7   WHERE empno = 7788;&lt;br /&gt;        cal_employment_duration (empid      =&gt; empno,&lt;br /&gt;                                            *&lt;br /&gt;ERROR at line 2:&lt;br /&gt;ORA-00907: missing right parenthesis&lt;/span&gt;&lt;/blockquote&gt;Now lets use the same example in Oracle 11g :-&lt;br /&gt;&lt;blockquote style="font-style: italic; color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@11glab&gt; SELECT empno, hiredate,&lt;br /&gt;2         cal_employment_duration (empno, SYSDATE) || ' Years' "Employee Tenure"&lt;br /&gt;3    FROM emp&lt;br /&gt;4   WHERE empno = 7788;&lt;br /&gt;&lt;br /&gt;   EMPNO HIREDATE  Employee Tenure&lt;br /&gt;---------- --------- ----------------------------------------------&lt;br /&gt;    7788 19-APR-87 21 Years&lt;/span&gt;&lt;/blockquote&gt;Now lets use named notations and see if it works or not:-&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@11glab&gt; SELECT empno, hiredate,&lt;br /&gt;2            cal_employment_duration (empid      =&gt; empno,&lt;br /&gt;3                                     as_on      =&gt; SYSDATE&lt;br /&gt;4                                    )&lt;br /&gt;5         || ' Years' "Employee Tenure"&lt;br /&gt;6    FROM emp&lt;br /&gt;7   WHERE empno = 7788;&lt;br /&gt;&lt;br /&gt;   EMPNO HIREDATE  Employee Tenure&lt;br /&gt;---------- --------- ----------------------------------------------&lt;br /&gt;    7788 19-APR-87 21 Years&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; SELECT empno, hiredate,&lt;br /&gt;2            cal_employment_duration (empno, as_on =&gt; SYSDATE)&lt;br /&gt;3         || ' Years' "Employee Tenure"&lt;br /&gt;4    FROM emp&lt;br /&gt;5   WHERE empno = 7788;&lt;br /&gt;&lt;br /&gt;   EMPNO HIREDATE  Employee Tenure&lt;br /&gt;---------- --------- ----------------------------------------------&lt;br /&gt;    7788 19-APR-87 21 Years&lt;/span&gt;&lt;/blockquote&gt;Great! it works, except in the following case; Note the error message :-&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt; SELECT empno, hiredate,&lt;br /&gt;2            cal_employment_duration (empid      =&gt; empno,&lt;br /&gt;3                                     SYSDATE)&lt;br /&gt;4         || ' Years' "Employee Tenure"&lt;br /&gt;5    FROM emp&lt;br /&gt;6   WHERE empno = 7788;&lt;br /&gt;        cal_employment_duration (empid      =&gt; empno,&lt;br /&gt;        *&lt;br /&gt;ERROR at line 2:&lt;br /&gt;ORA-06553: PLS-312: a positional parameter association may not follow a named&lt;br /&gt;association&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Not sure why this was left out of the enhancements.&lt;br /&gt;&lt;br /&gt;2. Trigger Enhancements: A couple of enhancements have been done to triggers. I  have captured all of them with examples below.&lt;br /&gt;&lt;br /&gt;i) You can now ENABLE or DISABLE triggers at creation time e.g&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;blockquote&gt;CREATE TRIGGER test_trig&lt;br /&gt;BEFORE INSERT ON  EMP&lt;br /&gt;DISABLED/ENABLED&lt;/blockquote&gt;&lt;/em&gt;&lt;/span&gt;&lt;p&gt;ii) Compound trigger: A new trigger type called “compound” has been  introduced. It basically implements actions for all of the DML timing points in  a single trigger. Action for each timing point “BEFORE STATEMENT”, “AFTER  STATEMENT”, “BEFORE EACH ROW” and “AFTER EACH ROW” can now be written in a  single trigger. Here is an example of :-&lt;/p&gt;This trigger tracks updates to the  “sal” column; It (a) assigns an update_id, notes start and end time for each  update statement (b) keeps old and new salary for every row updated. All of this  done with a single trigger.&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;CREATE OR REPLACE TRIGGER track_sal_upd&lt;br /&gt;FOR UPDATE OF sal ON emp&lt;br /&gt;COMPOUND  TRIGGER&lt;br /&gt;max_sal_upd_id number(4);&lt;br /&gt;BEFORE STATEMENT IS&lt;br /&gt;BEGIN&lt;br /&gt;select  nvl(max(sal_upd_id),0) into max_sal_upd_id from  sal_update_log;&lt;br /&gt;max_sal_upd_id := max_sal_upd_id + 1;&lt;br /&gt;insert into  sal_update_log values(max_sal_upd_id,null,null,null,systimestamp,'salary update  process '||max_sal_upd_id||' started');&lt;br /&gt;END BEFORE STATEMENT;&lt;br /&gt;&lt;br /&gt;AFTER  EACH ROW IS&lt;br /&gt;BEGIN&lt;br /&gt;insert into sal_update_log  values(max_sal_upd_id,:old.empno,:old.sal,:old.sal,systimestamp,'updated by  process '||max_sal_upd_id);&lt;br /&gt;END AFTER EACH ROW;&lt;br /&gt;&lt;br /&gt;AFTER STATEMENT  IS&lt;br /&gt;BEGIN&lt;br /&gt;insert into sal_update_log  values(max_sal_upd_id,null,null,null,systimestamp,'salary update process  '||max_sal_upd_id||' finished');&lt;br /&gt;END AFTER STATEMENT;&lt;br /&gt;END  track_sal_upd;&lt;br /&gt;/&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;iii) Ordering of triggers: You can now control the order in which the  triggers on a table would get fired. Oracle 11g has introduced a new clauses  “FOLLOWS” to implement this feature. It will allow you to control the order in  which the triggers fire when you have multiple triggers of same type on the same  table. Oracle randomly picks up the triggers (if multiple triggers of same type  on same table exist) if FOLLOWS clause is not used, which was the case prior to  11g.&lt;/p&gt; &lt;p&gt;Here an example which uses FOLLOWS clause. In this example, we have 2  triggers – first one “check_sal” is only for updates to SAL column whereas  second one “check_update_job” will fire on updates to JOB &amp;amp; SAL column. Mark  the FOLLOWS clause on “check_sal” trigger. It states that check_sal trigger  should fire only after “check_update_job” has fired..&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;em&gt;&lt;blockquote&gt;CREATE OR REPLACE  TRIGGER check_update_job&lt;br /&gt;BEFORE UPDATE OF job,sal&lt;br /&gt;ON emp&lt;br /&gt;FOR EACH  ROW&lt;br /&gt;DECLARE&lt;br /&gt;v_start_range NUMBER (7, 2);&lt;br /&gt;v_end_range NUMBER (7,  2);&lt;br /&gt;BEGIN&lt;br /&gt;IF :OLD.job IN ('CLERK','SALESMAN') THEN&lt;br /&gt; IF :NEW.JOB !=  'MANAGER' THEN&lt;br /&gt;    raise_application_error (num =&gt; -20001,&lt;br /&gt;   msg =&gt;  'Cannot change job to ' || :NEW.job&lt;br /&gt;   );&lt;br /&gt; END IF;&lt;br /&gt;END  IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;em&gt;CREATE OR REPLACE TRIGGER check_sal&lt;br /&gt;BEFORE UPDATE OF  sal&lt;br /&gt;ON emp&lt;br /&gt;FOR EACH ROW&lt;br /&gt;FOLLOWS  check_update_job&lt;br /&gt;DECLARE&lt;br /&gt;v_start_range NUMBER (7, 2);&lt;br /&gt;v_end_range  NUMBER (7, 2);&lt;br /&gt;BEGIN&lt;br /&gt;SELECT start_range, end_range&lt;br /&gt;INTO v_start_range,  v_end_range&lt;br /&gt;FROM sal_range&lt;br /&gt;WHERE job = :NEW.job;&lt;br /&gt;IF :NEW.sal NOT  BETWEEN v_start_range AND v_end_range&lt;br /&gt;  THEN&lt;br /&gt;    raise_application_error (num  =&gt; -20000,&lt;br /&gt;    msg =&gt; 'Salary is not in the prescribed range'&lt;br /&gt;    );&lt;br /&gt;END  IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; select empno,job,sal from emp where empno=7369;&lt;br /&gt;&lt;br /&gt;   EMPNO JOB              SAL&lt;br /&gt;---------- --------- ----------&lt;br /&gt;    7369 CLERK            800&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; update emp set sal=500, job='PRESIDENT' where empno=7369;&lt;br /&gt;update emp set sal=500, job='PRESIDENT' where empno=7369&lt;br /&gt;     *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-20001: Cannot change job to PRESIDENT&lt;br /&gt;ORA-06512: at "SIPRAS.CHECK_UPDATE_JOB", line 7&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ORA-04088: error during execution of trigger 'SIPRAS.CHECK_UPDATE_JOB'&lt;/span&gt;&lt;/blockquote&gt;&lt;/em&gt;&lt;/span&gt;See the above error, it fired “check_update_job” first. In releases prior to  Oracle 11g, you would not be able to control this.&lt;br /&gt;&lt;br /&gt;3. Enhancements to PL/SQL Native compilation&lt;br /&gt;&lt;br /&gt;Prior to Oracle 11g, initialization parameters were used to setup  native compilation of PL/SQL code. However starting 11g, only one parameter  “PLSQL_CODE_TYPE” needs to be set. It can be set to “INTERPRETED” (default  value) or “NATIVE”. This parameter can be set at session level (ALTER SESSION),  system level (ALTER SYSTEM) and for specific subprograms too using ALTER  PROCEDURE. We all know, native compilation help improve the speed of PL/SQL  programs as it compiles them to native code. It is of great help when your code  consists of lot of loops, calculations, branches etc.&lt;br /&gt;&lt;br /&gt;The  trigger enhancements are really cool! I particularly liked the compound trigger  feature the most. Share your thoughts on what you like…This was the concluding  part of the PL/SQL enhancement series. Here is the link to &lt;a href="http://dbathoughts.blogspot.com/2008/06/oracle-11g-new-features-plsql.html" target="_blank"&gt;first post&lt;/a&gt; in this series.&lt;br /&gt;&lt;br /&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a6c21183-f1ea-4a12-917a-e153033632bd" contenteditable="false" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati  Tags: &lt;a href="http://technorati.com/tags/Oracle+11g" rel="tag"&gt;Oracle 11g&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PL%2fSQL+New+Features" rel="tag"&gt;PL/SQL New  Features&lt;/a&gt;,&lt;a href="http://technorati.com/tags/11g+New+Features" rel="tag"&gt;11g  New Features&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Trigger+Enhancements" rel="tag"&gt;Trigger Enhancements&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-71237502967939417?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=om2ID0UpXWc:5XnR3UmnCIQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=om2ID0UpXWc:5XnR3UmnCIQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=om2ID0UpXWc:5XnR3UmnCIQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=om2ID0UpXWc:5XnR3UmnCIQ:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/om2ID0UpXWc" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/om2ID0UpXWc/oracle-11g-new-features-plsql_21.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/07/oracle-11g-new-features-plsql_21.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-3359058511103787234</guid><pubDate>Wed, 16 Jul 2008 08:33:00 +0000</pubDate><atom:updated>2008-07-16T14:17:16.167+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">CPU</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">Support</category><category domain="http://www.blogger.com/atom/ns#">Patch</category><title>Oracle Critical Patch Update July 2008</title><description>&lt;p&gt;Oracle has release the 3rd critical patch update for 2008 (CPU July 2008). Critical patch updates mostly contain fixes to security vulnerabilities plus it would have non-security fixes too. This critical patch update contains 45 new security fixes across all products which includes14 for Oracle database. Please review the following URL to see if the product you are using requires this patch or not.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2008.html" href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2008.html"&gt;http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujul2008.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Also refer to Metalink note id &lt;a href="http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=579278.1#DBAVAIL" target="_blank"&gt;579278.1&lt;/a&gt; for Oracle database and Fusion middleware products.&lt;/p&gt;  &lt;p&gt;The next critical patch update (CPU) would be coming in October 2008.&lt;/p&gt;  &lt;p&gt;Happy patching!&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7a89f806-c1dc-4b7d-9bb5-6c8e6204979d" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Oracle" rel="tag"&gt;Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CPU+2008" rel="tag"&gt;CPU 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/CPU" rel="tag"&gt;CPU&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Patch+Update" rel="tag"&gt;Patch Update&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-3359058511103787234?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5h1WQc72g6U:TRKH6_ShZDQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5h1WQc72g6U:TRKH6_ShZDQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=5h1WQc72g6U:TRKH6_ShZDQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=5h1WQc72g6U:TRKH6_ShZDQ:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/5h1WQc72g6U" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/5h1WQc72g6U/oracle-critical-patch-update-july-2008.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/07/oracle-critical-patch-update-july-2008.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-8918864496879829526</guid><pubDate>Mon, 30 Jun 2008 17:50:00 +0000</pubDate><atom:updated>2008-07-01T11:30:34.419+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">PL/SQL</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>Oracle 11g New Features – PL/SQL enhancements Part-I</title><description>&lt;p&gt;I was going through the enhancements made for PL/SQL in Oracle 11g and learn that there are quite a few. I am going to post on these new features in two parts. Here goes the first part.&lt;/p&gt;  &lt;p&gt;1. Usage of sequences in PL/SQL expressions&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Allows you to assign a sequence value in an expression that is, you do not need to use a SQL query to generate sequence value and assign it to variable. Here is an example :-&lt;/p&gt;    &lt;p&gt;SELECT seq_name.nextval INTO variable FROM dual; –&amp;gt; this was how we used to generate sequence values inside PL/SQL&lt;/p&gt;    &lt;p&gt;From 11g you can simply do this &lt;/p&gt;    &lt;p&gt;variable := seq_name.nextval; –&amp;gt; isn’t this great!&lt;/p&gt;    &lt;p&gt;Similarly “currval” can also be used in PL/SQL expression.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2. CONTINUE statement in PL/SQL&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;CONTINUE is the new loop control statement in 11g. We have used “EXIT” in order to exit out of the loop on certain condition, however CONTINUE would allow us to exit the current iteration in the loop and the control would be passed to next iteration. Here is a small example of find out out even numbers :-&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font size="2"&gt;BEGIN          &lt;br /&gt;&amp;#160;&amp;#160; FOR x IN 1 .. 10           &lt;br /&gt;&amp;#160;&amp;#160; LOOP           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IF MOD (x, 2) = 0           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; THEN           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DBMS_OUTPUT.put_line ('Even number');           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DBMS_OUTPUT.put_line (x);           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ELSE           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CONTINUE;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DBMS_OUTPUT.put_line (x);           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; END IF;           &lt;br /&gt;&amp;#160;&amp;#160; END LOOP;           &lt;br /&gt;END;           &lt;br /&gt;/&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;3. CONTINUE-WHEN statement&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;It’s purpose is to replace IF…THEN…CONTINUE. Lets re-write the above example using CONTINUE-WHEN :-&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font size="2"&gt;BEGIN          &lt;br /&gt;&amp;#160;&amp;#160; FOR x IN 1 .. 10           &lt;br /&gt;&amp;#160;&amp;#160; LOOP           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CONTINUE WHEN MOD (x, 2) = 1 ;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DBMS_OUTPUT.put_line ('Even number');           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DBMS_OUTPUT.put_line (x);&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160; END LOOP;           &lt;br /&gt;END;           &lt;br /&gt;/&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;4. New Datatypes – SIMPLE_INTEGER, SIMPLE_FLOAT and SIMPLE_DOUBLE&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;SIMPLE_INTEGER supports values ranging –2147483648 to 2147483648 and does not include null values which means it comes with a “NOT NULL” constraint. Apart from the fact that it’s never checked for nulls, overflow checking is also not necessary for SIMPLE_INTEGER. Due to these facts it gives better performance than PLS_INTEGER.&lt;/p&gt;    &lt;p&gt;SIMPLE_FLOAT and SIMPLE_DOUBLE are new subtypes of BINARY_FLOAT and BINARY_DOUBLE with “NOT NULL” feature.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;5. Changes to Regular expression built-ins&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The new REGEXP_COUNT built-in returns the number of times a pattern is found in an input string. The built-ins REGEXP_SUBSTR and REGEXP_INSTR have been improved to return the occurrence you want to find.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I will be covering a few more PL/SQL enhancements in my next post. Do post your comments if you have any suggestions.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:40b18b64-7266-4613-88d7-51b83a8d8673" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Oracle" rel="tag"&gt;Oracle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle+11g" rel="tag"&gt;Oracle 11g&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PL%2fSQL" rel="tag"&gt;PL/SQL&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Oracle+New+Features" rel="tag"&gt;Oracle New Features&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-8918864496879829526?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Ek2CKKI8a9M:IkhmGLRIlWs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Ek2CKKI8a9M:IkhmGLRIlWs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Ek2CKKI8a9M:IkhmGLRIlWs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Ek2CKKI8a9M:IkhmGLRIlWs:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/Ek2CKKI8a9M" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/Ek2CKKI8a9M/oracle-11g-new-features-plsql.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/06/oracle-11g-new-features-plsql.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-7901657348774571362</guid><pubDate>Fri, 23 May 2008 17:25:00 +0000</pubDate><atom:updated>2008-05-23T23:17:37.101+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">BlogCamp</category><category domain="http://www.blogger.com/atom/ns#">BlogCampDelhi</category><title>Capital of India hosts its first ever Blog Camp</title><description>&lt;span class="zemanta-img" style="margin: 1em; display: block; float: right;"&gt;&lt;a href="http://www.flickr.com/photos/9237707@N05/2499027128" target="_blank"&gt;&lt;img src="http://farm3.static.flickr.com/2100/2499027128_531a3a2e29_m.jpg" alt="India Gate, New Delhi" style="border: medium none ; display: block;" /&gt;&lt;/a&gt;&lt;span class="zemanta-img-attribution" style="margin: 1em 0pt 0pt; display: block;"&gt;&lt;/span&gt;&lt;/span&gt;I just learned that Delhi (Capital of India) is hosting its first ever Blog Camp. I was waiting for this event to happen but not sure if I can make it or not but I will make an attempt though.&lt;br /&gt;&lt;br /&gt;Hats off to its organizers!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When&lt;/span&gt;&lt;br /&gt;24th May 2008 9:30 am IST&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where&lt;/span&gt;&lt;br /&gt;Microsoft Corp&lt;br /&gt;5th Floor, Eros Towers&lt;br /&gt;Nehru Place, &lt;a href="http://en.wikipedia.org/wiki/New_Delhi" title="New Delhi" rel="wikipedia" target="_blank" class="zem_slink"&gt;New Delhi&lt;/a&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/?q=Nehru%20Place,New%20Delhi,India"&gt;Map&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More details at &lt;a href="http://www.barcamp.org/BlogCampDelhi"&gt;http://www.barcamp.org/BlogCampDelhi&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"&gt;&lt;a class="zemanta-pixie-a" href="http://www.zemanta.com/" title="Zemified by Zemanta"&gt;&lt;img class="zemanta-pixie-img" src="http://img.zemanta.com/pixie.png?x-id=988d8382-83c7-4498-b705-03253f96a10c" style="border: medium none ; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-7901657348774571362?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=pbrbXEB0vNg:Sz-185H8vRA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=pbrbXEB0vNg:Sz-185H8vRA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=pbrbXEB0vNg:Sz-185H8vRA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=pbrbXEB0vNg:Sz-185H8vRA:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/pbrbXEB0vNg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/pbrbXEB0vNg/capital-of-india-hosts-its-first-ever.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/capital-of-india-hosts-its-first-ever.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-1680348612126563873</guid><pubDate>Fri, 23 May 2008 13:30:00 +0000</pubDate><atom:updated>2008-05-23T19:32:04.508+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">Timestamp</category><title>Storing milliseconds in Oracle</title><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;I got an interesting question from someone in my team today - does timestamp column store the time in milliseconds? If not, is it possible? &lt;/p&gt;  &lt;p&gt;This is something I never bothered to think about so far...so I had to do some quick research...and eventually found that Oracle &lt;strong&gt;does not store&lt;/strong&gt; millisecond directly but it does store seconds with a fraction component which can help you to get the milliseconds. Not only millisecond rather you can get to microseconds too! In fact you can specify the number of digits that oracle stores in the fractional part of seconds i.e. the precision part for TIMESTAMP datatype. The default is platform dependant, on UNIX it defaults to 6 and on windows it defaults to 3. The valid range is [0-9]. &lt;/p&gt;  &lt;p&gt;Here is how the fractional component is shown, which can be used to derive milliseconds :&lt;span style="font-family:monospace;"&gt;-&lt;/span&gt;&lt;/p&gt;  &lt;table style="width: 612px; height: 139px;" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="610"&gt;         &lt;pre&gt;SIPRAS@orademo&amp;gt; select time_in_ms from test_tab;&lt;br /&gt;&lt;br /&gt;TIME_IN_MS&lt;br /&gt;------------------------------------------------&lt;br /&gt;23-MAY-08 01.29.59.008864 PM&lt;br /&gt;23-MAY-08 11.11.11.100000 AM&lt;/pre&gt;&lt;br /&gt;   &lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can insert milliseconds too! here is an example :-&lt;table style="width: 612px; height: 445px;" border="1"&gt;&lt;tbody&gt;&lt;br /&gt; &lt;tr&gt;&lt;br /&gt;   &lt;td&gt;&lt;br /&gt;     &lt;pre&gt;SIPRAS@orademo&amp;gt; create table test_tab (time_in_ms timestamp);&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SIPRAS@orademo&amp;gt; insert into test_tab values(systimestamp);&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SIPRAS@orademo&amp;gt; insert into test_tab values('23-MAY-2008 11:11:11.1');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SIPRAS@orademo&amp;gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;SIPRAS@orademo&amp;gt; select * from test_tab;&lt;br /&gt;&lt;br /&gt;TIME_IN_MS&lt;br /&gt;---------------------------------------------------------------------------&lt;br /&gt;23-MAY-08 01.29.59.008864 PM&lt;br /&gt;23-MAY-08 11.11.11.100000 AM&lt;/pre&gt;&lt;br /&gt;   &lt;/td&gt;&lt;br /&gt; &lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I was glad that Oracle does provide some mechanism to store milliseconds otherwise I would have been really surprised.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-1680348612126563873?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=0QU8CcKwGwY:yHJRc9dexM8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=0QU8CcKwGwY:yHJRc9dexM8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=0QU8CcKwGwY:yHJRc9dexM8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=0QU8CcKwGwY:yHJRc9dexM8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/0QU8CcKwGwY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/0QU8CcKwGwY/storing-milliseconds-in-oracle.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/storing-milliseconds-in-oracle.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-7819879306139232261</guid><pubDate>Wed, 21 May 2008 17:44:00 +0000</pubDate><atom:updated>2008-05-22T10:59:09.616+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">rename table</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Datapump</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>11g New Features: Data pump enhancements</title><description>I was going through the enhancements made to Oracle Data pump import/export utilities and a couple of them got my attention. To be very specific I liked the newly introduced remap_table and remap_data parameters most :-&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Remap_Data&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Remap the data of a column while importing; Basically you would use a function to do the remap. Particularly useful in numerous imports of production data. Now you can use this parameter to mask/convert data such as passwords, credit card details, email ids etc. Isn't that really cool?&lt;br /&gt;&lt;/blockquote&gt;&lt;ul&gt;&lt;li&gt;Remap_Table&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;Now its possible to rename a table while importing. Useful? Yes, I think so; In situations where you keep table exports or want to get data from production and compare with stage data during bug fixing etc. With this parameter you would not need to import the table into a different schema (coz the table already exists in stage database) to compare.  Indeed, another useful parameter.&lt;/blockquote&gt;Apart from the ones listed above, Oracle 11g has introduced a few other enhancement to data pump utilities which are :-&lt;br /&gt;&lt;br /&gt;1. data compression =&gt; compress data and metadata before writing to the dump files&lt;br /&gt;2. compress dump files =&gt; reduces dump file size by 10-15%&lt;br /&gt;3. encryption features =&gt; you can encrypt data during export and can also specify encryption algorithm. you can encrypt dump files too!&lt;br /&gt;4. data options =&gt; to ignore non-deferrable constraints&lt;br /&gt;5. reuse dumpfiles =&gt; overwrite dump files; earlier data pump export would return an error if a dump file with same name exists. so now it will overwrite any existing dump files. its both good and bad since you may have to move dump files to a different location if you have a need to retain them.&lt;br /&gt;6. transportable option for tables&lt;br /&gt;&lt;br /&gt;In all, quite a few enhancements to data pump utility though I still don't understand the "transportable" option for tables and where/how do I put it to use. Thoughts?&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-7819879306139232261?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nTOM_oBpryI:qvXc18CAMg4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nTOM_oBpryI:qvXc18CAMg4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nTOM_oBpryI:qvXc18CAMg4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nTOM_oBpryI:qvXc18CAMg4:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/nTOM_oBpryI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/nTOM_oBpryI/11g-new-features-data-pump-enhancements.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/11g-new-features-data-pump-enhancements.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-6174350625740012270</guid><pubDate>Wed, 21 May 2008 16:42:00 +0000</pubDate><atom:updated>2008-05-21T23:07:34.914+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">BLOB</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><category domain="http://www.blogger.com/atom/ns#">SQL*Plus</category><title>BLOB support in SQL*Plus</title><description>Oracle 11g SQL*Plus client comes with an improvement - it now supports &lt;a href="http://en.wikipedia.org/wiki/Binary_large_object" title="Binary large object" rel="wikipedia" target="_blank" class="zem_slink"&gt;BLOB&lt;/a&gt; column; Now you can verify blob column content using sqlplus though you may not still be able to make a sense out it if the content is of type image or pdf etc.&lt;br /&gt;&lt;br /&gt;Here is an example :-&lt;br /&gt;&lt;br /&gt;$ sqlplus sipras&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 11.1.0.6.0 - Production on Wed May 14 14:47:30 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2007, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Enter password:&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt; SIPRAS@11glab&gt; create table test (id number, pic blob);&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; insert into test values (1,'122334');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SIPRAS@11GLAB &gt; select * from test;&lt;br /&gt;&lt;br /&gt;  ID&lt;br /&gt;----------&lt;br /&gt;PIC&lt;br /&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;   1&lt;br /&gt;122334&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;- An example using image file being loaded into blob column&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt; create or replace directory blobdir as '/tmp';&lt;br /&gt;&lt;br /&gt;Directory created.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt;insert into test values(2, utl_raw.cast_to_raw('testing blob'));&lt;br /&gt;&lt;br /&gt;SIPRAS@11GLAB &gt; select * from test;&lt;br /&gt;&lt;br /&gt;  ID&lt;br /&gt;----------&lt;br /&gt;PIC&lt;br /&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;   1&lt;br /&gt;122334&lt;br /&gt;&lt;br /&gt;   2&lt;br /&gt;74657374696E6720626C6F62&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-- anonymous block to load the content of an image file to the blob&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt;DECLARE&lt;br /&gt;vblob    BLOB;&lt;br /&gt;vbfile   BFILE   := BFILENAME ('BLOBDIR', '10gocplogo.jpg');&lt;br /&gt;vamt     INTEGER;&lt;br /&gt;VSIZE    INTEGER;&lt;br /&gt;BEGIN&lt;br /&gt;SELECT     pic&lt;br /&gt;     INTO vblob&lt;br /&gt;     FROM TEST&lt;br /&gt;    WHERE ID = 1&lt;br /&gt;FOR UPDATE;&lt;br /&gt;&lt;br /&gt;DBMS_LOB.fileopen (vbfile);&lt;br /&gt;VSIZE := DBMS_LOB.getlength (vbfile);&lt;br /&gt;DBMS_OUTPUT.put_line ('Size of input file: ' || VSIZE);&lt;br /&gt;DBMS_LOB.loadfromfile (vblob, vbfile, VSIZE);&lt;br /&gt;DBMS_OUTPUT.put_line ('After loadfromfile');&lt;br /&gt;VSIZE := DBMS_LOB.getlength (vblob);&lt;br /&gt;DBMS_OUTPUT.put_line ('Size of blob: ' || VSIZE);&lt;br /&gt;EXCEPTION&lt;br /&gt;WHEN OTHERS&lt;br /&gt;THEN&lt;br /&gt;  DBMS_OUTPUT.put_line ('An error occurred');&lt;br /&gt;  DBMS_OUTPUT.put_line (SQLCODE || SQLERRM);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Size of input file: 15054&lt;br /&gt;After loadfromfile&lt;br /&gt;Size of blob: 15054&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed. &lt;/span&gt;&lt;/pre&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;br /&gt;SQL&gt; select * from test;&lt;br /&gt;&lt;br /&gt;  ID&lt;br /&gt;----------&lt;br /&gt;PIC&lt;br /&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;   1&lt;br /&gt;FFD8FFE000104A46494600010201012C012C0000FFED002C50686F746F73686F7020332E30003842494D03ED000000000010&lt;br /&gt;012C000000010001012C000000010001FFEE000E41646F62650064C00000&lt;br /&gt;&lt;br /&gt;   2&lt;br /&gt;74657374696E6720626C6F62&lt;br /&gt;&lt;br /&gt;2 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I know that you cannot interpret the values since it was an image file but still just wanted to show that you will not get "SP2-0678 Column or attribute type can not be displayed by SQL*Plus" error any more.&lt;br /&gt;&lt;br /&gt;However, if you try the same thing from 10g client it won't work and you will get the SP2-0678 error :-&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 14 13:21:11 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;Connected to:&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;br /&gt;SIPRAS@11glab&gt; truncate table test;&lt;br /&gt;Table truncated.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; insert into test values (1,'122334');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; select * from test;&lt;br /&gt;SP2-0678: Column or attribute type can not be displayed by SQL*Plus&lt;/span&gt;&lt;div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"&gt;&lt;a id="zemanta-pixie-a" href="http://www.zemanta.com/" title="Zemified by Zemanta"&gt;&lt;img id="zemanta-pixie-img" src="http://img.zemanta.com/pixie.png?x-id=11859c6a-336c-4758-8db5-51a4bc524481" style="border: medium none ; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-6174350625740012270?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=g2QQ61WtNeU:FiWc8CRNn4E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=g2QQ61WtNeU:FiWc8CRNn4E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=g2QQ61WtNeU:FiWc8CRNn4E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=g2QQ61WtNeU:FiWc8CRNn4E:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/g2QQ61WtNeU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/g2QQ61WtNeU/blob-support-in-sqlplus.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/blob-support-in-sqlplus.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-2319649187144114291</guid><pubDate>Tue, 13 May 2008 16:51:00 +0000</pubDate><atom:updated>2008-05-14T14:32:48.843+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Security</category><category domain="http://www.blogger.com/atom/ns#">Database Security</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><title>11g New Features - Tablespace Encryption</title><description>You might have heard about &lt;a href="http://download.oracle.com/docs/cd/B19306_01/network.102/b14268/asotrans.htm#sthref145"&gt;Transparent Data Encryption&lt;/a&gt; or TDE in 10g; In Oracle 11g, it has been taken to a next level with "tablespace encryption". So TDE which started at column level is  available at tablespace level.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How does it help?&lt;/span&gt;&lt;br /&gt;Now instead of encrypting the columns one-by-one in a table or for a set of tables, you can simply put all tables which need to be encrypted in a single tablespace and encrypt it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to do it?&lt;/span&gt;&lt;br /&gt;- Create and open the wallet&lt;br /&gt;- Create tablespace with encryption property&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;CREATE TABLESPACE encrypt_tbsp&lt;/span&gt;&lt;/span&gt;&lt;tablespace_name&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DATAFILE '/&lt;/span&gt;&lt;/span&gt;&lt;path&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;oradata/encrypt_tbsp01&lt;/span&gt;&lt;/span&gt;&lt;file_name&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;.dbf'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SIZE 100M&lt;/span&gt;&lt;/span&gt;&lt;n&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ENCRYPTION &lt;/span&gt;&lt;/span&gt;&lt;using algorithm=""&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;DEFAULT STORAGE(ENCRYPT);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Create tables in the encrypted tablespace&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to find if tablespace is encrypted or not?&lt;/span&gt;&lt;br /&gt;- A new column "ENCRYPTED" has been added to DBA_TABLESPACES which will indicate if the tablespace is encrypted or not.&lt;br /&gt;- Query a new dynamic performance view V$ENCRYPTED_TABLESPACES for encrypted tablespaces.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do I need to do anything special to access data from a encrypted tablespace?&lt;/span&gt;&lt;br /&gt;Not really, you continue to access data as usual BUT the wallet must be open. No modification whatsoever is required for the code/SQL to access data from encrypted tablespace.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is supported and not supported with encrypted tablespaces?&lt;/span&gt;&lt;br /&gt;Supported&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;- Move table back and forth between encrypted tablespace and non-encrypted tablespace&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;- Datapump is supported to export/import encrypted content/tablespaces&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;- Transportable tablespace is supported using datapump&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Not Supported&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;- Tablespace encryption cannot be used for SYSTEM, SYSAUX, UNDO and TEMP tablespaces&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;- Existing tablespace cannot be encrypted&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;- Traditional export/import utilities for encrypted content&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Though I have not been able to create an encrypted tablespace but still wanted to share this information. I will try to post my learnings from the exercise later. Hope this is useful. NJoy! encrypting and do let me know if I have missed out any key messaging herein.&lt;br /&gt;&lt;br /&gt;References:- &lt;/using&gt;&lt;/n&gt;&lt;/file_name&gt;&lt;/path&gt;&lt;/tablespace_name&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28530/asotrans.htm#g1011122"&gt;&lt;b&gt;Oracle® Database Advanced Security Administrator's Guide 11g Release 1  (11.1) &lt;/b&gt;Part Number B28530-02&lt;/a&gt;&lt;div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"&gt;&lt;a id="zemanta-pixie-a" href="http://www.zemanta.com/" title="Zemified by Zemanta"&gt;&lt;img id="zemanta-pixie-img" src="http://img.zemanta.com/pixie.png?x-id=d87faa90-ebb0-4fda-8a55-9494e602d69f" style="border: medium none ; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-2319649187144114291?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=AdimFEniD7w:6Gr-syp30S8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=AdimFEniD7w:6Gr-syp30S8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=AdimFEniD7w:6Gr-syp30S8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=AdimFEniD7w:6Gr-syp30S8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/AdimFEniD7w" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/AdimFEniD7w/11g-new-features-tablespace-encryption.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/11g-new-features-tablespace-encryption.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-3853513568693895838</guid><pubDate>Thu, 08 May 2008 17:27:00 +0000</pubDate><atom:updated>2008-05-09T11:50:56.587+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Kerberos</category><category domain="http://www.blogger.com/atom/ns#">Authentication</category><category domain="http://www.blogger.com/atom/ns#">Security</category><category domain="http://www.blogger.com/atom/ns#">PKI</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>11g New Feature - SYSDBA authentication gets stronger</title><description>The SYSDBA &amp;amp; SYSOPER authentication gets stronger from 11g; Oracle now extended support for  &lt;a href="http://en.wikipedia.org/wiki/Public_key_infrastructure" title="Public key infrastructure" rel="wikipedia" target="_blank" class="zem_slink"&gt;PKI&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Kerberos_%28protocol%29" title="Kerberos (protocol)" rel="wikipedia" target="_blank" class="zem_slink"&gt;Kerberos&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/RADIUS" title="RADIUS" rel="wikipedia" target="_blank" class="zem_slink"&gt;Radius&lt;/a&gt; to SYSDBA and SYSOPER connections. Earlier, this was limited to all users except SYSDBA and SYSOPER. A new initialization parameter LDAP_DIRECTORY_SYSAUTH has been introduced which needs to be set along with LDAP_DIRECTORY_ACCESS for stronger SYSDBA authentication.&lt;br /&gt;&lt;br /&gt;You login as SYSDBA the following way if you configure Directory authentication (OID) :-&lt;br /&gt;&lt;br /&gt;CONNECT user@11glab AS SYSDBA&lt;br /&gt;Enter password: password&lt;br /&gt;&lt;br /&gt;If you have used Kerberos or SSL then connect as SYSDBA the following way :-&lt;br /&gt;&lt;br /&gt;CONNECT /@11glab AS SYSDBA&lt;br /&gt;&lt;br /&gt;References:&lt;b&gt; &lt;a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authentication.htm#DBSEG33331"&gt;Oracle® Database Security Guide 11g Release 1 (11.1) &lt;/a&gt;&lt;/b&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authentication.htm#DBSEG33331"&gt;Part Number  B28531-04&lt;/a&gt;&lt;div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"&gt;&lt;a id="zemanta-pixie-a" href="http://www.zemanta.com/" title="Zemified by Zemanta"&gt;&lt;img id="zemanta-pixie-img" src="http://img.zemanta.com/pixie.png?x-id=582c985c-2c4c-4c52-a529-afb1588fae81" style="border: medium none ; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-3853513568693895838?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=05b0-OMxt4M:7UV0iNOrHyM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=05b0-OMxt4M:7UV0iNOrHyM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=05b0-OMxt4M:7UV0iNOrHyM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=05b0-OMxt4M:7UV0iNOrHyM:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/05b0-OMxt4M" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/05b0-OMxt4M/11g-new-feature-sysdba-authentication.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/05/11g-new-feature-sysdba-authentication.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-1118000056770714127</guid><pubDate>Sun, 27 Apr 2008 05:27:00 +0000</pubDate><atom:updated>2008-04-27T13:38:45.514+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Metalink</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">Support</category><title>Oracle Metalink getting a new look</title><description>Oracle metalink is getting a facelift. A lot of flash has been used. Here is the cool new look :-&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DduStVVG7Ik/SBQzuHc1VHI/AAAAAAAAC5M/nM_K4AYVTNI/s1600-h/NewLookMetalink.jpg"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_DduStVVG7Ik/SBQzuHc1VHI/AAAAAAAAC5M/nM_K4AYVTNI/s400/NewLookMetalink.jpg" alt="" id="BLOGGER_PHOTO_ID_5193833137632007282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is yet to replace the existing interface though You can still see the new look via https://csm.oracle.com or Click "Software Configuration Manager" tab on https://metalink.oracle.com.&lt;br /&gt;&lt;br /&gt;&lt;div id="zemanta-pixie" style="margin: 5px 0pt; width: 100%;"&gt;&lt;a id="zemanta-pixie-a" href="http://www.zemanta.com/" title="Zemified by Zemanta"&gt;&lt;img id="zemanta-pixie-img" src="http://img.zemanta.com/pixie.png?x-id=17dd3ce9-3c4e-45a5-9773-e35304dc507c" style="border: medium none ; float: right;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-1118000056770714127?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=oH12VOnFkpo:G7fNKJiH-Rs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=oH12VOnFkpo:G7fNKJiH-Rs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=oH12VOnFkpo:G7fNKJiH-Rs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=oH12VOnFkpo:G7fNKJiH-Rs:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/oH12VOnFkpo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/oH12VOnFkpo/oracle-metalink-getting-new-look.html</link><author>noreply@blogger.com (My Thoughts)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_DduStVVG7Ik/SBQzuHc1VHI/AAAAAAAAC5M/nM_K4AYVTNI/s72-c/NewLookMetalink.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/oracle-metalink-getting-new-look.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-4052977133879372074</guid><pubDate>Thu, 17 Apr 2008 09:21:00 +0000</pubDate><atom:updated>2008-04-17T15:11:16.058+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Critical Patch</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">Patch</category><title>Oracle Critical Patch Update April 2008</title><description>Oracle has released critical patch update for Apr 2008. Please review the following URL to see if the product you are using requires the patch or not.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2008.html"&gt;http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2008.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-4052977133879372074?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=wwcwiWBtNiY:-r5Qz7wnjv8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=wwcwiWBtNiY:-r5Qz7wnjv8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=wwcwiWBtNiY:-r5Qz7wnjv8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=wwcwiWBtNiY:-r5Qz7wnjv8:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/wwcwiWBtNiY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/wwcwiWBtNiY/oracle-critical-patch-update-april-2008.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/oracle-critical-patch-update-april-2008.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-8559213169828645365</guid><pubDate>Thu, 10 Apr 2008 06:02:00 +0000</pubDate><atom:updated>2008-04-10T23:56:48.544+05:30</atom:updated><title>11g New Features - Automatic Memory Management</title><description>Memory management in Oracle database is getting better rather I would say is becoming easier now. There was a time when each memory component of the Oracle had to be defined using parameters. Oracle first introduced dynamic memory resizing in 9i, moved to Automatic Shared memory management in 10g reducing the number of major parameters to size memory to 2 - SGA was controlled using a single parameter (SGA_TARGET) and PGA portion controlled by PGA_AGGREGATE_TARGET. Now oracle has gone one step ahead - 11g gives you the option of defining only one parameter "MEMORY_TARGET" to control both SGA and PGA. Now Oracle can dynamically exchange memory between SGA and PGA.  Isn't that great...&lt;br /&gt;&lt;br /&gt;Starting 11g, Oracle by default uses this new memory management feature known as "Automatic Memory Management". Now you should not be worried about whether PGA got over-allocated or has SGA got over-allocated; You can simply set MEMORY_TARGET and relax!!!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@11glab&gt; show parameter memory&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- -------&lt;br /&gt;hi_shared_memory_address             integer     0&lt;br /&gt;memory_max_target                    big integer 608M&lt;br /&gt;memory_target                        big integer 608M&lt;br /&gt;shared_memory_address                integer     0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can also set maximum target too with the help of "MEMORY_MAX_TARGET" as was the case with "SGA_MAX_SIZE" . Some new (useful) views in 11g pertaining to automatic memory management :-&lt;br /&gt;&lt;br /&gt;V$MEMORY_DYNAMIC_COMPONENTS -&gt; find out how much has been allocated to each component along with minimum and maximum values it touched&lt;br /&gt;V$MEMORY_TARGET_ADVICE -&gt; will give you tuning advice for the MEMORY_TARGET&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@11glab&gt; SELECT component, current_size, min_size, max_size, last_oper_type  FROM v$memory_dynamic_components;&lt;br /&gt;&lt;br /&gt;COMPONENT                      CURRENT_SIZE   MIN_SIZE   MAX_SIZE LAST_OPER_TYP&lt;br /&gt;------------------------------ ------------ ---------- ---------- -------------&lt;br /&gt;shared pool                       150994944   71303168  150994944 GROW&lt;br /&gt;large pool                          4194304    4194304    4194304 STATIC&lt;br /&gt;java pool                          12582912    4194304   12582912 GROW&lt;br /&gt;streams pool                              0          0          0 STATIC&lt;br /&gt;SGA Target                        381681664  381681664  381681664 STATIC&lt;br /&gt;DEFAULT buffer cache              209715200  209715200  297795584 SHRINK&lt;br /&gt;KEEP buffer cache                         0          0          0 STATIC&lt;br /&gt;RECYCLE buffer cache                      0          0          0 STATIC&lt;br /&gt;DEFAULT 2K buffer cache                   0          0          0 STATIC&lt;br /&gt;DEFAULT 4K buffer cache                   0          0          0 STATIC&lt;br /&gt;DEFAULT 8K buffer cache                   0          0          0 STATIC&lt;br /&gt;DEFAULT 16K buffer cache                  0          0          0 STATIC&lt;br /&gt;DEFAULT 32K buffer cache                  0          0          0 STATIC&lt;br /&gt;Shared IO Pool                            0          0          0 STATIC&lt;br /&gt;PGA Target                         16777216   16777216   16777216 STATIC&lt;br /&gt;ASM Buffer Cache                          0          0          0 STATIC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MEMORY_TARGET is a dynamic parameter whereas MEMORY_MAX_TARGET is not. If you set SGA_TARGET and PGA_AGGREGATE_TARGET with automatic memory management and they are less than MEMORY_TARGET then those values will act as the minimum values for SGA and PGA respectively. In case you set it to more than MEMORY_TARGET, then you will get the error "ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more information".&lt;br /&gt;&lt;br /&gt;Reference :- &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/memory003.htm"&gt;&lt;span style="font-weight: bold;"&gt;Oracle® Database Administrator's Guide 11g Release 1 (11.1)&lt;/span&gt; Part Number B28310-04&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-8559213169828645365?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Oi6SYEFXOkg:52KUq9fszXc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Oi6SYEFXOkg:52KUq9fszXc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Oi6SYEFXOkg:52KUq9fszXc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Oi6SYEFXOkg:52KUq9fszXc:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/Oi6SYEFXOkg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/Oi6SYEFXOkg/11g-new-features-automatic-memory.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/11g-new-features-automatic-memory.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-9220690513514072887</guid><pubDate>Thu, 10 Apr 2008 05:23:00 +0000</pubDate><atom:updated>2008-04-10T11:31:00.181+05:30</atom:updated><title>Un-documented and Un-used privilege</title><description>A recent question on &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=640793&amp;amp;tstart=0"&gt;Oracle Forums&lt;/a&gt; about a privilege caught my attention (got a few others interested too) and I started looking for an answer...And in the end it turned out to be un-documented and un-utilized privilege. The privilege in question is "UNDER ANY TABLE". The  Privilege does exists in the database; I checked in the database (DBA_SYS_PRIVS and ROLE_SYS_PRIVS) but its not documented anywhere. I searched 9i, 10g and 11g documentation but no luck.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SIPRAS@orademo&gt; select * from ROLE_SYS_PRIVS where privilege like 'UNDER%';&lt;br /&gt;&lt;br /&gt;ROLE                           PRIVILEGE                                ADM&lt;br /&gt;------------------------------ ---------------------------------------- ---&lt;br /&gt;DBA                            UNDER ANY TYPE                           YES&lt;br /&gt;DBA                            UNDER ANY TABLE                          YES&lt;br /&gt;DBA                            UNDER ANY VIEW                           YES&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The other 2 privileges "UNDER ANY VIEW" and "UNDER ANY TYPE" are documented. Here is the &lt;a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm#BGEJEBCJ"&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;One of the respondent mentioned that :- In 2002 someone else asked this question on the Metalink forums and support replied, "This privilege is currently not used today. It was added for future functionality." May be oracle thought of it but did not use it.&lt;br /&gt;&lt;br /&gt;My search lead me to "IBM Informix Dynamix Server". They have a UNDER privilege for TABLE and here is an excerpt from the documentation -&lt;br /&gt;&lt;h4 style="color: rgb(0, 0, 153); font-style: italic;" id="sii-06-28605"&gt;&lt;/h4&gt;&lt;blockquote&gt;&lt;h4 style="color: rgb(0, 0, 153); font-style: italic;" id="sii-06-28605"&gt;Under Privileges for Typed Tables (IDS)&lt;/h4&gt;  &lt;p style="color: rgb(0, 0, 153); font-style: italic;"&gt;You can grant or revoke the Under privilege to control whether users can use a typed&lt;a id="idx469" name="idx469"&gt;&lt;/a&gt; table as a supertable in an inheritance&lt;a id="idx470" name="idx470"&gt;&lt;/a&gt; hierarchy. The Under privilege is granted to PUBLIC automatically when a table is created (except in &lt;span&gt;ANSI&lt;/span&gt;-compliant databases). In an &lt;span&gt;ANSI&lt;/span&gt;-compliant database, the Under privilege on a table is granted to the owner of the table. To restrict which users can define a table as a supertable in an inheritance hierarchy, you must first revoke the Under privilege for PUBLIC and then specify the users to whom you want to grant the Under privilege. For example, to specify that only a limited group of users can use the &lt;strong&gt;employee &lt;/strong&gt;table as a supertable in an inheritance hierarchy, you might execute the following statements:&lt;/p&gt; &lt;pre style="color: rgb(0, 0, 153); font-style: italic;" class="xmp"&gt;REVOKE UNDER ON employee&lt;br /&gt;FROM PUBLIC;&lt;br /&gt;&lt;br /&gt;GRANT UNDER ON employee&lt;br /&gt;TO johns, cmiles, paulz&lt;/pre&gt;&lt;/blockquote&gt;Sounds like an ANSI compliant feature and something to do with "User-defined types" and "Nested tables" in Oracle; May be Oracle wanted to use for something similar but did not implement it hence the privilege is still sticking around without any use...or May be the "UNDER ANY TYPE" is sufficing the requirement but the "UNDER ANY TABLE" has not be taken out...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-9220690513514072887?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=cg9Wgoo89wQ:ySTTQpjXe98:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=cg9Wgoo89wQ:ySTTQpjXe98:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=cg9Wgoo89wQ:ySTTQpjXe98:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=cg9Wgoo89wQ:ySTTQpjXe98:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/cg9Wgoo89wQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/cg9Wgoo89wQ/un-documented-and-un-used-privilege.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/un-documented-and-un-used-privilege.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-8952885457970855646</guid><pubDate>Wed, 09 Apr 2008 12:33:00 +0000</pubDate><atom:updated>2008-04-10T16:12:01.620+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">RAC Expert</category><category domain="http://www.blogger.com/atom/ns#">Personal</category><category domain="http://www.blogger.com/atom/ns#">10g RAC</category><title>yaahoo....10g RAC expert...</title><description>....I have something to cheer about.....having cleared 10g RAC Expert exam today....feeling relieved and proud too :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-8952885457970855646?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nvC_bKKMlT8:fpsn_ELDyZI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nvC_bKKMlT8:fpsn_ELDyZI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=nvC_bKKMlT8:fpsn_ELDyZI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=nvC_bKKMlT8:fpsn_ELDyZI:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/nvC_bKKMlT8" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/nvC_bKKMlT8/yaahoo10g-rac-expert.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/yaahoo10g-rac-expert.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-1249134747535123880</guid><pubDate>Mon, 07 Apr 2008 12:30:00 +0000</pubDate><atom:updated>2008-04-07T18:54:41.115+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">ADR</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><category domain="http://www.blogger.com/atom/ns#">Database Administration</category><title>11g New Features - Incident packaging using "adrci" utility</title><description>As an Oracle DBA, you interface with Oracle support many a times; specially when you are faced with some critical errors such ORA-600 or ORA-7445 etc. And each time you interact with Oracle support, you have to provide quite few logs (alert log, trace files etc.) so that support can assist you in resolving the problem. At times the SR goes back and forth just to additional  information - such as providing additional trace files etc. since you may have missed it earlier.&lt;br /&gt;&lt;br /&gt;But starting 11g, your life will become a little easy thanks to a new utility called "ADRCI" - ADR Command Interpreter. Now you don't have to dig around trace files and other files to determine the files that Support would require for analysis. You can simply use "adrci" to package all the files that would be required for analysis with a few simple commands.&lt;br /&gt;&lt;br /&gt;Apart from the packaging ability, one can use adrci to  :-&lt;pre&gt;a. view alert log (show alert)&lt;br /&gt;b. view other trace files&lt;br /&gt;c. view health check reports&lt;/pre&gt;Viewing alert log and trace files is easy but as I said, the best use of this utility is to package incident / problems encountered so that can the packaged file can be easily be uploaded to Oracle support when needed.  You do not have to search through trace files and other files to determine the files that are required for analysis.&lt;br /&gt;&lt;br /&gt;Here is a quick demonstration of how useful this utility can be when you have to upload files ( required to analyze a specific problem) to Oracle support :-&lt;br /&gt;&lt;br /&gt;1. Launch adrci&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;$ adrci&lt;br /&gt;&lt;br /&gt;ADRCI: Release 11.1.0.6.0 - Beta on Mon Apr 7 16:11:06 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2007, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;ADR base = "/app/oracle"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Check the incidents reported in alert log&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;adrci&gt; show incident&lt;br /&gt;&lt;br /&gt;ADR Home = /app/oracle/diag/rdbms/11GLAB:&lt;br /&gt;*************************************************************************&lt;br /&gt;INCIDENT_ID          PROBLEM_KEY                                                 CREATE_TIME&lt;br /&gt;-------------------- ----------------------------------------------------------- ----------------------------------------&lt;br /&gt;21746                ORA 4031                                                    2008-04-07 16:57:11.039525 +05:30&lt;br /&gt;21745                ORA 4031                                                    2008-04-07 16:57:00.356082 +05:30&lt;br /&gt;21715                ORA 4031                                                    2008-04-07 16:57:16.796655 +05:30&lt;br /&gt;21714                ORA 4031                                                    2008-04-07 16:57:07.883365 +05:30&lt;br /&gt;21713                ORA 4031                                                    2008-04-07 16:57:00.694116 +05:30&lt;br /&gt;5 rows fetched&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Identify the specific incident for which you want to create a package so that you can upload it to Oracle support&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;adrci&gt; IPS CREATE PACKAGE INCIDENT 21713&lt;br /&gt;Created package 2 based on incident id 21713, correlation level typical&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This creates a pacakge of the incident 21713 in "incpkg" directory; you can then add diagnostic data to the package.&lt;br /&gt;&lt;br /&gt;4. Finally generate the package for the incident, which then can be uploaded to metalink while seeking support from Oracle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;adrci&gt; ips generate package 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Generated package 3 in file /app/oracle/product/11.1.0/db_1/dbs/ORA4031_20080407170431_COM_1.zip, mode complete&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;5. As reported above a zip file has been created with all relevant logs. Now you can upload this zip file to Oracle support and seek their help in resolving your problem.&lt;br /&gt;&lt;br /&gt;You can also view the information generated in "incpkg" directory&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;$cd /app/oracle/diag/rdbms/11GLAB/incpkg/pkg_3/seq_1&lt;br /&gt;$ ls -ltr&lt;br /&gt;-rw-r-----  1 oracle oinstall   499 Apr  7 17:14 metadata.xml&lt;br /&gt;-rw-r-----  1 oracle oinstall 21968 Apr  7 17:14 manifest_3_1.xml&lt;br /&gt;-rw-r-----  1 oracle oinstall 26270 Apr  7 17:14 manifest_3_1.txt&lt;br /&gt;-rw-r-----  1 oracle oinstall 20064 Apr  7 17:14 manifest_3_1.html&lt;br /&gt;drwxr-xr-x  2 oracle oinstall  4096 Apr  7 17:14 export&lt;br /&gt;drwxr-xr-x  2 oracle oinstall  4096 Apr  7 17:14 crs&lt;br /&gt;-rw-r-----  1 oracle oinstall 62789 Apr  7 17:14 config.xml&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We used to achieve the same earlier by running some scripts or collecting the logs/trace files manually. But with adrci, this task is pretty simplified; I think this is surely going to reduce the time to diagnose and resolve any problem.&lt;br /&gt;&lt;br /&gt;References :-&lt;b&gt; &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/diag001.htm"&gt;Oracle® Database Administrator's Guide 11g Release 1 (11.1) &lt;/a&gt;&lt;/b&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/diag001.htm"&gt; Part Number B28310-04&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28319/adrci.htm#SUTIL700"&gt;&lt;span style="font-weight: bold;"&gt;Oracle® Database Utilities 11g Release 1 (11.1)&lt;/span&gt; Part Number B28319-02 - ADRCI: ADR Command Interpreter&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-1249134747535123880?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=OrqONJ2mp-c:spoJw2gvVCQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=OrqONJ2mp-c:spoJw2gvVCQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=OrqONJ2mp-c:spoJw2gvVCQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=OrqONJ2mp-c:spoJw2gvVCQ:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/OrqONJ2mp-c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/OrqONJ2mp-c/11g-new-features-incident-packaging.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/04/11g-new-features-incident-packaging.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-4112695372646226862</guid><pubDate>Fri, 04 Apr 2008 05:47:00 +0000</pubDate><atom:updated>2008-04-05T07:52:08.035+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">ADR</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><category domain="http://www.blogger.com/atom/ns#">Database Administration</category><title>11g  New Features - ADR</title><description>This is a big change in 11g. Now you will not find "alertSID.log" in it's familiar location i.e admin/SID/bdump. It has now got a new location; In fact, Oracle has standardized to store all logs/trace at a single base directory instead of scattering them all over. It's called "Automatic Diagnostic Repository" or "ADR".  The parameters "background_dump_dest" and "user_dump_dest" are now deprecated and being replaced by a new parameter called "DIAGNOSTIC_DEST". What more - the alert.log is also available in an xml; Don't worry the text version will still be available.&lt;br /&gt;&lt;br /&gt;So from now onwards, you should use "diagnostic_dest" parameter to specify the destination for logs/traces. Oracle creates a sub-directory called "diag" beneath "diagnostic_dest" directory where it will keep all logs/traces. When I say all logs, it is all logs/trace files for all its products/tools including ASM, CRS, Listener etc. This is very great move specifically when CRS stack etc are used; the CRS logs are scattered all over the place.&lt;br /&gt;&lt;br /&gt;Here is the new directory structure where you can find all log and trace files :-&lt;br /&gt;&lt;br /&gt;"diagnostic_dest\diag\product_name\instance_name\"&lt;br /&gt;&lt;br /&gt;Note: I have just expanded and explained key folders in rdbms sub-directory which stores all log and trace files for Oracle database.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;diag&lt;span style="font-weight: bold;"&gt;&lt;br /&gt; rdbms&lt;br /&gt;     SID&lt;br /&gt;         sweep --&gt;&lt;br /&gt;         stage --&gt;&lt;br /&gt;         incpkg --&gt;&lt;br /&gt;         incident --&gt; incident dump files&lt;br /&gt;         hm --&gt; health monitor files&lt;br /&gt;         cdump --&gt; core_dump_dest&lt;br /&gt;         metadata --&gt; incident metadata files&lt;br /&gt;         lck --&gt;&lt;br /&gt;         ir --&gt;&lt;br /&gt;         alert --&gt; location for the alert log in xml format&lt;br /&gt;         trace --&gt; location for all trace files and text version of alert.log &lt;/span&gt;&lt;br /&gt; ofm&lt;br /&gt; netcman&lt;br /&gt; lsnrctl&lt;br /&gt; diagtool&lt;br /&gt; crs&lt;br /&gt; asm&lt;br /&gt; tnslsnr&lt;br /&gt; clients&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Some other major improvements are :-&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Now each critical errors such as ORA-600, ORA-7445 etc. are treated as incidents. Tags the logs with incident id's; Incident alerts are sent to EM and makes entry into alert.log as usual.&lt;/li&gt;&lt;li&gt;Incident Packaging service :- IPS enables you to automatically and easily gather the      diagnostic data—traces, dumps, health check reports, and more—pertaining to a critical error and package the data into a zip file for transmission to Oracle Support. Awesome indeed.&lt;/li&gt;&lt;li&gt;Automatic capture of diagnostic data upon failure&lt;/li&gt;&lt;li&gt;Health checks on detecting a critical error&lt;/li&gt;&lt;li&gt;V$DIAG_INFO is a new view which lists all ADR locations for the database instance&lt;/li&gt;&lt;li&gt;There is a new column called "TRACEFILE" in V$PROCESS which specifies the trace file name for each process.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;Above all, 11g comes with a new command line utility called "adrci" to view alert/trace files, package incident trace files so that uploading to oracle support is easy, view health check reports etc. I will explain about this tool in my next post. So all said, the ADR is a great improvement, a great step forward to standardize diagnostic information.&lt;br /&gt;&lt;br /&gt;References :-&lt;b&gt; &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/diag001.htm"&gt;Oracle® Database Administrator's Guide 11g Release 1 (11.1) &lt;/a&gt;&lt;/b&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/diag001.htm"&gt; Part Number B28310-04&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-4112695372646226862?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Vjx1zIDzBcI:4FFMM0uInYM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Vjx1zIDzBcI:4FFMM0uInYM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=Vjx1zIDzBcI:4FFMM0uInYM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=Vjx1zIDzBcI:4FFMM0uInYM:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/Vjx1zIDzBcI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/Vjx1zIDzBcI/11g-new-features-adr.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/11g-new-features-adr.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-3582005876179397663</guid><pubDate>Fri, 28 Mar 2008 08:24:00 +0000</pubDate><atom:updated>2008-04-01T13:40:19.180+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Partitioning</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><category domain="http://www.blogger.com/atom/ns#">Database Administration</category><title>11g New Features - Virtual column</title><description>The other day while going through Oracle forums, I found an interesting question on partitioning. The gentlemen had a problem which most of us face; He wanted to partition a table based on year and month but both columns were being stored in CHAR datatype; here is the table structure&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;CREATE TABLE SALES&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;YEARS              CHAR(4 BYTE),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;MONTH             CHAR(2 BYTE),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The solution, I gave, was to add a new column just for the partition purpose. In fact thats how it used to happen till 10g. But 11g comes with an interesting feature; you can now create a virtual column. I have used the same table structure to explain how virtual column works in 11g. Basically virtual column is nothing but a derived column; you do not insert data into it rather it derives its value based on the values inputed in some other columns or combination of columns. It even gives you the capability to write a small piece of code to generate the value.&lt;br /&gt;&lt;br /&gt;Create the table with a virtual column to partition the data into 4 partitions Q1, Q2, Q3 and Q4.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;CREATE TABLE SALES&lt;br /&gt;(&lt;br /&gt;YEARS VARCHAR2(4),&lt;br /&gt;MONTH VARCHAR2(2),&lt;br /&gt;PART_COL&lt;br /&gt;VARCHAR2(6)&lt;br /&gt;generated always as&lt;br /&gt;(&lt;br /&gt;  case&lt;br /&gt;     when MONTH in ('01','02','03')&lt;br /&gt;        then 'Q1'&lt;br /&gt;     when MONTH in ('04','05','06')&lt;br /&gt;        then 'Q2'&lt;br /&gt;     when MONTH in ('07','08','09')&lt;br /&gt;        then 'Q3'&lt;br /&gt;     when MONTH in ('10','11','12')&lt;br /&gt;        then 'Q4'&lt;br /&gt;  end&lt;br /&gt;) virtual&lt;br /&gt;)&lt;br /&gt;partition by list (PART_COL)&lt;br /&gt;(&lt;br /&gt;partition p_q1 values ('Q1'),&lt;br /&gt;partition p_q2 values ('Q2'),&lt;br /&gt;partition p_q3 values ('Q3'),&lt;br /&gt;partition p_q4 values ('Q4')&lt;br /&gt;);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Insert data into the table&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;insert into sales (years,month) values ('2007','01');&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;insert into sales (years,month) values ('2007','01');&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;insert into sales (years,month) values ('2007','02');&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;insert into sales (years,month) values ('2007','02');&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;insert into sales (years,month) values ('2007','12');&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;insert into sales (years,month) values ('2007','09');&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;insert into sales (years,month) values ('2007','05');&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;insert into sales (years,month) values ('2007','07');&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;insert into sales (years,month) values ('2007','11');&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; commit;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now select from the table and see how the data has gone into different partitions&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; select * from sales;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;YEAR MO PA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;---- -- --&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 01 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 02 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 02 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 01 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 05 Q2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 09 Q3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 07 Q3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 12 Q4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 11 Q4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;9 rows selected.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; select * from sales partition (p_q1);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;YEAR MO PA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;---- -- --&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 01 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 02 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 02 Q1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 01 Q1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; select * from sales partition (p_q2);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;YEAR MO PA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;---- -- --&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 05 Q2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; select * from sales partition (p_q3);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;YEAR MO PA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;---- -- --&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 09 Q3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 07 Q3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SIPRAS@11glab&gt; select * from sales partition (p_q4);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;YEAR MO PA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;---- -- --&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 12 Q4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2007 11 Q4&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;According to me, Virtual column is a real powerful addition. In situation like this I need not force the development team to insert data into the new column that will be used for partition or write a trigger for it. Simply creating virtual column and partitioning it would do wonders. Moreover it's use not limited only for partitions; it can be used in general e.g. wherever we use a  derived columns which gets it value through a trigger or a stored procedures or a default value (only to be updated by a piece of code later).&lt;br /&gt;&lt;br /&gt;Reference :- &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b32024/part_admin.htm#BAJCHBAJ"&gt;&lt;b&gt;Oracle Database VLDB and Partitioning Guide 11g Release 1 (11.1)&lt;/b&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-3582005876179397663?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=u27AAKiYbj0:a9gbfBD7HTU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=u27AAKiYbj0:a9gbfBD7HTU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=u27AAKiYbj0:a9gbfBD7HTU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=u27AAKiYbj0:a9gbfBD7HTU:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/u27AAKiYbj0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/u27AAKiYbj0/11g-new-features-virtual-column.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/11g-new-features-virtual-column.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-4392659119617919402</guid><pubDate>Wed, 26 Mar 2008 05:09:00 +0000</pubDate><atom:updated>2008-03-26T12:17:28.398+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Security</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Case-sensitive passwords</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>11g New Features - Case-sensitive passwords</title><description>Probably a long overdue feature...though one could have implemented the same using password verify function in earlier releases but it was necessitated to be in compliance with industry wide Data security standards. Starting 11g case sensitive passwords automatically enforced.&lt;br /&gt;&lt;br /&gt;Here is how to implement case-sensitive passwords feature :-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt; create user TESTUSR identified by TESTUSR;&lt;br /&gt;&lt;br /&gt;User created.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; grant create session to TESTUSR;&lt;br /&gt;&lt;br /&gt;Grant succeeded.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; conn testusr/testusr@11glab&lt;br /&gt;ERROR:&lt;br /&gt;ORA-01017: invalid username/password; logon denied&lt;br /&gt;&lt;br /&gt;Warning: You are no longer connected to ORACLE.&lt;br /&gt;@&gt; conn testusr/TESTUSR@11glab&lt;br /&gt;Connected.&lt;br /&gt;TESTUSR@11glab&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;See the difference - since the user was created with an upper case password, it did not allow lower case password while connecting to "TESTUSR". Had it been 10g, you would easily got connected. So now, "TESTUSR", "testusr" and "TestUsr" are different passwords.&lt;br /&gt;&lt;br /&gt;However, Oracle has also provided an initialization parameter to disable case-sensitive passwords i.e. going back to old way of 10g and prior versions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt; show parameter SEC_CASE_SENSITIVE_LOGON&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ---------&lt;br /&gt;sec_case_sensitive_logon             boolean     TRUE&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; ALTER SYSTEM set SEC_CASE_SENSITIVE_LOGON=FALSE scope=both;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SIPRAS@11glab&gt; show parameter SEC_CASE_SENSITIVE_LOGON&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;sec_case_sensitive_logon             boolean     FALSE&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;And now see the difference...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;span style="font-size:85%;"&gt;SIPRAS@11glab&gt; conn testusr/testusr@11glab&lt;br /&gt;Connected.&lt;br /&gt;&lt;br /&gt;TESTUSR@11glab&gt; conn testusr/TESTUSR@11glab&lt;br /&gt;Connected.&lt;br /&gt;TESTUSR@11glab&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So it would connect irrespective of case. A new column "PASSWORD_VERSIONS" has been added to "DBA_USERS" view to indicate database version in which the password was created or changed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SIPRAS@11glab&gt; select username,PASSWORD_VERSIONS from dba_users;&lt;br /&gt;&lt;br /&gt;USERNAME                       PASSWORD&lt;br /&gt;------------------------------ --------&lt;br /&gt;.....&lt;br /&gt;SCOTT                          10G 11G&lt;br /&gt;TESTUSR                        10G 11G&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;However, I am not able to find answer as to why a user created in 11g has both "10G" and "11G" in PASSWORD_VERSIONS column. According to the documentation if a database was migrated from 10g then it would have both "10G", "11G" in it which is not true in my case..&lt;br /&gt;&lt;br /&gt;One can also enforce case-sensitive passwords for SYSDBA users. Use "ignorecase" argument while creating password files using "ORAPWD" utility. Default values for "ignorecase" is "n", and you can set it to "y" to enable case-sensitive passwords.&lt;br /&gt;&lt;br /&gt;e.g. &lt;span style="font-style: italic;font-size:85%;" &gt;$orapwd file=orapw entries=5 ignorecase=y&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So if you plan to upgrade to 11g then make sure you change passwords to adhere to case-sensitivity and ensure that you change your scripts which have inconsistent password cases too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Reference &lt;/span&gt;: &lt;a href="http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authentication.htm"&gt;Oracle® Database Security Guide 11g Release 1 (11.1) Part Number B28531-04&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-4392659119617919402?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=tZtkkY19lG0:YyAczHljBKs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=tZtkkY19lG0:YyAczHljBKs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=tZtkkY19lG0:YyAczHljBKs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=tZtkkY19lG0:YyAczHljBKs:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/tZtkkY19lG0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/tZtkkY19lG0/11g-new-features-case-sensitive.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/11g-new-features-case-sensitive.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-1945676453491161170</guid><pubDate>Thu, 20 Mar 2008 06:07:00 +0000</pubDate><atom:updated>2008-03-20T12:14:23.548+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Read only Tables</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>11g New Features - "Read only Tables"</title><description>Did you read that right? It's read only TABLES...11g has introduced read only tables. It's now possible to make a table read only to &lt;span style="font-weight: bold;"&gt;it's owner&lt;/span&gt; also. Earlier we used to grant "SELECT" privilege on a table to other users or create a view to make it read only for others BUT that was only for other users and not the owner. See the example below to switch the table from read-write to read-only and vice-versa...&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SCOTT@11glab&gt; create table deptnew as select * from dept;&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; select * from deptnew;&lt;br /&gt;&lt;br /&gt; DEPTNO DNAME          LOC&lt;br /&gt;---------- -------------- -------------&lt;br /&gt;     10 ACCOUNTING     NEW YORK&lt;br /&gt;     20 RESEARCH       DALLAS&lt;br /&gt;     30 SALES          CHICAGO&lt;br /&gt;     40 OPERATIONS     BOSTON&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; insert into deptnew values (50,'New Dept','New Location');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Make it READ ONLY&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SCOTT@11glab&gt; alter table deptnew read only;&lt;br /&gt;&lt;br /&gt;Table altered.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; insert into deptnew values (60,'New Dep1','New Location1');&lt;br /&gt;insert into deptnew values (60,'New Dep1','New Location1')&lt;br /&gt;         *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-12081: update operation not allowed on table "SCOTT"."DEPTNEW"&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;How do I find out if a table is read-only or read-write. Check the new column in "USER_TABLES" &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;SCOTT@11glab&gt; select table_name,read_only from user_tables where table_name='DEPTNEW';&lt;br /&gt;&lt;br /&gt;TABLE_NAME                     REA&lt;br /&gt;------------------------------ ---&lt;br /&gt;DEPTNEW                        YES&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Make it READ WRITE again to insert data...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;SCOTT@11glab&gt; alter table deptnew read write;&lt;br /&gt;&lt;br /&gt;Table altered.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; insert into deptnew values (60,'New Dep1','New Location1');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;SCOTT@11glab&gt; select * from deptnew;&lt;br /&gt;&lt;br /&gt; DEPTNO DNAME          LOC&lt;br /&gt;---------- -------------- -------------&lt;br /&gt;     10 ACCOUNTING     NEW YORK&lt;br /&gt;     20 RESEARCH       DALLAS&lt;br /&gt;     30 SALES          CHICAGO&lt;br /&gt;     40 OPERATIONS     BOSTON&lt;br /&gt;     50 New Dept       New Location&lt;br /&gt;     60 New Dep1       New Location1&lt;br /&gt;&lt;br /&gt;6 rows selected.&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Very useful indeed...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-1945676453491161170?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XGaYB70uAX0:8FDq2xsxdm4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XGaYB70uAX0:8FDq2xsxdm4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XGaYB70uAX0:8FDq2xsxdm4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XGaYB70uAX0:8FDq2xsxdm4:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/XGaYB70uAX0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/XGaYB70uAX0/11g-new-features-read-only-tables.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/11g-new-features-read-only-tables.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-3044784825542821644</guid><pubDate>Mon, 17 Mar 2008 05:45:00 +0000</pubDate><atom:updated>2008-04-04T09:26:36.652+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle 11g</category><category domain="http://www.blogger.com/atom/ns#">Oracle 11g New Features</category><title>11g  - My first look</title><description>It's been a while since I have installed 11g but hardly got a chance to explore or look at it's new features. It was only last week that I started exploring it. There are quite a bit of really interesting and useful new features; I will start posting on some of the new features that I come across.&lt;br /&gt;&lt;br /&gt;Here is list of some of the interesting new features that I have bumped into so far;&lt;br /&gt;&lt;br /&gt;1. ADR - a big change in the way the diagnostic logs (alert.log, trace files) are now stored.&lt;br /&gt;2. Database Replay&lt;br /&gt;3. Case-sensitive passwords - Long overdue&lt;br /&gt;4. Data-masking&lt;br /&gt;5. ACL for calling packages&lt;br /&gt;6. Generated columns or Virtual columns&lt;br /&gt;7. Read only tables - Did you hear that "Read only tables" not "Tablespace"&lt;br /&gt;8. Virtual column partitioning - really interesting&lt;br /&gt;9. Get advice on how good is your table design&lt;br /&gt;10. SYSASM role&lt;br /&gt;11. Online patching and patching based on features you use&lt;br /&gt;&lt;br /&gt;This is not the final list...there are many more which I am yet to explore. Keep a tab on my blog as I will try to bring in the interesting ones...&lt;br /&gt;&lt;br /&gt;Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-3044784825542821644?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=RCysCr63fqI:YrsR8JulRbI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=RCysCr63fqI:YrsR8JulRbI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=RCysCr63fqI:YrsR8JulRbI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=RCysCr63fqI:YrsR8JulRbI:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/RCysCr63fqI" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/RCysCr63fqI/11g-my-first-look.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/11g-my-first-look.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5791517908774186442.post-5722101999727720839</guid><pubDate>Thu, 13 Mar 2008 09:34:00 +0000</pubDate><atom:updated>2008-03-17T14:15:05.334+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">Database Restore</category><category domain="http://www.blogger.com/atom/ns#">Database Administration</category><category domain="http://www.blogger.com/atom/ns#">ORA-27047</category><title>dbfsize - did you know about it?</title><description>...I didn't till the time I bumped into it today while trying to solve a ORA-27047 issue. I got this error when I was trying to restore a database received from a client for a project; What I had was cold backup + controlfile trace. &lt;br /&gt;&lt;br /&gt;CREATE CONTROLFILE SET DATABASE "ND01" RESETLOGS  NOARCHIVELOG&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-01503: CREATE CONTROLFILE failed&lt;br /&gt;ORA-01565: error in identifying file&lt;br /&gt;'/oracle/oradata/ND01/ND01_tools_01.dbf'&lt;br /&gt;ORA-27047: unable to read the header block of file&lt;br /&gt;Additional information: 2&lt;br /&gt;&lt;br /&gt;Bumped into dbfsize command while doing some research. Once can use dbv utility (dbverify) but it does not report datafile OS block header corruption thats when you can use dbfsize. It's available in UNIX only. Here is an example of how to use and what it reports :-&lt;br /&gt;&lt;br /&gt;$dbfsize ND01_tools_01.dbf&lt;br /&gt;ND01_tools_01.dbf: Header block magic number is bad&lt;br /&gt;&lt;br /&gt;Whereas, the dbv would show the following output :-&lt;br /&gt;&lt;br /&gt;DBVERIFY - Verification complete&lt;br /&gt;&lt;br /&gt;Total Pages Examined         : 25600&lt;br /&gt;Total Pages Processed (Data) : 0&lt;br /&gt;Total Pages Failing   (Data) : 0&lt;br /&gt;Total Pages Processed (Index): 0&lt;br /&gt;Total Pages Failing   (Index): 0&lt;br /&gt;Total Pages Processed (Other): 0&lt;br /&gt;Total Pages Processed (Seg)  : 0&lt;br /&gt;Total Pages Failing   (Seg)  : 0&lt;br /&gt;Total Pages Empty            : 0&lt;br /&gt;Total Pages Marked Corrupt   : 25600&lt;br /&gt;Total Pages Influx           : 0&lt;br /&gt;Highest block SCN            : 0 (0.0)&lt;br /&gt;&lt;br /&gt;Learning never stops...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5791517908774186442-5722101999727720839?l=dbathoughts.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XUJJS_vG1yo:vgBw9NlCfT0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XUJJS_vG1yo:vgBw9NlCfT0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?i=XUJJS_vG1yo:vgBw9NlCfT0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?a=XUJJS_vG1yo:vgBw9NlCfT0:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/YetAnotherDbaBlog?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/YetAnotherDbaBlog/~4/XUJJS_vG1yo" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/YetAnotherDbaBlog/~3/XUJJS_vG1yo/dbfsize-did-you-know-about-it.html</link><author>noreply@blogger.com (My Thoughts)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://dbathoughts.blogspot.com/2008/03/dbfsize-did-you-know-about-it.html</feedburner:origLink></item></channel></rss>
