<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8114408830189879989</id><updated>2011-12-10T04:43:45.318-08:00</updated><category term='ORA-27102: out of memory'/><category term='CRS rolling Upgrade from 10g to 11g'/><category term='RMAN TSPITR'/><category term='Dataguard failed switchover oracle11g'/><category term='online redefinition 10g partitioned non-partitioned convert'/><category term='11g RAC CRS Linux Install'/><category term='APEX configuration 11g'/><category term='ORA-1555'/><category term='Oracle9i on redhat 5 OEL 5 libstdc'/><category term='Firewire modules not loading'/><category term='dbms_compression table compression 11gR2'/><category term='11g R2 CRS Install'/><category term='_optim_peek_user_bind NO_BIND_AWARE adaptive cursor sharing'/><category term='ORA-29702 RAC to non-Rac'/><title type='text'>Yet Another Oracle DBA Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-7343812664384766144</id><published>2010-04-12T10:18:00.000-07:00</published><updated>2010-04-12T10:47:17.192-07:00</updated><title type='text'>Converting time values in trace files into wall-clock time</title><content type='html'>There may be cases where you would like to know the exact wall-clock time when a particular wait-event occurred or the SQL was executed by looking at the trace file.&lt;br /&gt;Oracle captures the wall-clock time in the trace files and represents it in the following format:&lt;br /&gt;&lt;br /&gt;AIT #2: nam='SQL*Net message from client' ela= 16445143 driver id=1650815232 #bytes=1 p3=0 obj#=-1 &lt;span style="font-weight: bold;"&gt;tim=1271092519750890&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;The value, we are interested in is the last one (&lt;/span&gt;&lt;span&gt;tim=1271092519750890).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The tim value can be converted into wall-clock time by using the following:&lt;br /&gt;&lt;br /&gt;Take the first 10 digits, and then:&lt;br /&gt;&lt;br /&gt;$date -d @1271092519 +"%m-%d-%Y %T"&lt;br /&gt;&lt;br /&gt;Example:&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tim=1271092519750890, first 10 characters - &lt;/span&gt;&lt;span&gt;1271092519&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;$date -d @1271092519 +"%m-%d-%Y %T"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;04-12-2010 12:15:19&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;This could be useful in situations where you would like to find out when a user session completed execution, went back to the client to do some other processing and when it came back to database to execute subsequent SQLs.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;BTW, there seems to be a difference in how this value is represented in 11g compared previous versions.  I could not get the accurate wall-clock time for a tim value from 10g database. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-7343812664384766144?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/7343812664384766144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=7343812664384766144' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/7343812664384766144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/7343812664384766144'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2010/04/converting-time-values-in-trace-files.html' title='Converting time values in trace files into wall-clock time'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-4608202846877150002</id><published>2010-02-28T11:37:00.001-08:00</published><updated>2010-02-28T11:40:44.636-08:00</updated><title type='text'>ORA-27504 while starting 11gR1 database with 11gR2 Grid Infrastructure</title><content type='html'>I have Oracle11g R2 (11.2.0.1) Grid infrastructure on a two node RAC.  Installed 11.1.0.7 binaries and when attempting to create a database, encountered the following errors:&lt;br /&gt;&lt;br /&gt;ORA-27504: IPC error creating OSD context&lt;br /&gt;ORA-27300: OS system dependent operation:skgxnqtsz failed with &lt;br /&gt;&lt;br /&gt;status: 0&lt;br /&gt;ORA-27301: OS failure message: Error 0&lt;br /&gt;ORA-27302: failure occurred at: SKGXN not av&lt;br /&gt;clsssinit ret = 21&lt;br /&gt;interconnect information is not available from OCR&lt;br /&gt;&lt;br /&gt;On researching, found the following solution to fix those errors and was able to create the 11.1.0.7 database with 11gR2 grid infrastructure:&lt;br /&gt;&lt;br /&gt;As root:&lt;br /&gt;&lt;br /&gt;[root@eletrac01 bin]# ./olsnodes -t -n&lt;br /&gt;&lt;br /&gt;eletrac01       1       Unpinned&lt;br /&gt;eletrac02       2       Unpinned&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@eletrac01 bin]# ./crsctl pin css -n eletrac01 eletrac02&lt;br /&gt;CRS-4664: Node eletrac01 successfully pinned.&lt;br /&gt;CRS-4664: Node eletrac02 successfully pinned.&lt;br /&gt;[root@eletrac01 bin]#&lt;br /&gt;&lt;br /&gt;[root@eletrac01 bin]# ./olsnodes -t -n&lt;br /&gt;eletrac01       1       Pinned&lt;br /&gt;eletrac02       2       Pinned&lt;br /&gt;[root@eletrac01 bin]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-4608202846877150002?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/4608202846877150002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=4608202846877150002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4608202846877150002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4608202846877150002'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2010/02/ora-27504-while-starting-11gr1-database.html' title='ORA-27504 while starting 11gR1 database with 11gR2 Grid Infrastructure'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-5018457242938646157</id><published>2010-01-16T19:34:00.000-08:00</published><updated>2010-01-16T19:53:17.982-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dataguard failed switchover oracle11g'/><title type='text'>Failed Switchover - Oracle11g</title><content type='html'>I recently had a situation where we had a failed switchover process.  Was able to switch the Primary to Standby successfully, but encountered some issues while switching over standby to primary - therefore  ended up having two standbys!  The easiest alternative to get out of the situation would be to ACTIVATE one of the standbys and then rebuild the primary - but it's not always desirable (size, efforts, unprotected primary etc..).  &lt;br /&gt; &lt;br /&gt;We even attempted the oracle provided command to cancel the switchover, but encountered the following (On original primary):&lt;br /&gt; &lt;br /&gt;SQL&gt; ALTER DATABASE PREPARE TO SWITCHOVER CANCEL;&lt;br /&gt;ALTER DATABASE PREPARE TO SWITCHOVER CANCEL&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00600: internal error code, arguments: [adbdrv_switch], [384], [], [], [],&lt;br /&gt;[], [], [], [], [], [], []&lt;br /&gt; &lt;br /&gt;Here is I ended up doing:&lt;br /&gt; &lt;br /&gt;All of these have been performed on original primary:&lt;br /&gt;1. Startup Mount;&lt;br /&gt;SQL&gt; startup force nomount;&lt;br /&gt;ORACLE instance started.&lt;br /&gt; &lt;br /&gt;Total System Global Area  238530560 bytes&lt;br /&gt;Fixed Size                  1335724 bytes&lt;br /&gt;Variable Size             150998612 bytes&lt;br /&gt;Database Buffers           83886080 bytes&lt;br /&gt;Redo Buffers  &lt;br /&gt; &lt;br /&gt;2. Recreate the controlfile using the trace (got from standby)&lt;br /&gt;SQL&gt; @scripts/ccf.sql&lt;br /&gt; &lt;br /&gt;Control file created.&lt;br /&gt; &lt;br /&gt;SQL&gt; alter database open;&lt;br /&gt;alter database open&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-01589: must use RESETLOGS or NORESETLOGS option for database open&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;SQL&gt; alter database open resetlogs;&lt;br /&gt; &lt;br /&gt;Database altered.&lt;br /&gt; &lt;br /&gt;SQL&gt; &lt;br /&gt;3. That's it…that did it!&lt;br /&gt; &lt;br /&gt;SQL&gt; Select open_mode, database_role, switchover_status from V$database;&lt;br /&gt; &lt;br /&gt;OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS&lt;br /&gt;-------------------- ---------------- --------------------&lt;br /&gt;READ WRITE           PRIMARY          TO STANDBY&lt;br /&gt; &lt;br /&gt;SQL&gt;&lt;br /&gt; &lt;br /&gt;4. Here are the entries from standby - didn't have to do anything - it continued through RESETLOGS!&lt;br /&gt; &lt;br /&gt;RFS[18]: New Archival REDO Branch(resetlogs_id): 708469623  Prior: 708454293&lt;br /&gt;RFS[18]: Archival Activation ID: 0x6fece72a Current: 0x0&lt;br /&gt;RFS[18]: Effect of primary database OPEN RESETLOGS&lt;br /&gt;RFS[18]: Incarnation entry added for Branch(resetlogs_id): 708469623 (ETSI01)&lt;br /&gt;Sat Jan 16 21:08:09 2010&lt;br /&gt;Setting recovery target incarnation to 4&lt;br /&gt;Sat Jan 16 21:08:09 2010&lt;br /&gt;Archived Log entry 33 added for thread 1 sequence 1 ID 0x6fece72a dest 1:&lt;br /&gt;Sat Jan 16 21:08:09 2010&lt;br /&gt;RFS[19]: Assigned to RFS process 5022&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-5018457242938646157?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/5018457242938646157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=5018457242938646157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5018457242938646157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5018457242938646157'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2010/01/failed-switchover-oracle11g.html' title='Failed Switchover - Oracle11g'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-9086406608297038115</id><published>2009-12-15T07:19:00.001-08:00</published><updated>2009-12-15T07:19:53.796-08:00</updated><title type='text'>Segment Comparison (structure)  in Oracle11g</title><content type='html'>There are bunch third party products in the market which do a pretty good job at finding out the structual differences between objects or schemas.  Toad comes to my mind which does an outstanding job...but it costs $$$!  With Oracle11g, it's quite easy to figure out differences between two objects.  Please note that use of this feature needs Change Management pack license.  This is available with 11.1.0.7, but not documented in 11gR1 docs, but does have a mentioned in 11gR2 docs. The API or the package is DBMS_METADATA.  Here is how it works:&lt;br /&gt;&lt;br /&gt;Let's say we have two schemas in different databases and would like to compare the table structures:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt;  Select dbms_metadata_diff.compare_alter('TABLE','APP_DATA','APP_DATA_TEMP', 'CHANDRA','CHANDRA',null,'BDBE01') DIFF  from dual;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DIFF&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ALTER TABLE "CHANDRA"."APP_DATA" ADD ("CREATE_DATE" DATE)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ALTER TABLE "CHANDRA"."APP_DATA" ADD ("UPDATE_DATE" DATE)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ALTER TABLE "CHANDRA"."APP_DATA" RENAME TO "APP_DATA_TEMP"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Explanation for the argument used in the function call: Object_type, table_name, table_name, schema_owner, schema_owner, db_link_for_source (if null, then local), db_link_for_target.&lt;br /&gt;&lt;br /&gt;If the order of table names, source and target are changed:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; Select dbms_metadata_diff.compare_alter('TABLE','APP_DATA_TEMP','APP_DATA', 'CHANDRA','CHANDRA','BDBE01',null) DIFF from dual;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DIFF&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ALTER TABLE "CHANDRA"."APP_DATA_TEMP" DROP ("CREATE_DATE")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ALTER TABLE "CHANDRA"."APP_DATA_TEMP" DROP ("UPDATE_DATE")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  ALTER TABLE "CHANDRA"."APP_DATA_TEMP" RENAME TO "APP_DATA"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Interesting, it even has an ALTER to rename the table to make both same in all respects.&lt;br /&gt;&lt;br /&gt;I don't see an option to include or exclude various segment attributes such as storage, tablespace etc...may be because the intent of this API seems to be different.  Thought this oracle provided utility would come in handy to quickly find out the structural differences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-9086406608297038115?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/9086406608297038115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=9086406608297038115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/9086406608297038115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/9086406608297038115'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/12/segment-comparison-structure-in.html' title='Segment Comparison (structure)  in Oracle11g'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-5966187658801280506</id><published>2009-09-14T12:23:00.000-07:00</published><updated>2009-09-14T12:48:46.490-07:00</updated><title type='text'>Oracle11gR2: Deferred Segment Creation and export behavior!</title><content type='html'>I guess by now most of us know what Oracle11gR2's feature - Deferred Segment Creation really means.  This post is about the impact this feature going to have while exporting a schema or tables using the traditional export. By default, any new tables created would have SEGMENT CREATION DEFERRED option set (unless you are using CTAS). This default behavior could be turned off by setting DEFERRED_SEGMENT_CREATION to false. The impact with this is - if you happen to export any of the tables, which do not have any rows (meaning empty tables without segments)  - they will NOT be exported. This is only true with the legacy/old export and not with the export pump utility(10g and above).   Something we have to remember if we can't get rid of the old habit of using old export!  Of course, export is deprecated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-5966187658801280506?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/5966187658801280506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=5966187658801280506' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5966187658801280506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5966187658801280506'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/09/oracle11gr2-deferred-segment-creation.html' title='Oracle11gR2: Deferred Segment Creation and export behavior!'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-716906364582119252</id><published>2009-09-14T10:31:00.000-07:00</published><updated>2009-09-22T07:51:37.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dbms_compression table compression 11gR2'/><title type='text'>Oracle11gR2 Table / Tablespace Compression</title><content type='html'>As far as I remember, oracle introduced the basic compression feature with Oracle9i, but what's new with 11g is the ability to compress data generated as a result of OLTP transactions (almost all DMLs)  as well - previously it was only available  for bulk operations.   Another neat feature of 11g is the ability to evaluate whether not a table is a right candidate for compression , if yes what would be compression benefits in regards space utilization. This is done using DBMS_COMPRESSION (using Compression Advisor).  I wanted to use this procedure to  see how accurately it could give us the space savings and also see what would be impact on performance, in general.&lt;br /&gt;&lt;br /&gt;I am using a 18million record table for this example.&lt;br /&gt;&lt;br /&gt;1.  Space usage for the uncompressed table:&lt;br /&gt;&lt;strong style="font-weight: normal;"&gt;&lt;/strong&gt;&lt;br /&gt;&lt;pre id="line98"&gt;&lt;br /&gt;&lt;/pre&gt;&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 3.1  (Win32)"&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt;&lt;/style&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt; SQL&gt;  select segment_name, bytes, a.blocks, compression, compress_for from &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  2  dba_segments a, dba_tables b&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  3   where a.segment_name = b.table_name and a.segment_name='T1';&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SEGMENT_NAME                        BYTES     BLOCKS COMPRESS COMPRESS_FOR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------------------ ---------- ---------- -------- ------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;T1                             1476395008     180224  DISABLED&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2.  Execute the DBMS_COMPRESSION procedure to get information on space savings:&lt;br /&gt;&lt;br /&gt;(Note that this procedure example works only in 11gR2, the function names and the arguments are different in 11gR1.)&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;SQL&gt; declare&lt;br /&gt;2       lv_cmp_ratio number;&lt;br /&gt;3       lv_comptype_str varchar2(300);&lt;br /&gt;4       lv_BLKCNT_CMP  number;&lt;br /&gt;5       lv_BLKCNT_UNCMP number;&lt;br /&gt;6       lv_ROW_CMP     number;&lt;br /&gt;7       lv_ROW_UNCMP   number;&lt;br /&gt;8  begin&lt;br /&gt;9  dbms_compression.GET_COMPRESSION_RATIO(&lt;br /&gt;10 SCRATCHTBSNAME=&gt;'USERS',&lt;br /&gt;11  OWNNAME=&gt;'CHANDRA',&lt;br /&gt;12  TABNAME=&gt;'T1',&lt;br /&gt;13  PARTNAME =&gt;null,&lt;br /&gt;14  COMPTYPE =&gt;2,  ---2 means OLTP&lt;br /&gt;15  BLKCNT_CMP=&gt;lv_BLKCNT_CMP,&lt;br /&gt;16  BLKCNT_UNCMP=&gt;lv_BLKCNT_UNCMP,&lt;br /&gt;17  ROW_CMP =&gt;lv_ROW_CMP,&lt;br /&gt;18  ROW_UNCMP =&gt;lv_ROW_UNCMP,&lt;br /&gt;19  CMP_RATIO=&gt;lv_cmp_ratio,&lt;br /&gt;20  COMPTYPE_STR=&gt;lv_COMPTYPE_STR);&lt;br /&gt;21  dbms_output.put_line('====================================================');&lt;br /&gt;22  dbms_output.put_line('1. Compression Ratio      :'||lv_cmp_ratio);&lt;br /&gt;23  dbms_output.put_line('2. Block Count            :'||lv_blkcnt_cmp);&lt;br /&gt;24  dbms_output.put_line('3. Compression Type       :'||lv_comptype_str);&lt;br /&gt;25  dbms_output.put_line('4. Blk Count Compressed   :'||lv_BLKCNT_CMP);&lt;br /&gt;26  dbms_output.put_line('5. Blk Count Un-compressed:'||lv_BLKCNT_UNCMP);&lt;br /&gt;27  dbms_output.put_line('6. Row Count Compressed   :'||lv_row_cmp);&lt;br /&gt;28  dbms_output.put_line('4. Row Count Un-Compressed:'||lv_row_uncmp);&lt;br /&gt;29  dbms_output.put_line('====================================================');&lt;br /&gt;30  end;&lt;br /&gt;31  /&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;====================================================&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;1. Compression Ratio      :2.38995215311004784688995215311004784689&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;2. Block Count            :836&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;3. Compression Type       :"Compress For OLTP"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0); font-weight: bold;"&gt;4. Blk Count Compressed   :836&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0); font-weight: bold;"&gt;5. Blk Count Un-compressed:1998&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;span style="font-style: italic;"&gt;6. Row Count Compressed&lt;/span&gt;   :&lt;span style="color: rgb(51, 204, 0); font-weight: bold;"&gt;256&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;&lt;span style="font-style: italic;"&gt;4. Row Count Un-Compressed&lt;/span&gt;:&lt;span style="font-weight: bold;"&gt;107&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;====================================================&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;According to the above information, if we look at the compressed (836 blocks) and uncompressed blocks(1998) counts (4 and 5 above), we should at least 50% gain!&lt;br /&gt;&lt;br /&gt;3.  Create a new tablespace with COMPRESS option.  Unless I am missing something obvious, I couldn't get the correct syntax in both 11gR1 and R2 documentation.  BTW, when I executed the same SQL on 11gR1 - I got - ORA-14464: Compression Type not specified&lt;br /&gt;&lt;br /&gt;SQL&gt;  create tablespace USER_DATA_COMPRESSED default compress for OLTP datafile '/u01/oracle/oradata/DET01/user_data_compressed.dbf' size 10M autoextend on;&lt;br /&gt;&lt;br /&gt;Tablespace created.&lt;br /&gt;&lt;br /&gt;4.  Create copy of T1 table (our example table) in COMPRESSED tablespace:&lt;br /&gt;&lt;br /&gt;SQL&gt; create table chandra.t1_compressed tablespace USER_DATA_COMPRESSED&lt;br /&gt;2  as Select  * from chandra.t1;&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;5.  Let's see how much space does the compressed table take when compared to the uncompressed/original table:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; select segment_name, bytes, a.blocks, compression, compress_for from dba_segments a,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  2  dba_tables b&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  3  where a.segment_name = b.table_name and a.segment_name in ('T1','T1_COMPRESSED');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SEGMENT_NAME                        BYTES     BLOCKS COMPRESS COMPRESS_FOR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;------------------------------ ---------- ---------- -------- ------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;T1_COMPRESSED                   612368384      &lt;span style="color: rgb(51, 204, 0); font-weight: bold;"&gt;74752&lt;/span&gt;   ENABLED     OLTP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;T1                             1476395008     &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;180224&lt;/span&gt;   DISABLED&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As theDBMS_COMPRESSION procedure indicated, we did see less than 50% space utilization with the OLTP compression, so far so good.  How about performance?  I performed such generic tests, involving SELECTS and other DMLs and here are the results:&lt;br /&gt;&lt;br /&gt;Any activity involving Full Table Scan, the performance was &lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;4 times faster&lt;/span&gt; on compressed tables compared with uncompressed table.&lt;br /&gt;Inserts and Updates took close to twice longer on compressed table compared with uncompressed table and deletes about 10% more.&lt;br /&gt;&lt;br /&gt;When we only talk about other benefits of compression - they would be lesser memory utilization, redo generation etc.. comes to my mind.  Of course, at the cost of higher CPU consumption.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-716906364582119252?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/716906364582119252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=716906364582119252' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/716906364582119252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/716906364582119252'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/09/oracle11gr2-table-tablespace.html' title='Oracle11gR2 Table / Tablespace Compression'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-4748684632135011939</id><published>2009-09-11T22:24:00.001-07:00</published><updated>2009-09-14T05:44:40.822-07:00</updated><title type='text'>Oracle11gR2 ASM New Feature - Intelligent Data Placement</title><content type='html'>Intelligent Data Placement, a new feature of Oracle11gR2 ASM is aimed at optimizing data access.  This is achieved by giving us the capability to place the data on those sectors of the hard drive where the I/O performance is high/efficient.  These sectors are the outer sectors. Before going into the details of the ASM's feature, let's attempt to understand briefly how and why the outer sector's i/o performance is better compared to the inner sectors.&lt;br /&gt;&lt;br /&gt;The above mentioned efficiencies come from a technique used in hard drives called "Zoned Bit Recording".  This method or technique used to increase capacity and data access speeds on hard disks by improving the utilization of the larger, outer tracks of the disk. Outer tracks contain more sectors per track than the one before. This makes more efficient use of the larger tracks on the outside of the disk. The data transfer rate is higher when reading outside cylinders than reading the inside ones, since outer cylinders contain more data.&lt;br /&gt;&lt;br /&gt;Coming back to the original topic - ASM now classifies reads/writes into two - COLD and HOT. As you guessed, HOT read/writes are those coming from the blocks which are classified as HOT - meaning placed in the outer sectors. COLD is the default - meaning data placed in inner sectors. Data blocks of most often accessed segments are candidates for placement in HOT region.  This is done at the datafile level in an ASM disk.&lt;br /&gt;&lt;br /&gt;You could use SQL*Plus or DBConsole to make these changes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/Sqs9v_FdbJI/AAAAAAAAAKM/rKt2Mv1z-T4/s1600-h/hotcoldregion.png"&gt;&lt;img style="cursor: pointer; width: 380px; height: 155px;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/Sqs9v_FdbJI/AAAAAAAAAKM/rKt2Mv1z-T4/s320/hotcoldregion.png" alt="" id="BLOGGER_PHOTO_ID_5380462074421669010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's just matter of picking the appropriate radio-button depending on the needs/access patterns to switch between HOT and COLD regions.&lt;br /&gt;&lt;br /&gt;We know what the feature means - but I wanted to put the feature to test to really see the benefit in regards to I/O rates/speeds using some general test cases.  Here is how the I/O rates or performance was for a set of tests (comprising a mix of read/writes(deletes/inserts/updates) with the files being in the default zone (COLD).  Then ran the same tests while the datafile was placed in the HOT region.  Here are the test results.   Note that when you move a file from one region to another, you have to initiate a re-balance to make the change effective.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/SqvvsipA5LI/AAAAAAAAAKk/eEWbd4gjbvg/s1600-h/COLD-iorates.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 102px;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/SqvvsipA5LI/AAAAAAAAAKk/eEWbd4gjbvg/s320/COLD-iorates.jpg" alt="" id="BLOGGER_PHOTO_ID_5380657728316302514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With Intelligent Data Placement:&lt;br /&gt;&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 3.1  (Win32)"&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;p&gt;&lt;tt&gt;&lt;span style="color: rgb(68, 68, 221);"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;ALTER&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;DISKGROUP&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;ASMDISK01&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(68, 68, 221);"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;MODIFY&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(68, 68, 221);"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;FILE&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;'+ASMDISK01/BDBE01/DATAFILE/APP_DATA.256.697380955'&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(68, 68, 221);"&gt;&lt;span style="font-size:85%;"&gt;&lt;b&gt;ATTRIBUTES&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/tt&gt;&lt;tt&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;(HOT)&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/Sqvvvs2X0AI/AAAAAAAAAKs/Vx1YVid3dgQ/s1600-h/HOT-iorates.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 103px;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/Sqvvvs2X0AI/AAAAAAAAAKs/Vx1YVid3dgQ/s320/HOT-iorates.jpg" alt="" id="BLOGGER_PHOTO_ID_5380657782596292610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I executed the above mentioned test cases multiple times to make sure I see or notice consistent (and thus reliable and dependable)  I/O performance.  During my tests I saw that there was consistently an increase of about 10% to 15% in "Average Throughput" and about (-)3% to +5% in the "Average Response Times".  Of course, we may have to perform more realistic tests with application specific I/O patterns.&lt;br /&gt;&lt;br /&gt;I think we can say that with this new feature,  Oracle (with ASM) will be able to successfully exploit the Zoned Bit Recording technique of hard drives for optimizing I/O performance.  Again, not sure if this really going to make a huge impact given the large cache and disk sizes.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-4748684632135011939?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/4748684632135011939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=4748684632135011939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4748684632135011939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4748684632135011939'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/09/oracle11gr2-asm-new-feature-intelligent.html' title='Oracle11gR2 ASM New Feature - Intelligent Data Placement'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zO1TXgMhPPw/Sqs9v_FdbJI/AAAAAAAAAKM/rKt2Mv1z-T4/s72-c/hotcoldregion.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6234113800629865755</id><published>2009-09-09T08:28:00.000-07:00</published><updated>2009-09-10T01:32:56.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='11g R2 CRS Install'/><title type='text'>Oracle11g R2 - impressive and intelligent CRS installer (OUI)!</title><content type='html'>I was really impressed with the enhancements made to the installer, apart from the change in the look and feel.  Prior to Oracle11gR2, installer would allow us to place the redundant copies of OCR/Voting devices/files unto the same file system (of course it doesn't make any sense though). But with 11gR2, it prevents us from placing the mirrors unto the same file system.  There is no IGNORE option as well...either you have to place it on different file systems/locations or use a single copy.  So the installer has "best practices" built into it.&lt;br /&gt;&lt;br /&gt;Here is how I first attempt to use - placing all the three unto the same file system:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/SqfL9a296dI/AAAAAAAAAJk/ZWLD2Fwu_3g/s1600-h/Error1.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 155px;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/SqfL9a296dI/AAAAAAAAAJk/ZWLD2Fwu_3g/s320/Error1.gif" alt="" id="BLOGGER_PHOTO_ID_5379492535959677394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And here is the error message:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/SqfMF0gJobI/AAAAAAAAAJs/tpFTUErXabw/s1600-h/Error.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 197px;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/SqfMF0gJobI/AAAAAAAAAJs/tpFTUErXabw/s320/Error.gif" alt="" id="BLOGGER_PHOTO_ID_5379492680282251698" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I ended up using a single copy for now:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/SqfMKXHbJxI/AAAAAAAAAJ0/pwZsgcXCpYA/s1600-h/Error3.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 245px;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/SqfMKXHbJxI/AAAAAAAAAJ0/pwZsgcXCpYA/s320/Error3.gif" alt="" id="BLOGGER_PHOTO_ID_5379492758293260050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BTW, the installer allows us to configure SSH, test SSH, option to use ASM or shared file system for OCR/Vote etc... The best of all, it now provides a script to fix any of the fix-able requirements such as kernel parameters etc..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6234113800629865755?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6234113800629865755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6234113800629865755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6234113800629865755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6234113800629865755'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/09/oracle11g-r2-impressive-and-intelligent.html' title='Oracle11g R2 - impressive and intelligent CRS installer (OUI)!'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zO1TXgMhPPw/SqfL9a296dI/AAAAAAAAAJk/ZWLD2Fwu_3g/s72-c/Error1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-3946304054253814759</id><published>2009-09-08T18:45:00.000-07:00</published><updated>2009-09-09T05:48:04.422-07:00</updated><title type='text'>ORA-03001 - while trying to rename tables owned by others - workaround</title><content type='html'>There could be situations where you may like to rename the tables owned by others, but do not have access to the password (of the schema owner) or don't want to change the password (using "by values" etc...). You could perform almost all the activities by using &lt;span style="font-family: courier new; font-style: italic;"&gt;"&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;ALTER SESSION SET CURRENT_SCHEMA=&lt;schema_name&gt;&lt;schema_name&gt;&lt;/schema_name&gt;&lt;/span&gt;&lt;span style="font-style: italic; font-family: courier new;"&gt;&lt;schema_name&gt;;&lt;/schema_name&gt;&lt;/span&gt;&lt;span style="font-family: courier new; font-style: italic;"&gt;"&lt;/span&gt;, but rename table wouldn't work and following error message would be encountered:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;chandra@DOE01:11g&gt; show user&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;USER is "CHANDRA"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;chandra@DOE01:11g&gt; alter session set current_schema=CP_ADMIN;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;Session altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;chandra@DOE01:11g&gt; rename APP_DATA to APP_DATA_BAK;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;rename APP_DATA to APP_DATA_BAK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ERROR at line 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0); font-family: courier new;"&gt;ORA-03001: unimplemented feature&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;chandra@DOE01:11g&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To get around this, we could create a simple procedure similar to the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;create or replace procedure rename_others_tab (orig_tab_name in varchar2, new_tab_name in varchar2)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;as&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;lv_sql_str varchar2(100);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;lv_exists  number(1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;select count(*) into lv_exists from user_tables where table_name=orig_tab_name;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;if lv_exists = 1 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;lv_sql_str := 'rename '||orig_tab_name||' to '||new_tab_name;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;dbms_output.put_line (lv_sql_str);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;execute immediate lv_sql_str;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;dbms_output.put_line('ERROR:'||orig_tab_name||' does not exist!');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end if;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that you would be creating the above procedure while your current_schema is set to the owner of the table.&lt;br /&gt;&lt;br /&gt;Then:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;chandra@DOE01:11g&gt; exec rename_others_tab('APP_DATA','APP_DATA_BAK');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;PL/SQL procedure successfully completed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;chandra@DOE01:11g&lt;/span&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The table name would be renamed....Of course, use the above procedure (work-around) with caution and when ABSOLUTELY needed. &lt;br /&gt;&lt;br /&gt;Thought would be of use to others....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-3946304054253814759?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/3946304054253814759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=3946304054253814759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3946304054253814759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3946304054253814759'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/09/ora-03001-while-trying-rename-tables.html' title='ORA-03001 - while trying to rename tables owned by others - workaround'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-63625633413172326</id><published>2009-08-07T18:21:00.000-07:00</published><updated>2009-08-07T18:28:38.320-07:00</updated><title type='text'>ORA-01620 while creating a RAC standby for non-RAC primary</title><content type='html'>Today I was trying to test some thing and had to create a RAC standby for a Non-RAC (single-instance) Primary database.  I know, it doesn't make sense to have a RAC standby for a single-instance primary, but that's not the point.   First instance was mounted without any problems, but when attempted to mount the second standby instance got the following error message:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; alter database mount standby database;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;alter database mount standby database&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ERROR at line 1:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ORA-01620: no public threads are available for mounting&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I couldn't find quick notes on the web to get around this issue and therefore had to find my own for this unique situation (having a RAC standby for SI-Primary).  Here is what I did on Primary:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; ALTER DATABASE ADD LOGFILE THREAD 2 group 13 size 5M;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Database altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt;  ALTER DATABASE ADD LOGFILE THREAD 2 group 14 size 5M;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Database altered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; alter database enable public thread 2;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Database altered.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then created new copy of standby controlfile and shipped it over to standby and attempted to mount both the instances, it worked fine! Of course, had the primary been a RAC, we wouldn't have seen this in first place :-)  BTW, this is on Oracle11g 11.1.0.7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-63625633413172326?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/63625633413172326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=63625633413172326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/63625633413172326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/63625633413172326'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/08/ora-01620-while-creating-rac-standby.html' title='ORA-01620 while creating a RAC standby for non-RAC primary'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-1005221556151374711</id><published>2009-08-04T09:52:00.000-07:00</published><updated>2009-08-04T10:48:38.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RMAN TSPITR'/><title type='text'>Tablespace Point-in-time Recovery (TSPITR) using RMAN</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Scenario&lt;/span&gt;: A logical corruption occurred due to an user error and have to quickly get back to the state just before the time of the error.  Possible options: Database point-in-time recovery, but the downside is the entire database has to be unavailable and other transactions after the PITR would be lost.  The other option would be Tablespace Point-in-time-Recovery (TSPITR) - the obvious choice here.  I had known that RMAN could be used to perform TSPITR, but I realized just today how powerful, simple, &lt;span style="font-weight: bold;"&gt;automated&lt;/span&gt;, error-free and fast it could be to  perform TSPITR using RMAN - it's really amazing.  The intent of this post is just to high-light and appreciate the usefulness of RMAN to perform TSPITR.&lt;br /&gt;&lt;br /&gt;Assuming we have the latest backup, just executing the following statement would do everything needed to get the entire tablespace to a point-in-time in the past.  Believe me, you don't have to do anything other than just this statement!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;recover tablespace APP_DATA until time&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;"to_date('2009-08-04 12:15:00’,’YYYY-MM-DD HH24:MI:SS')"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;auxiliary destination ’/opt/oracle/temp’;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once the above statement is executed, RMAN does the following for us:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Creates auxiliary instance (including the pfile etc..)&lt;/li&gt;&lt;li&gt;Mounts the auxiliary instance&lt;/li&gt;&lt;li&gt;Makes the candidate tablespace into OFFLINE&lt;/li&gt;&lt;li&gt;Restores the basic tablespace UNDO, SYTEM,SYSAUX and then the required tablespace&lt;/li&gt;&lt;li&gt;Applies archives (completes recovery)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Opens the database&lt;/li&gt;&lt;li&gt;Performs an export of the objects residing in the tablespace&lt;/li&gt;&lt;li&gt;Shutdown aux instance&lt;/li&gt;&lt;li&gt;Import the objects into the target database&lt;/li&gt;&lt;li&gt;Remove aux instance and cleanup&lt;/li&gt;&lt;/ul&gt;That's it....you now have all the objects back in the tablespace!.&lt;br /&gt;&lt;br /&gt;You can view the output of the RMAN session by downloading this &lt;a href="http://chandra.pabba.googlepages.com/TSPITR.pdf"&gt; file.. &lt;/a&gt;which is quite self-explanatory and informative too!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-1005221556151374711?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/1005221556151374711/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=1005221556151374711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1005221556151374711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1005221556151374711'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/08/tablespace-point-in-time-recovery.html' title='Tablespace Point-in-time Recovery (TSPITR) using RMAN'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-1921521020776808617</id><published>2009-07-30T17:38:00.000-07:00</published><updated>2009-07-30T18:05:37.058-07:00</updated><title type='text'>ORA-27090: Message 27090 not found on 10.2.0.4</title><content type='html'>Lately we have been noticing ORA-27090 on our 10.2.0.4 databases.  Here is the complete error message, as appeared in the alert log file.  This is observed on Suse Linux, Red hat and OEL 5.3:&lt;br /&gt;&lt;br /&gt;===============================================================&lt;br /&gt;Errors in file /tmp/test_dbw0_4400.trc:&lt;br /&gt;ORA-27090: Message 27090 not found;  product=RDBMS; facility=ORA&lt;br /&gt;Additional information: 3&lt;br /&gt;Additional information: 128&lt;br /&gt;Additional information: 1100 &lt;span id="{C664965A-4F57-42B4-9E5B-93AEBF226D60}" style="color: rgb(255, 0, 0);"&gt;#--This is the value for the parameter aio-max-nr&lt;/span&gt;&lt;br /&gt;===============================================================&lt;br /&gt;Looks like this error condition is only encountered or reported in databases using 10.2.0.4 oracle version.  On research found that this has something to do with the kernel setting fs.aio-max-nr. aio-max-nr sets the systemwide maximum number of AIO requests. Apparently, when the number of requests reach this number the error is reported.  I guess the question would be, how can we determine where we are at currently in relation to the max limit, right?  This is answered by  aio-nr, which maintains a cumulative/running total of number of aio events used.&lt;br /&gt;&lt;br /&gt;I was able to consistently reproduce the error condition by playing around with the settings for aio-max-nr parameter.  As such, no apparent problems are noticed on the database side, but did did notice that the standby databases would fail to continue with the managed recovery process.&lt;br /&gt;&lt;br /&gt;Here is how it looked like before starting up an 10.2.0.4 instance:&lt;br /&gt;&lt;br /&gt;#/sbin/sysctl -a  |grep aio&lt;br /&gt;fs.aio-max-nr = 1100  #---I reset it to this value from default.&lt;br /&gt;fs.aio-nr = 0&lt;br /&gt;&lt;br /&gt;When the instance was started, the value looked like this:&lt;br /&gt;#/sbin/sysctl -a  |grep aio&lt;br /&gt;fs.aio-max-nr = 1100  #---I reset it to this value from default.&lt;br /&gt;fs.aio-nr = 1060&lt;br /&gt;&lt;br /&gt;As soon as it hit the ceiling, the above mentioned error was reported in the alert log.  When I raised the value, the error message disappeared.&lt;br /&gt;&lt;br /&gt;As soon as the instances are shutdown the value for fs.aio-nr gets reset.&lt;br /&gt;&lt;br /&gt;Hope this information would come in handy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-1921521020776808617?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/1921521020776808617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=1921521020776808617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1921521020776808617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1921521020776808617'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/07/ora-27090-message-27090-not-found-on.html' title='ORA-27090: Message 27090 not found on 10.2.0.4'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-1647104717859981920</id><published>2009-07-15T08:36:00.001-07:00</published><updated>2009-07-16T05:05:26.412-07:00</updated><title type='text'>How to check if CRS is set to auto-start on reboots</title><content type='html'>Sometime back, some one asked me a question -  "how to confirm that CRS is set to restart on reboot?"&lt;br /&gt;&lt;br /&gt;CRS can be configured to either to restart or not to restart on reboots.  Disable restarts would be typically useful for troubleshooting CRS reboots or validating any system level changes.&lt;br /&gt;&lt;br /&gt;To enable restarts (default):&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$CRS_HOME/bin/crsctl enable crs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To disable restarts of crs on reboots:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$CRS_HOME/bin/crsctl disable cr&lt;/span&gt;s&lt;br /&gt;&lt;br /&gt;Note that the above needs access to root.&lt;br /&gt;&lt;br /&gt;Whenever the above commands are run, it modifies the following file (on linux), which indicates whether or not the CRS is set to auto-restart on reboots:&lt;br /&gt;&lt;br /&gt;/etc/oracle/scls_scr/&lt;span style="font-style: italic;"&gt;node_name&lt;/span&gt;&lt;hostname&gt;&lt;host_name&gt;&lt;node_name&gt;/root/crsstart&lt;br /&gt;&lt;br /&gt;It contains either "enable" or "disable" keywords.&lt;/node_name&gt;&lt;/host_name&gt;&lt;/hostname&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-1647104717859981920?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/1647104717859981920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=1647104717859981920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1647104717859981920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1647104717859981920'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/07/how-to-check-if-crs-is-set-to-restart.html' title='How to check if CRS is set to auto-start on reboots'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-555221339396710626</id><published>2009-06-20T21:28:00.000-07:00</published><updated>2009-06-27T07:16:47.591-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-29702 RAC to non-Rac'/><title type='text'>ORA-29702 - Starting RAC instance in non-rac mode</title><content type='html'>Assume the following situation:  Due to some OS or network related problem you are not able to start-up the CRS (this does happen!)  before it impacts the database availability and subsequently your business.  Your primary goal now is to make the database available as soon as possible irrespective of its mode (RAC or Non-RAC).  The reason being you would like to reduce the impact to your business.  If you attempt to startup the instance without CRS, you get the following error:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; startup;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ORA-29702: error occurred in Cluster Group Service operation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This error message indicates that it can't start the instance since CRS is not available.  Here is the quick work-around to startup the instance.  The option is to remove RAC option from your binaries and start the instance.  Once you have resolved the CRS related issues, you can turn-on the RAC option back (of course, your instance needs to be down while to turn-on or turn-off the options).  Here is how we turn-off:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;cd $ORACLE_HOME/rdbms/lib&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -f ins_rdbms.mk rac_off ioracle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Set cluster_database=false&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You should now be able to startup the instance without CRS stack being up and running.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt;  Select * from v$option where parameter like 'Real%';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PARAMETER                                VALUE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;---------------------------------------- ----------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);font-family:courier new;" &gt;Real Application Clusters                FALSE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Real Application Testing                 TRUE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Turn-on the RAC option with:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;make -f ins_rdbms.mk rac_on ioracle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Alternatively, you can install a non-rac oracle binaries to quickly start the instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By the way, you turn off other options in similar way such as Partitioning (part_on/part_off), DB Vault (dv_on/dv_off) etc..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-555221339396710626?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/555221339396710626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=555221339396710626' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/555221339396710626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/555221339396710626'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/06/ora-29702-starting-rac-instance-in-non.html' title='ORA-29702 - Starting RAC instance in non-rac mode'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-3007536638068530066</id><published>2009-06-16T07:22:00.000-07:00</published><updated>2009-06-16T07:29:31.680-07:00</updated><title type='text'>Oracle11g - Killing session in RAC (in remote instance)</title><content type='html'>Prior to Oracle11g, whenever you want to kill a session connected to a non-local (remote) instance, you had to make an explicit connection to that particular instance and then attempt to kill.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;SQL&gt; Select instance_number from v$instance;&lt;br /&gt;&lt;br /&gt;INSTANCE_NUMBER&lt;br /&gt;---------------&lt;br /&gt;              1    &lt;span style="font-weight: bold;"&gt;---&gt; I am connected to instance 1 (Local Instance)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;br /&gt;&lt;br /&gt;SQL&gt; Select inst_id, sid, serial# from gv$session where username='CHANDRA';&lt;br /&gt;&lt;br /&gt;   INST_ID        SID    SERIAL#&lt;br /&gt;---------- ---------- ----------&lt;br /&gt;         &lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;        125       7526     &lt;span style="font-weight: bold;"&gt;---&gt; CHANDRA is connected to Inst# 2 (Non-local/remote Instance)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;br /&gt;&lt;br /&gt;With 11g, you could kill the session which is connected to instance 2, while you are connected to instance 1:&lt;br /&gt;&lt;br /&gt;SQL&gt; Alter system kill session '125,7526,&lt;span style="font-weight: bold;"&gt;@2&lt;/span&gt;' immediate;  &lt;span style="font-weight: bold;"&gt;#--@2 indicates remote instance.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; Select inst_id, sid, serial# from gv$session where username='CHANDRA';&lt;br /&gt;&lt;br /&gt;no rows selected&lt;br /&gt;&lt;br /&gt;This really makes life easy - especially you are using SQL*Plus and not any other front-end tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-3007536638068530066?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/3007536638068530066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=3007536638068530066' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3007536638068530066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3007536638068530066'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/06/oracle11g-killing-session-in-rac-in.html' title='Oracle11g - Killing session in RAC (in remote instance)'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6926734542063265398</id><published>2009-05-25T19:55:00.000-07:00</published><updated>2009-05-25T20:02:45.263-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle9i on redhat 5 OEL 5 libstdc'/><title type='text'>Errors while installing Oracle9i in Redhat 5.3 (libstdc++-libc6.1-1.so.2)</title><content type='html'>Today, I was trying to install Oracle9i on Redhat 5.3 (2.6.18 kernel), got the following error when runInstaller was involved:&lt;br /&gt;&lt;br /&gt;$ Initializing Java Virtual Machine from /tmp/OraInstall2009-05-09_06-44-18AM/jre/bin/java. Please wait...&lt;br /&gt;/tmp/OraInstall2009-05-09_06-44-18AM/jre/bin/i386/native_threads/java: error while &lt;span id="{9484494D-1CC2-413E-BAF9-A93F3490B6CB}" style="font-weight: bold;"&gt;loading shared libraries: libstdc++-libc6.1-1.so.2&lt;/span&gt;: cannot open shared object file: No such file or directory&lt;br /&gt;&lt;br /&gt;When check for libstdc++- library, I found the following to be installed by default on RH 5.3:&lt;br /&gt;&lt;br /&gt;[root@alps tmp]# rpm -qa |grep libstdc++-&lt;br /&gt;libstdc++-4.1.2-44.el5&lt;br /&gt;libstdc++-devel-4.1.2-44.el5&lt;br /&gt;compat-libstdc++-296-2.96-138&lt;br /&gt;compat-libstdc++-33-3.2.3-61&lt;br /&gt;[root@alps tmp]#&lt;br /&gt;&lt;br /&gt;Looks like it is looking for libstdc++-lib6.1-1.&lt;br /&gt;&lt;br /&gt;When I did the following the initial error message disappeared:&lt;br /&gt;&lt;br /&gt;# cd /usr/lib&lt;br /&gt;#  ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2&lt;br /&gt;&lt;br /&gt;Then I got the following error:&lt;br /&gt;&lt;br /&gt;$ ./runInstaller&lt;br /&gt;$ Initializing Java Virtual Machine from /tmp/OraInstall2009-05-09_06-50-11AM/jre/bin/java. Please wait...&lt;br /&gt;Error occurred during initialization of VM&lt;br /&gt;Unable to load native library: /tmp/OraInstall2009-05-09_06-50-11AM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When applied the oracle patch: 3006854 - it fixed it:&lt;br /&gt;&lt;br /&gt;[root@alps 3006854]# sh rhel3_pre_install.sh&lt;br /&gt;Applying patch...&lt;br /&gt;Ensuring permissions are correctly set...&lt;br /&gt;Done.&lt;br /&gt;Patch successfully applied&lt;br /&gt;[root@alps 3006854]#&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6926734542063265398?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6926734542063265398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6926734542063265398' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6926734542063265398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6926734542063265398'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/05/errors-while-installing-oracle9i-in.html' title='Errors while installing Oracle9i in Redhat 5.3 (libstdc++-libc6.1-1.so.2)'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-4302195508113640559</id><published>2009-05-19T18:30:00.000-07:00</published><updated>2009-05-19T19:00:47.780-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='_optim_peek_user_bind NO_BIND_AWARE adaptive cursor sharing'/><title type='text'>Adaptive/Intelligent Cursor Sharing in 11g - turning-off</title><content type='html'>Here is how the cursor sharing works at a high level with bind variables, especially in conjunction with Histograms (prior to oracle 11g):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Optimizer peeks value for the bind on initial parse&lt;/li&gt;&lt;li&gt;Initial value of the bind determines the plan&lt;/li&gt;&lt;li&gt;Same plan is used/shared regardless of future bind values&lt;/li&gt;&lt;li&gt;One plan not always appropriate and optimal for all bind values and results in following problems or side-effects:&lt;/li&gt;&lt;/ul&gt;                  - Performance problems&lt;br /&gt;                - Instability issues&lt;br /&gt;                - Unhappy end users&lt;br /&gt;&lt;br /&gt;Adaptive Cursor Sharing address this problem.  it shares execution plans ONLY when bind values are "equivalent" - means if it doesn't result in performance degradation.  This is the default behavior in Oracle11g.&lt;br /&gt;&lt;br /&gt;More information on adaptive cursor sharing can be found at: http://optimizermagic.blogspot.com/2009/04/update-on-adaptive-cursor-sharing.html - The intention of this post is not to talk about this feature - but how to turn-off this default behavior.  I can't really think of a reason why anyone would like to turn this feature off, but it is possible, if at all we need it for some reason.  This can be achieved by using NO_BIND_AWARE hint.&lt;br /&gt;&lt;br /&gt;I believe this hint is meant to be an alternative for using the hidden parameter - &lt;em&gt;_optim_peek_user_binds=false    which is used to turn-off bind peeking.  &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Here is the example:&lt;br /&gt;&lt;br /&gt;The default behavior:&lt;br /&gt;&lt;br /&gt;SQL&gt; variable lv_id number;&lt;br /&gt;&lt;br /&gt;SQL&gt; exec :lv_id :=100;&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;SQL&gt; Select count(*) from sh.sales where prod_id = :lv_id;&lt;br /&gt;&lt;br /&gt;COUNT(*)&lt;br /&gt;----------&lt;br /&gt;       0&lt;br /&gt;&lt;br /&gt;----if the bind values are peeked, we would see records in V$SQL_CS_STATISTICS:&lt;br /&gt;&lt;br /&gt;SQL&gt; Select address, child_number, peeked, executions from v$sql_cs_statistics;&lt;br /&gt;&lt;br /&gt;ADDRESS  CHILD_NUMBER P EXECUTIONS&lt;br /&gt;-------- ------------ - ----------&lt;br /&gt;34C54884            0 Y          1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now, let's turn off bind peeking.&lt;br /&gt;======================&lt;br /&gt;&lt;br /&gt;SQL&gt;  alter system flush shared_pool;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SQL&gt;  exec :lv_id :=1000;&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;SQL&gt; Select /*+ &lt;span id="{355F78D4-AEB9-462E-8AE5-859F12E19BE7}" style="font-weight: bold;"&gt;NO_BIND_AWARE&lt;/span&gt; */ count(*) from sh.sales where prod_id = :lv_id;&lt;br /&gt;&lt;br /&gt;COUNT(*)&lt;br /&gt;----------&lt;br /&gt;       0&lt;br /&gt;----With the above hint, the sql is not bind aware, therefore we don't see any records in v$SQL_CS_STATISTICS view.&lt;br /&gt;&lt;br /&gt;SQL&gt;  Select address, child_number, peeked, executions from v$sql_cs_statistics;&lt;br /&gt;&lt;br /&gt;no rows selected&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;I guess, this is a better and elegant way to turn-off bind-peeking at the SQL level instead of turning-off bind-peeking at the instance level using the hidden parameter - _optim_peek_user_binds.   Again, this parameter is typically used to prevent the side/ill-effects of bind-peeking and the same is now (with 11g) obviated with the introduction of Adaptive Cursor Sharing feature in 11g.&lt;br /&gt;&lt;br /&gt;BTW, this hint is available in 11.1.0.7.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-4302195508113640559?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/4302195508113640559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=4302195508113640559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4302195508113640559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4302195508113640559'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/05/adaptiveintelligent-cursor-sharing-in.html' title='Adaptive/Intelligent Cursor Sharing in 11g - turning-off'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-8013813280326045516</id><published>2009-05-18T17:56:00.000-07:00</published><updated>2009-05-19T12:15:15.827-07:00</updated><title type='text'>Oracle11g CRS new command</title><content type='html'>Just found out that the functionality of the "crsctl" command has been expanded in Oracle11g.  Prior to Oracle11g, we did not have the ability to check the status of the cluster on other (non-local) nodes in the cluster using "crsctl" - but oracle11g makes it now possible:&lt;br /&gt;&lt;br /&gt;[root@racnode01 bin]# ./crsctl check cluster&lt;br /&gt;racnode01    ONLINE&lt;br /&gt;racnode02    ONLINE&lt;br /&gt;[root@racnode01 bin]#&lt;br /&gt;&lt;br /&gt;Of course, we could very well use "crsstat" command  to determine the status of CRS on non-local nodes - but not straight-forward and simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-8013813280326045516?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/8013813280326045516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=8013813280326045516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/8013813280326045516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/8013813280326045516'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/05/oracle11g-crs-new-command.html' title='Oracle11g CRS new command'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-8060141487978336168</id><published>2009-04-22T12:15:00.000-07:00</published><updated>2009-04-22T12:16:22.973-07:00</updated><title type='text'>Oracle Support Bug Status Codes...</title><content type='html'>When you have an SR open with Oracle needing a bug fix, most of the times the status would be indicated in codes.  Here is the list of codes and what it means...thought would come in handy:&lt;br /&gt;&lt;br /&gt;10 - Description Phase: Development is requesting more information.&lt;br /&gt;16 - Support bug screening: Bug is being reviewed by our Bug Diagnostics group.&lt;br /&gt;11 - Code Bug (Response/Resolution): Bug is being worked by Development.&lt;br /&gt;30 - Additional Information Requested: Bug is being worked by Support and/or more information was requested by Development.&lt;br /&gt;37 - To Filer for Review/Merge Required: Bug has been fixed but the patch will be merged into the next patchset.&lt;br /&gt;80 - Development to Q/A: Bug is being regression tested for future release.&lt;br /&gt;81 - Q/A to Dev/Patch or Workaround Avble: Patch released via Metalink.&lt;br /&gt;90 - Closed, Verified by Filer: Bug has been fixed and is closed.&lt;br /&gt;91 - Closed, Could Not Reproduce: Bug is closed as not reproducible.&lt;br /&gt;92 - Closed, Not a Bug: Bug is closed as not a bug (not reproducible or setup issue).&lt;br /&gt;93 - Closed, Not Verified by Filer: Bug has been fixed and is closed.&lt;br /&gt;95 - Closed, Vendor OS Problem: Bug is closed as an OS problem.&lt;br /&gt;96 - Closed, Duplicate Bug: Bug is closed as a duplicate bug.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-8060141487978336168?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/8060141487978336168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=8060141487978336168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/8060141487978336168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/8060141487978336168'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/04/oracle-support-bug-status-codes.html' title='Oracle Support Bug Status Codes...'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6076123915093767171</id><published>2009-04-17T04:54:00.000-07:00</published><updated>2009-04-17T04:58:06.507-07:00</updated><title type='text'>ORA-38856 - while opening a cloned RAC database</title><content type='html'>I was attempting to open a cloned RAC database and got the following error:&lt;br /&gt;&lt;br /&gt;SYS@NETFRD1&gt; alter database open resetlogs;&lt;br /&gt;alter database open resetlogs&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled&lt;br /&gt;&lt;br /&gt;The fix was to use the undocumented parameter - _no_recovery_through_resetlogs=TRUE to open the database.  I guess this is one of those scenarios where Oracle suggests using this undocumented/unsupported parameter.  Here is what I did to get pass the problem:&lt;br /&gt;&lt;br /&gt;1.  Shutdown;&lt;br /&gt;2.  Startup mount (with the parameter _no_recovery_through_resetlogs=TRUE set in init.ora)&lt;br /&gt;3. Open the database with RESETLOGS;&lt;br /&gt;&lt;br /&gt;SYS@NETFRD1&gt; alter database open resetlogs;&lt;br /&gt;alter database open resetlogs&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SYS@NETFRD1&gt; shutdown immediate;&lt;br /&gt;ORA-01109: database not open&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;SYS@NETFRD1&gt; !vi /tmp/init$ORACLE_SID.ora&lt;br /&gt;&lt;br /&gt;SYS@NETFRD1&gt; startup mount pfile=/tmp/init$ORACLE_SID.ora&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 1577058304 bytes&lt;br /&gt;Fixed Size                  2084232 bytes&lt;br /&gt;Variable Size             385876600 bytes&lt;br /&gt;Database Buffers         1174405120 bytes&lt;br /&gt;Redo Buffers               14692352 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;SYS@NETFRD1&gt; alter database open resetlogs;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6076123915093767171?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6076123915093767171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6076123915093767171' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6076123915093767171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6076123915093767171'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/04/ora-38856-while-opening-cloned-rac.html' title='ORA-38856 - while opening a cloned RAC database'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-2388616416783037618</id><published>2009-02-16T08:03:00.000-08:00</published><updated>2009-02-16T08:06:43.174-08:00</updated><title type='text'>ORA-39006, ORA-39065,ORA-25306,ORA-39079 while exporting using EXPDP</title><content type='html'>Encountered the following error messages which attempting to do an export of a database using Data Pump utility with 10.2.0.4:&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;ORA-39006: internal error&lt;br /&gt;ORA-39065: unexpected master process exception in  DISPATCH&lt;br /&gt;ORA-39079: unable to enqueue message DG,KUPC$S_3_20090213124234,MCP,  ,1,Y&lt;br /&gt;ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86&lt;br /&gt;ORA-06512: at  "SYS.KUPC$QUE_INT", line 924&lt;br /&gt;ORA-25306: Cannot connect to buffered queue's  owner instance&lt;/span&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;span style="font-size: 12pt;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt; &lt;div&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;ORA-39097: Data Pump job encountered  unexpected error -39079&lt;br /&gt;ORA-39065: unexpected master process exception in  KUPC$QUEUE_INT.PUT_STATUS&lt;br /&gt;ORA-39079: unable to enqueue message  DG,KUPC$S_3_20090213124234,MCP, ,1,Y&lt;br /&gt;ORA-06512: at "SYS.DBMS_SYS_ERROR", line  86&lt;br /&gt;ORA-06512: at "SYS.KUPC$QUE_INT", line 924&lt;br /&gt;ORA-25306: Cannot connect to  buffered queue's&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;This seems to be a bug but couldn't find any published information in metalink.  Setting the value for the parameters aq_tm_processes to 4 from a value of 0 worked.  There are several other databases with the default setting of 0, but they don't seem to have problems with expdp.  Hopefully, this will have a fix in 10.2.0.5.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Hope this helps others who encounter similar errors.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-2388616416783037618?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/2388616416783037618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=2388616416783037618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/2388616416783037618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/2388616416783037618'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/02/ora-39006-ora-39065ora-25306ora-39079.html' title='ORA-39006, ORA-39065,ORA-25306,ORA-39079 while exporting using EXPDP'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-4041208049471100062</id><published>2009-02-08T20:18:00.000-08:00</published><updated>2009-04-15T08:41:00.773-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-1555'/><title type='text'>Bypassing/ignoring or skipping ORA-1555 errors</title><content type='html'>I was researching a corruption issue using various Metalink link notes and stumbled upon a note/bug which provides a way to ignore or skip ORA-1555 errors for queries.  Obviously, this will result in getting inconsistent data/result-set.  As of now, I am not sure as to what type situations will have a practical use of this feature.  This is available in Oracle 11g 11.1.0.7. This is done using a hint - SCN_ASCENDING.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In Session 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;chandra@AEDB01:11g&gt; Select Distinct phone from acs_emp;&lt;br /&gt;&lt;br /&gt;PHONE&lt;br /&gt;--------------------&lt;br /&gt;972-500-8999&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In Session 2: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;chandra@AEDB01:11g&gt; Select /*+ scn_ascending */ * from acs_emp;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;While this session is in progress, I have updated the phone column:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Back in Session 1:&lt;br /&gt;&lt;br /&gt;chandra@AEDB01:11g&gt; update acs_emp set phone='888-888-8888';&lt;br /&gt;&lt;br /&gt;100000 rows updated.&lt;br /&gt;&lt;br /&gt;chandra@AEDB01:11g&gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Back to Session 2&lt;/span&gt; where our select was in progress:  You will notice that we got data which was NOT consistent with the data which existed at the point in time when the query was initiated.  The SCN got changed in the middle - meaning inconsistent / questionable data!.  Without the above mentioned HINT, it wouldn't have been possible to see such inconsistent result set.  Hopefully, this hint is a well-intentioned one.&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 0);"&gt;650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    650831 972-500-8999&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;    652088 888-888-8888&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-4041208049471100062?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/4041208049471100062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=4041208049471100062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4041208049471100062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4041208049471100062'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2009/02/bypassingignoring-or-skipping-ora-1555.html' title='Bypassing/ignoring or skipping ORA-1555 errors'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-335081177567714363</id><published>2008-09-03T11:01:00.000-07:00</published><updated>2008-09-03T11:03:40.912-07:00</updated><title type='text'>java.lang.UnsatisfiedLinkError: libawt.so: libXp.so.6 during 10g Install on OEL 5.0</title><content type='html'>Today, while I attempting to install Oracle10gR2 (10.2.0.1) on a new server with Oracle Enterprise Linux 5.0, got the following error when OUI was invoked. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;java.lang.UnsatisfiedLinkError: libawt.so: libXp.so.6: cannot open shared object file: No such file or directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Later, found that the package libXp-1.0.0-8.i386.rpm doesn't get installed by default with OEL 5.0.  Once the package was installed, the OUI was good to go!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[root@rhvm01 RPMs]# rpm -ivh libXp-1.0.0-8.i386.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;warning: libXp-1.0.0-8.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Preparing...                ########################################### [100%]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   1:libXp                  ########################################### [100%]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[root@rhvm01 RPMs]#&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-335081177567714363?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/335081177567714363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=335081177567714363' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/335081177567714363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/335081177567714363'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2008/09/javalangunsatisfiedlinkerror-libawtso.html' title='java.lang.UnsatisfiedLinkError: libawt.so: libXp.so.6 during 10g Install on OEL 5.0'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-7554892938216637133</id><published>2008-05-19T07:39:00.001-07:00</published><updated>2008-05-19T07:57:09.497-07:00</updated><title type='text'>Oracle Home Cloning For RAC</title><content type='html'>A short note on the steps for cloning Oracle Home for RAC:&lt;br /&gt;&lt;br /&gt;1. On all Nodes: Copy existing ORACLE_HOME binaries to a new OH location&lt;br /&gt;    $cp -pr /opt/oracle/product/10.2.0.2 /opt/oracle/product/10.2.0.4&lt;br /&gt;&lt;br /&gt;2. Add entries for the new Oracle_HOME into the inventory&lt;br /&gt;&lt;ul&gt;&lt;li&gt; CD to the new OH: cd /opt/oracle/product/10.2.0.4/clone/bin&lt;/li&gt;&lt;li&gt;perl clone.pl ORACLE_HOME=/opt/oracle/product/10.2.0.4 ORACLE_HOME_NAME=Ora10g_10204 "CLUSTER_NODES=alps,everest" "LOCAL_NODE=alps"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Execute /opt/oracle/product/10.2.0.4/root.sh script as root.&lt;/li&gt;&lt;li&gt;Apply the 10.2.0.4 patchset unto the newly created OH&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-7554892938216637133?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/7554892938216637133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=7554892938216637133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/7554892938216637133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/7554892938216637133'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2008/05/oracle-home-cloning-for-rac.html' title='Oracle Home Cloning For RAC'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-4447229802597536400</id><published>2008-04-27T11:48:00.000-07:00</published><updated>2008-04-27T12:31:16.769-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='APEX configuration 11g'/><title type='text'>APEX Configuration - 11g</title><content type='html'>APEX is included with the default Oracle11g installation. You can check if the APEX component is included in the installation by verifying the existence of apex directory under $OH and also by checking DBA_REGISTRY:&lt;br /&gt;&lt;br /&gt;SQL&gt; Select comp_name, version, status from dba_registry where comp_name&lt;br /&gt;2 like '%Express%';&lt;br /&gt;&lt;br /&gt;COMP_NAME VERSION STATUS&lt;br /&gt;------------------------------ ------------------------------ -----------&lt;br /&gt;Oracle Expression Filter 11.1.0.6.0 VALID&lt;br /&gt;Oracle Application Express 3.0.1.00.08 VALID&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Configuring APEX&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Login as SYSDBA and run the script $OH/apex/apxconf&lt;br /&gt;&lt;br /&gt;SQL&gt; @apxconf&lt;br /&gt;&lt;br /&gt;PORT&lt;br /&gt;----------&lt;br /&gt;8080&lt;br /&gt;&lt;br /&gt;Enter values below for the XDB HTTP listener port and the password for the Application Express ADMIN user.&lt;br /&gt;Default values are in brackets [ ].&lt;br /&gt;Press Enter to accept the default value.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enter a password for the ADMIN user [] chandra&lt;br /&gt;Enter a port for the XDB HTTP listener [ 8080]&lt;br /&gt;...changing HTTP Port&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Session altered.&lt;br /&gt;&lt;br /&gt;...changing password for ADMIN&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;2. Set the port number:&lt;br /&gt;&lt;br /&gt;SQL&gt; exec dbms_xdb.sethttpport(8080);&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;3. Unlock the ANONYMOUS ACCOUNT:&lt;br /&gt;&lt;br /&gt;4. Logon to APEX using http://hostname:8080/apex/apex_admin&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_zO1TXgMhPPw/SBTSXUU2rXI/AAAAAAAAAEg/MbW6lz2Y8RM/s1600-h/APEX_Login.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5194007568300027250" style="CURSOR: hand" alt="" src="http://bp1.blogger.com/_zO1TXgMhPPw/SBTSXUU2rXI/AAAAAAAAAEg/MbW6lz2Y8RM/s400/APEX_Login.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Use ADMIN as the username and the password which we used at step one above.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Create a WORKSPACE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp1.blogger.com/_zO1TXgMhPPw/SBTUPUU2rYI/AAAAAAAAAEo/FEx8Cgu30i0/s1600-h/Cr_workspace1.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5194009629884329346" style="CURSOR: hand" alt="" src="http://bp1.blogger.com/_zO1TXgMhPPw/SBTUPUU2rYI/AAAAAAAAAEo/FEx8Cgu30i0/s320/Cr_workspace1.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_zO1TXgMhPPw/SBTUPkU2rZI/AAAAAAAAAEw/Fn5zkSrqcoI/s1600-h/Cr_workspace2.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5194009634179296658" style="CURSOR: hand" alt="" src="http://bp2.blogger.com/_zO1TXgMhPPw/SBTUPkU2rZI/AAAAAAAAAEw/Fn5zkSrqcoI/s320/Cr_workspace2.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp3.blogger.com/_zO1TXgMhPPw/SBTUP0U2raI/AAAAAAAAAE4/Wyu-dTQQVeE/s1600-h/Cr_workspace3.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5194009638474263970" style="CURSOR: hand" alt="" src="http://bp3.blogger.com/_zO1TXgMhPPw/SBTUP0U2raI/AAAAAAAAAE4/Wyu-dTQQVeE/s320/Cr_workspace3.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_zO1TXgMhPPw/SBTUQEU2rbI/AAAAAAAAAFA/b4Cl83x7BIQ/s1600-h/Cr_workspace4.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5194009642769231282" style="CURSOR: hand" alt="" src="http://bp0.blogger.com/_zO1TXgMhPPw/SBTUQEU2rbI/AAAAAAAAAFA/b4Cl83x7BIQ/s320/Cr_workspace4.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With this we will have a WORKSPACE to start creating our own applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-4447229802597536400?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/4447229802597536400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=4447229802597536400' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4447229802597536400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/4447229802597536400'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2008/04/apex-configuration-11g.html' title='APEX Configuration - 11g'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_zO1TXgMhPPw/SBTSXUU2rXI/AAAAAAAAAEg/MbW6lz2Y8RM/s72-c/APEX_Login.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6685062065265181852</id><published>2008-03-08T15:47:00.000-08:00</published><updated>2009-04-17T05:00:26.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-27102: out of memory'/><title type='text'>ORA-27102: out of memory</title><content type='html'>Though we may have sufficient free physical memory, we often see this error message indicative of low memory availability.  But the actual cause of this error is typically caused by the incorrect value set for shmall kernel parameter.&lt;br /&gt;&lt;br /&gt;1.  Let' set the value for shmall to a very low value.&lt;br /&gt;    Current Value:&lt;br /&gt;    &lt;br /&gt;    [root@chandra ~]# sysctl -a |grep shmall&lt;br /&gt;    &lt;span style="font-weight:bold;"&gt;kernel.shmall = 1000000&lt;/span&gt;&lt;br /&gt;    [root@chandra ~]#&lt;br /&gt;&lt;br /&gt;    Setting the value to a new/low value:&lt;br /&gt;    &lt;br /&gt;    [root@chandra ~]# sysctl -w kernel.shmall=10000&lt;br /&gt;    kernel.shmall = 10000&lt;br /&gt;    [root@chandra ~]# sysctl -a |grep shmall&lt;br /&gt;    &lt;span style="font-weight:bold;"&gt;kernel.shmall = 10000&lt;/span&gt;&lt;br /&gt;    [root@chandra ~]#&lt;br /&gt;&lt;br /&gt;2.  An attempt to startup the database fails with ORA-27102&lt;br /&gt;&lt;br /&gt;    SQL&gt; startup&lt;br /&gt;    ORA-27102: out of memory&lt;br /&gt;    Linux Error: 28: No space left on device&lt;br /&gt;    SQL&gt;&lt;br /&gt;&lt;br /&gt;    It failed with "out of memory" error message, though, we have 500M free space&lt;br /&gt;&lt;br /&gt;    [root@chandra ~]# free&lt;br /&gt;             total       used       free     shared    buffers     cached&lt;br /&gt;    Mem:       2066192    1488748     &lt;span style="font-weight:bold;"&gt;577444 &lt;/span&gt;         0      18496    1134776&lt;br /&gt;     -/+ buffers/cache:     335476    1730716&lt;br /&gt;     Swap:      8225172          0    8225172&lt;br /&gt;     [root@chandra ~]#&lt;br /&gt;&lt;br /&gt;3.  Let's set the shmall back to value to a high value:&lt;br /&gt;&lt;br /&gt;    [root@chandra ~]# sysctl -w kernel.shmall=1000000&lt;br /&gt;    kernel.shmall = 1000000&lt;br /&gt;    [root@chandra ~]#&lt;br /&gt;&lt;br /&gt;4.  An attempt to startup the database just works, even though nothing from the memory utilization or availability perspective changed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6685062065265181852?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6685062065265181852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6685062065265181852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6685062065265181852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6685062065265181852'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2008/03/ora-27102-out-of-memory.html' title='ORA-27102: out of memory'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-1461369242414115622</id><published>2008-02-09T10:19:00.000-08:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRS rolling Upgrade from 10g to 11g'/><title type='text'>Oracle 10g CRS upgrade to 11g CRS</title><content type='html'>To upgrade Oracle 10g CRS to 11g CRS, we have two options  -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Perform a rolling upgrade (this requires that your current CRS version &gt;=10.2.0.3 (or 10.2.0.2 with Bundle patch). This option allows us to upgrade the CRS without a complete unavailabilty of downtime&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Upgrade the CRS on all the nodes at the same time with complete downtime.&lt;/li&gt;&lt;/ul&gt;I will go over the steps for upgrading the CRS to 11g using the first option mentioned above.&lt;br /&gt;&lt;br /&gt;On Node 1:&lt;br /&gt;&lt;br /&gt;1.  Stop the CRS:  Either use $CRS_HOME/bin/crsctl stop crs as root or run the following from the staging as root:&lt;br /&gt;&lt;strong&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;br /&gt;/&lt;stage_area&gt;Staging_Area/11.1.0.6/clusterware/upgrade/preupdate.sh –crshome $CRS_HOME –crsuser oracle&lt;o:p&gt;&lt;/o:p&gt;&lt;/stage_area&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;2.  Invoke runInstaller from the staging area:&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/CMRS/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/CMRS/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/CMRS/LOCALS%7E1/Temp/moz-screenshot-3.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R6372oqo2nI/AAAAAAAAACc/O_XK-llHsvc/s1600-h/1crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R6372oqo2nI/AAAAAAAAACc/O_XK-llHsvc/s400/1crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061263711591026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3.  As you notice, the option to specify the Home and the destination directory is disabled since OUI has detected the existence of a Cluster.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/R638UYqo2oI/AAAAAAAAACk/DC1GLyWIT6M/s1600-h/2crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/R638UYqo2oI/AAAAAAAAACk/DC1GLyWIT6M/s400/2crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061774812699266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4.  Select the local node (in my case it is alps01), selecting both the nodes requires the CRS to be down on both the nodes - meaning it would require a complete downtime - and would no more be a rolling upgrade:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R638Uoqo2pI/AAAAAAAAACs/qWVvvJJZjys/s1600-h/3crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R638Uoqo2pI/AAAAAAAAACs/qWVvvJJZjys/s400/3crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061779107666578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5.  Not shutting down the CRS on the local node would cause the following error:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/R638U4qo2qI/AAAAAAAAAC0/CFmCCViycNQ/s1600-h/4crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/R638U4qo2qI/AAAAAAAAAC0/CFmCCViycNQ/s400/4crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061783402633890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6.  This information would appear in the install logs - pretty detailed and informative :-)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/R638U4qo2rI/AAAAAAAAAC8/US1hhvWnc5g/s1600-h/5crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/R638U4qo2rI/AAAAAAAAAC8/US1hhvWnc5g/s400/5crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061783402633906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7.  Once you shutdown the CRS on the local node and when re-attempted, it should be fine (no errors or warnings):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/R638VIqo2sI/AAAAAAAAADE/X_b2HudxADA/s1600-h/6crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/R638VIqo2sI/AAAAAAAAADE/X_b2HudxADA/s400/6crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165061787697601218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;8.  On clicking next, the summary screen would appear.  Note that we are upgrading the CRS only the local node (alps01):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/R639aIqo2tI/AAAAAAAAADM/ccYhyYkDLMQ/s1600-h/7crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/R639aIqo2tI/AAAAAAAAADM/ccYhyYkDLMQ/s400/7crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165062973108574930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;9.  Install progress screen:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/R639aYqo2uI/AAAAAAAAADU/JAH22DJqPUY/s1600-h/8crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/R639aYqo2uI/AAAAAAAAADU/JAH22DJqPUY/s400/8crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165062977403542242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;10. At the end of the upgrade, the Installer would prompted us to run the rootupgrade script as root:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R639aoqo2vI/AAAAAAAAADc/k9VvkswH_Ng/s1600-h/9crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R639aoqo2vI/AAAAAAAAADc/k9VvkswH_Ng/s400/9crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165062981698509554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;11.  Output of the rootupgrade script:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R63_Woqo2yI/AAAAAAAAAD0/uM4mOBqUMns/s1600-h/11a.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R63_Woqo2yI/AAAAAAAAAD0/uM4mOBqUMns/s400/11a.gif" alt="" id="BLOGGER_PHOTO_ID_5165065112002288418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;12.  Check the status of CRS versions:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/R639a4qo2wI/AAAAAAAAADk/svHZtykkN84/s1600-h/10crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/R639a4qo2wI/AAAAAAAAADk/svHZtykkN84/s400/10crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165062985993476866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On Node 2:&lt;br /&gt;13.  Shutdown the CRS on node 2.  Note that while performing a rolling upgrade, we have to invoke the OUI from the second node and this can't be done from node 1.&lt;br /&gt;&lt;br /&gt;14.  Invoke the OUI from node 2 and select only the local node and deselect the remote or first node:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/R639bIqo2xI/AAAAAAAAADs/GdSKQQIJjEM/s1600-h/11crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/R639bIqo2xI/AAAAAAAAADs/GdSKQQIJjEM/s400/11crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165062990288444178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;15.  Cluster Verification screen....looks good.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/R64CGIqo2zI/AAAAAAAAAD8/uuSdAzd-RDE/s1600-h/12crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/R64CGIqo2zI/AAAAAAAAAD8/uuSdAzd-RDE/s400/12crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165068127069330226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;17.  Prompt to run rootupgrade script after the upgrade on Node 2:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R64CGYqo20I/AAAAAAAAAEE/wHI-7T_5tbY/s1600-h/13crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R64CGYqo20I/AAAAAAAAAEE/wHI-7T_5tbY/s400/13crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165068131364297538" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;18.  Output of rootupgrade script on Node 2:&lt;br /&gt;&lt;br /&gt;    &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Courier New, monospace;"&gt;&lt;span style="font-size: 11pt;font-size:85%;" &gt;[root@everest02 upgrade]# /opt/oracle/product/crs/install/rootupgrade&lt;br /&gt;Checking to see if Oracle CRS stack is already up...&lt;br /&gt;WARNING: directory '/opt/oracle/product' is not owned by root&lt;br /&gt;WARNING: directory '/opt/oracle' is not owned by root&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;                       &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Courier New, monospace;"&gt;&lt;span style="font-size: 11pt;font-size:85%;" &gt;Oracle Cluster Registry configuration upgraded successfully&lt;br /&gt;Adding daemons to inittab&lt;br /&gt;Attempting to start Oracle Clusterware stack&lt;br /&gt;Waiting for Cluster Synchronization Services daemon to start&lt;br /&gt;Waiting for Cluster Synchronization Services daemon to start&lt;br /&gt;Waiting for Cluster Synchronization Services daemon to start&lt;br /&gt;Cluster Synchronization Services daemon has started&lt;br /&gt;Event Manager daemon has started&lt;br /&gt;Cluster Ready Services daemon has started&lt;br /&gt;Oracle CRS stack is running under init(1M)&lt;br /&gt;clscfg: EXISTING configuration version 3 detected.&lt;br /&gt;clscfg: version 3 is 10G Release 2.&lt;br /&gt;Successfully accumulated necessary OCR keys.&lt;br /&gt;Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.&lt;br /&gt;node &lt;nodenumber&gt;: &lt;nodename&gt; &lt;private&gt; &lt;hostname&gt;&lt;br /&gt;node 2: everest02 everest02-priv everest02&lt;br /&gt;Creating OCR keys for user 'root', privgrp 'root'..&lt;br /&gt;Operation successful.&lt;br /&gt;clscfg -upgrade completed successfully&lt;br /&gt;CRS stack on this node, is successfully upgraded to 11.1.0.6.0&lt;br /&gt;Checking the existence of nodeapps on this node&lt;br /&gt;Creating '/opt/oracle/product/crs/install/paramfile.crs' with data used for CRS configuration&lt;br /&gt;Setting CRS configuration values in /opt/oracle/product/crs/install/paramfile.crs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Courier New, monospace;"&gt;&lt;span style="font-size: 11pt;font-size:85%;" &gt;[root@everest02 upgrade]#&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;19.  Check or verify the version of CRS:&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/CMRS/LOCALS%7E1/Temp/moz-screenshot-2.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/CMRS/LOCALS%7E1/Temp/moz-screenshot-2.jpg" alt="" /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zO1TXgMhPPw/R64CGYqo21I/AAAAAAAAAEM/aQJL-4kwjrw/s1600-h/14crs.gif"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_zO1TXgMhPPw/R64CGYqo21I/AAAAAAAAAEM/aQJL-4kwjrw/s400/14crs.gif" alt="" id="BLOGGER_PHOTO_ID_5165068131364297554" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-1461369242414115622?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/1461369242414115622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=1461369242414115622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1461369242414115622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/1461369242414115622'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2008/02/oracle-10g-crs-upgrade-to-11g-crs.html' title='Oracle 10g CRS upgrade to 11g CRS'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zO1TXgMhPPw/R6372oqo2nI/AAAAAAAAACc/O_XK-llHsvc/s72-c/1crs.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-5918009044866662692</id><published>2007-09-03T08:09:00.000-07:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><title type='text'>Configuring SSH</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Configure SSH between two nodes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While logged in as oracle perform the following on each of the nodes of the RAC:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;mkdir ~/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;chmod 700 ~/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;/usr/bin/ssh-keygen -t rsa&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;/usr/bin/ssh-keygen -t dsa&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; On Node 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_rsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_dsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;Copy the authorized_keys file to the node 2. scp authorized_keys node2:/opt/oracle/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;On Node 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_rsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_dsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;scp authorized_keys node1:/opt/oracle/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Now perform a ssh between all the nodes including the node-priv hostnames as well. &lt;/software_loc&gt;Check to make sure that ssh is configured well without prompting for the password (on both the nodes):&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;$ ssh coke.pinnacle.com date&lt;br /&gt;Sun Aug 12 08:41:42 CDT 2007&lt;br /&gt;$ ssh pepsi.pinnacle.com date&lt;br /&gt;Sun Aug 12 08:42:23 CDT 2007&lt;br /&gt;$ ssh coke-priv date&lt;br /&gt;Sun Aug 12 08:42:45 CDT 2007&lt;br /&gt;$ ssh pepsi-priv date&lt;br /&gt;Sun Aug 12 08:43:22 CDT 2007&lt;br /&gt;&lt;/software_loc&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-5918009044866662692?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/5918009044866662692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=5918009044866662692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5918009044866662692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/5918009044866662692'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2007/09/configuring-ssh.html' title='Configuring SSH'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-313802282729620120</id><published>2007-08-15T08:49:00.000-07:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firewire modules not loading'/><title type='text'>Firewire Modules not loading or not compatible with  the kernel version</title><content type='html'>The Firewire modules are currently not available for all the kernel versions of Red Hat 4.0, and I really doubt if Oracle is going to make available the Firewire modules for them.  For example, my installed kernel version is &lt;span style="font-weight: bold;"&gt;2.6.9-42.0.0.0.1.EL&lt;/span&gt;, but there are no firewire modules available for this version of kernel and the only closest module available is &lt;span style="font-weight: bold;"&gt;oracle-firewire-modules-2.6.9-42.0.3.EL-1286-1.i686.rpm&lt;/span&gt;. v    Obviously, the versions are not compatible and the modules wouldn't load, even if you install and when attempted you are likely to see:&lt;br /&gt;&lt;div style="font-weight: bold;" id="mb_0"&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;# rpm -ivhi --force oracle-firewire-modules-2.6.9&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;-42.0.3.EL-1286-1.i686.rpm&lt;/span&gt;&lt;div id="mb_0"&gt;&lt;span style="font-weight: normal;"&gt;Preparing...                ##############################&lt;/span&gt;&lt;wbr style="font-weight: normal;"&gt;&lt;span style="font-weight: normal;"&gt;############# [100%]&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;   1:oracle-firewire-modules#####&lt;/span&gt;&lt;wbr style="font-weight: normal;"&gt;&lt;span style="font-weight: normal;"&gt;##############################&lt;/span&gt;&lt;wbr style="font-weight: normal;"&gt;&lt;span style="font-weight: normal;"&gt;######## [100%]&lt;br /&gt;&lt;br /&gt;# modprobe ohci1394 ; modprobe sbp2&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: normal;" id="st" name="st" class="st"&gt;FATAL&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: normal;"&gt;: Module ohci1394 not found.&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: normal;" id="st" name="st" class="st"&gt;FATAL&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: normal;"&gt;: Module sbp2 not found. &lt;/span&gt; &lt;span style="font-weight: normal;"&gt;#&lt;br /&gt;&lt;br /&gt;There are possibly two options to fix this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Option 1&lt;/span&gt;: The first one is to load the kernel installed by the firewire module, if you are not very particular about the kernel version.  Once the firewire modules are installed, the /etc/grub.conf is populated with the Firewire kernel and which looks some thing like this:&lt;br /&gt;&lt;br /&gt;#cat /etc/grub.conf&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;&lt;br /&gt;# grub.conf generated by anaconda&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;&lt;br /&gt;#&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;# Note that you do not have to rerun grub after making changes to this file&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;# NOTICE:  You do not have a /boot partition.  This means that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt; #          all kernel and initrd paths are relative to /, eg.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;#          root (hd0,1)&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;&lt;br /&gt;#          kernel /boot/vmlinuz-version ro root=/dev/sda2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;#          initrd /boot/initrd-version.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;#boot=/dev/sda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal; color: rgb(255, 0, 0);"&gt;default=0&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;timeout=5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;splashimage=(hd0,1)/boot/grub&lt;/span&gt;/splash.xpm.gz&lt;br /&gt;&lt;div style="font-weight: normal;" id="mb_0"&gt;hiddenmenu&lt;br /&gt;title Enterprise (2.6.9-42.0.0.0.1.ELhugemem)&lt;br /&gt;     root (hd0,1)&lt;br /&gt;     kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.ELhugemem ro root=LABEL=/ rhgb quiet&lt;br /&gt;     initrd /boot/initrd-2.6.9-42.0.0.0.1.ELhugemem.img&lt;br /&gt;title Enterprise-smp (2.6.9-42.0.0.0.1.ELsmp)&lt;br /&gt;     root (hd0,1)&lt;br /&gt;     kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.ELsmp ro root=LABEL=/ rhgb quiet&lt;br /&gt;     initrd /boot/initrd-2.6.9-42.0.0.0.1.ELsmp.img&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;title Enterprise-up (2.6.9-42.0.0.0.1.EL)&lt;/span&gt; &lt;span style="color: rgb(255, 102, 0);"&gt;        root (hd0,1)&lt;/span&gt; &lt;span style="color: rgb(255, 102, 0);"&gt;        kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.EL ro root=LABEL=/ rhgb quiet&lt;/span&gt; &lt;span style="color: rgb(255, 102, 0);"&gt;        initrd /boot/initrd- 2.6.9-42.0.0.0.1.EL.img&lt;/span&gt;&lt;br /&gt;title Other&lt;br /&gt;     rootnoverify (hd0,0)&lt;br /&gt;     chainloader +1&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;=========================================================&lt;br /&gt;&lt;br /&gt;The entries in &lt;span style="color: rgb(255, 102, 0);"&gt;orange color&lt;/span&gt; are the ones which have been populated by the Firewire modules/kernel.  To load your OS using this kernel, you simply have to update the grub.conf to use that kernel to load by modifying the &lt;span style="color: rgb(255, 0, 0);"&gt;default=0&lt;/span&gt; to &lt;span style="color: rgb(204, 0, 0);"&gt;default=2&lt;/span&gt;.  That should all, when you boot next time using the Firewire modules/kernel, you should be able to load the sbp2, ohci1394 and ieee1394 modules without any problems.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span class="sg"&gt;Option 2:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: normal;"&gt;When you install oracle-firewire-modules-2.6.9-42.0.3.EL-1286-1.i686.rpm rpm it will install the modules under /lib/modules/2.6.9-42.0.3.EL/kernel/drivers/ieee1394, but your existing kernel would be as indicated by `uname -r`.  In my case it was 2.6.9-42.0.0.0.1.EL. &lt;/span&gt;&lt;/li&gt;&lt;li style="font-weight: normal;"&gt;Make a directory ieee1394 under /lib/modules/2.6.9-42.0.0.0.1.EL/kernel/drivers &lt;/li&gt;&lt;li style="font-weight: normal;"&gt;copy the modules which have been installed under /lib/modules/2.6.9-42.0.3.EL/kernel/drivers/ieee1394 to /lib/modules/2.6.9- 42.0.0.0.1.EL/kernel/drivers/ieee1394.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: normal;"&gt;Then run the following commands:&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="font-weight: normal;" id="mb_0"&gt;#depmod -a ieee1394.ko;modprobe ieee1394&lt;br /&gt;#depmod -a ohci1394.ko;modprobe ohci1394&lt;br /&gt;#depmod -a pcilynx.ko;modprobe pcilynx&lt;br /&gt;#depmod -a  raw1394.ko;modprobe raw1394&lt;br /&gt;==============================================&lt;br /&gt;&lt;br /&gt;Update the etc/modprobe.conf. For example, the entry       in the /etc/modprobe.conf file would be:        options sbp2 exclusive_login=0&lt;br /&gt;&lt;br /&gt;Now you should be able to load the Firewire modules without changing your kernel.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;==================================================================&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Checking the integrity of the downloaded firewire module:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;$md5sum oracle-firewire-modules-2.6.9-42.0.3.EL-1286-1.i686.rpm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;7fe3c83291ffab284f6f941b717dacb1  oracle-firewire-modules-2.6.9-42.0.3.EL-1286-1.i686.rpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Verify the above code (7fe3c83291ffab284f6f941b717dacb1) with that &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;indicated in the source website.&lt;/span&gt;&lt;br /&gt;&lt;/div&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/8114408830189879989-313802282729620120?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/313802282729620120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=313802282729620120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/313802282729620120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/313802282729620120'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2007/08/firewire-modules-not-loading-or-not.html' title='Firewire Modules not loading or not compatible with  the kernel version'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-3424602199442057951</id><published>2007-08-13T15:38:00.000-07:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><title type='text'>Export/Import Pump - Copying Schemas</title><content type='html'>&lt;p&gt;Let’s say that we have a Schema in Database A, which needs to be copied over to Database B. With the traditional export/import, we have to precreate the user account in the Database B, before we can import the schema. But with oracle10g’s Pump utility, it is just one simple step:&lt;/p&gt; &lt;p&gt;Here is an example. In this example, the schema CHANDRA exists in database A and we attempt to copy over the same schema as CHANDRA3 in a remote database (rhes01.myoracle.com).&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;$impdp system/******* schemas=chandra network_link=&lt;strong&gt;rhes01.myoracle.com&lt;/strong&gt; remap_schema=&lt;strong&gt;chandra:chandra3&lt;/strong&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Import: Release 10.2.0.3.0 - Production on Saturday, 05 May, 2007 18:54:21&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Copyright (c) 2003, 2005, Oracle.  All rights reserved.&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;With the Partitioning, OLAP and Data Mining options&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Starting “SYSTEM”.”SYS_IMPORT_SCHEMA_01″: system/******** schemas=chandra network_link=rhes01.myoracle.com remap_schema=chandra:chandra3&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Estimate in progress using BLOCKS method…&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Total estimation using BLOCKS method: 0 KB&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/USER&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/SYSTEM_GRANT&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/ROLE_GRANT&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/DEFAULT_ROLE&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Processing object type SCHEMA_EXPORT/TABLE/TABLE&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;Job “SYSTEM”.”SYS_IMPORT_SCHEMA_01″ successfully completed at 18:54:51&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;******************************************************************************************&lt;br /&gt;This creates the user CHANDRA3 as well in the remote/target database.&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt; &lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;&lt;u&gt;&lt;strong&gt;Don’t forget to provide different filenames when PARALLEL is used with Export Dump.&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt; If you use PARALLEL option with Export Dump and fail to provide file names equal to the number of PARALLEL, then it would perform the export in serial - meaning writes to a single file.&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;For example, if you have something like this: &lt;em&gt;$ expdp dumpfile=expdat.dmp directory=dump_dir parallel=4&lt;/em&gt;&lt;br /&gt;It would create just one file with the name expdat.dmp.  Instead you can specify some thing like:&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt; &lt;em&gt;$ expdp dumpfile=expdat.%U.dmp directory=dump_dir parallel=4 &lt;/em&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0pt;"&gt;This would create 4 files in parallel with names (expdat.01.dmp, expdat.02.dmp, expdat.03.dmp..).&lt;/p&gt;  *********************************************************************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-3424602199442057951?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/3424602199442057951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=3424602199442057951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3424602199442057951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/3424602199442057951'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2007/08/exportimport-pump-copying-schemas.html' title='Export/Import Pump - Copying Schemas'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6516548370924333106</id><published>2007-08-13T10:53:00.000-07:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='11g RAC CRS Linux Install'/><title type='text'>Oracle 11g RAC Install on Red Hat 5.0 (Linux) using NFS</title><content type='html'>Here is the procedure I followed to install Oracle 11g RAC on RHEL 5.0 and thought would share this information with everyone who is interested in checking out Oracle11g RAC on Linux.  Most of the pre-installation steps should work for Oracle10g as well.  This configuration is not for production systems and would be good for testing purposes only.&lt;br /&gt;&lt;br /&gt;I have used my two existing two Intel based systems for the purpose, and in all it took about 8 hours to get the whole thing working (including the OS install – as a third bootable Operating System – the first one being Windows XP the second being RHEL 4.0 with 10gR2 RAC).....much better than the initial installation experiences with Oracle10g RAC.&lt;br /&gt;&lt;br /&gt;Please note that I am not using Firewire or a third server here for provisioning the shared storage, but NFS - the details follow.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hardware details:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Node 1: pepsi.pinnacle.com (Intel Pentium 4 2.80Ghz, 2G RAM with 80GB and 160GB hard drives, 2 NICs)&lt;/li&gt;&lt;li&gt;Node 2: coke.pinnacle.com (Intel Pentium 4 2.80Ghz, 2G RAM with 160GB, 2 NICs)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RHEL 5.0 Installation&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;I have performed a complete/full  installation – basically all/everything...so that all the RPMs are included therein. Kernel version used - 2.6.18-8.el5xen.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation Steps:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here are high-level installation steps:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Check OS/Packages requirements &lt;/li&gt;&lt;li&gt;Configure public and private network.&lt;/li&gt;&lt;li&gt;Create oracle user and dba group.&lt;/li&gt;&lt;li&gt;Setup SSH for oracle user account between the two nodes.&lt;/li&gt;&lt;li&gt;Set up shared storage using NFS (details follow)&lt;/li&gt;&lt;li&gt;Oracle11g CRS Installation&lt;/li&gt;&lt;li&gt;Oracle11g RDBMS Software&lt;/li&gt;&lt;li&gt;Oracle11g RAC Database creation.&lt;/li&gt;&lt;/ol&gt;The details.......&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.  Configure Operating System for Oracle11g RAC Install (Both nodes)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The following RPMs are required/recommended for Oracle11g RAC installation on RHEL 5.0.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;binutils-2.17.50.0.6-2.el5&lt;/li&gt;&lt;li&gt;compat-libstdc++-33-3.2.3-61&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;elfutils-libelf-0.97-5 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;– elfutils-libelf-devel-0.125-3.el5 was installed by default&lt;/span&gt;&lt;/li&gt;&lt;li&gt;elfutils-libelf-devel-0.125&lt;/li&gt;&lt;li&gt;glibc-2.5-12&lt;/li&gt;&lt;li&gt;glibc-common-2.5-12&lt;/li&gt;&lt;li&gt;glibc-devel-2.5-12&lt;/li&gt;&lt;li&gt;gcc-4.1.1-52&lt;/li&gt;&lt;li&gt;gcc-c++-4.1.1-52&lt;/li&gt;&lt;li&gt;libaio-0.3.106&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;libaio-devel-0.3.106&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;– not installed by default&lt;/span&gt;&lt;/li&gt;&lt;li&gt;libgcc-4.1.1-52&lt;/li&gt;&lt;li&gt;libstdc++-4.1.1&lt;/li&gt;&lt;li&gt;libstdc++-devel-3.4.3-22.1 &lt;span style="color: rgb(0, 0, 102);"&gt;–&lt;span style="font-style: italic;"&gt; libstdc++-devel-4.1.1-52.el5 was installed by default.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;make-3.81-1.1&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;sysstat-7.0.0&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;– not installed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UnixODBC-2.2.11&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;– not installed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UnixODBC-devel-2.2.11&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;– not installed.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;All the above RPMs were installed and available by default (may be because I have done a complete install). Installed the following 4 missing RPMs from RHEL 5.0 CDs (using rpm -ivh &lt;rpm_name&gt;).&lt;br /&gt;&lt;/rpm_name&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;libaio-devel-0.3.106&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;sysstat-7.0.0&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UnixODBC-2.2.11&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UnixODBC-devel-2.2.11&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Kernel Parameters:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Add the following lines to /etc/sysctl.conf&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;kernel.shmall = 2097152&lt;br /&gt;kernel.shmmax = 2147483648&lt;br /&gt;kernel.shmmni = 4096&lt;br /&gt;kernel.sem = 250 32000 100 128&lt;br /&gt;fs.file-max = 65536&lt;br /&gt;net.ipv4.ip_local_port_range = 1024 65000&lt;br /&gt;net.core.rmem_default = 4194304&lt;br /&gt;net.core.rmem_max = 4194304&lt;br /&gt;net.core.wmem_default = 262144&lt;br /&gt;net.core.wmem_max = 262144&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Run sysctl -p to read the values as indicated in /etc/sysctl.conf file.&lt;/li&gt;&lt;/ul&gt;CVUQDISK Package:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install the cvuqdisk package – located in the CRS software distribution (/clusterware/rpm):&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;[root@coke rpm]# export CVUQDISK_GRP=dba&lt;br /&gt;[root@coke rpm]# rpm -ivh cvuqdisk-1.0.1-1.rpm&lt;br /&gt;Preparing... ########################################### [100%]&lt;br /&gt;1:cvuqdisk ########################################### [100%]&lt;br /&gt;[root@coke rpm]# pwd&lt;br /&gt;/share/Oracle-Linux-Software/11g/clusterware/rpm&lt;br /&gt;[root@coke rpm]#&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Here is the information from the /etc/hosts file. The contents of this file are same on both the nodes.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;$ cat /etc/hosts&lt;br /&gt;#----Entries for Node1&lt;br /&gt;192.168.1.160 pepsi.pinnacle.com pepsi&lt;br /&gt;192.168.1.151 pepsi-vip.pinnacle.com pepsi-vip&lt;br /&gt;172.1.1.160 pepsi-priv.pinnacle.com pepsi-priv&lt;br /&gt;#---Entries for Node2&lt;br /&gt;192.168.1.150 coke.pinnacle.com coke&lt;br /&gt;192.168.1.161 coke-vip.pinnacle.com coke-vip&lt;br /&gt;172.1.1.150 coke-priv.pinnacle.com coke-priv&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Node 1:&lt;/span&gt;&lt;br /&gt;[root@coke ~]# ifconfig -a eth0&lt;br /&gt;eth0 Link encap:Ethernet HWaddr 00:16:76:4B:79:F1&lt;br /&gt;inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0&lt;br /&gt;inet6 addr: fe80::216:76ff:fe4b:79f1/64 Scope:Link&lt;br /&gt;UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:3507 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:1675 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:1000&lt;br /&gt;RX bytes:665921 (650.3 KiB) TX bytes:188926 (184.4 KiB)&lt;br /&gt;[root@coke ~]# ifconfig -a eth1&lt;br /&gt;eth1 Link encap:Ethernet HWaddr 00:09:5B:E1:CD:DD&lt;br /&gt;inet addr:172.1.1.150 Bcast:172.1.255.255 Mask:255.255.0.0&lt;br /&gt;inet6 addr: fe80::209:5bff:fee1:cddd/64 Scope:Link&lt;br /&gt;UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:310738 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:254557 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:0&lt;br /&gt;RX bytes:141179047 (134.6 MiB) TX bytes:345107330 (329.1 MiB)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Node 2:&lt;/span&gt;&lt;br /&gt;[root@pepsi ~]# ifconfig -a eth0&lt;br /&gt;eth0 Link encap:Ethernet HWaddr 00:16:76:38:D8:C5&lt;br /&gt;inet addr:192.168.1.160 Bcast:192.168.1.255 Mask:255.255.255.0&lt;br /&gt;inet6 addr: fe80::216:76ff:fe38:d8c5/64 Scope:Link&lt;br /&gt;UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:419 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:244 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:0&lt;br /&gt;RX bytes:80282 (78.4 KiB) TX bytes:27401 (26.7 KiB)&lt;br /&gt;[root@pepsi ~]# ifconfig -a eth1&lt;br /&gt;eth1 Link encap:Ethernet HWaddr 00:09:5B:BB:D8:F1&lt;br /&gt;inet addr:172.1.1.160 Bcast:172.1.255.255 Mask:255.255.0.0&lt;br /&gt;inet6 addr: fe80::209:5bff:febb:d8f1/64 Scope:Link&lt;br /&gt;UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1&lt;br /&gt;RX packets:361934 errors:0 dropped:0 overruns:0 frame:0&lt;br /&gt;TX packets:326328 errors:0 dropped:0 overruns:0 carrier:0&lt;br /&gt;collisions:0 txqueuelen:1000&lt;br /&gt;RX bytes:366491792 (349.5 MiB) TX bytes:148740977 (141.8 MiB)&lt;br /&gt;Interrupt:17 Base address:0xe000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;software_loc&gt;&lt;span style="font-weight: bold;"&gt;2.  Configure SSH between two nodes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While logged in as oracle perform the following on each of the nodes of the RAC:&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;mkdir ~/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;chmod 700 ~/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;/usr/bin/ssh-keygen -t rsa&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;/usr/bin/ssh-keygen -t dsa&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; On Node 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_rsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_dsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;Copy the authorized_keys file to the node 2. scp authorized_keys node2:/opt/oracle/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;On Node 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;cd $HOME/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_rsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;cat id_dsa.pub &gt;&gt; authorized_keys&lt;/software_loc&gt;&lt;/li&gt;&lt;li&gt;&lt;software_loc&gt;scp authorized_keys node1:/opt/oracle/.ssh&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Now perform a ssh between all the nodes including the node-priv hostnames as well. &lt;/software_loc&gt;Check to make sure that ssh is configured well without prompting for the password (on both the nodes):&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;$ ssh coke.pinnacle.com date&lt;br /&gt;Sun Aug 12 08:41:42 CDT 2007&lt;br /&gt;$ ssh pepsi.pinnacle.com date&lt;br /&gt;Sun Aug 12 08:42:23 CDT 2007&lt;br /&gt;$ ssh coke-priv date&lt;br /&gt;Sun Aug 12 08:42:45 CDT 2007&lt;br /&gt;$ ssh pepsi-priv date&lt;br /&gt;Sun Aug 12 08:43:22 CDT 2007&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Configuring the Shared Storage&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This is the one of the critical components required for RAC. There are couple of other storage options available for setting up Test environment at home, such as Firewire, NAS and/or NFS. I have installed Oracle RAC with both Oracle9i and Oracle10g using Firewire and this time around I wanted to see if I can use NFS instead. Please note that this is only for testing and experimentation only and will not be suitable for any kind of production use. Usually, we would be needing an separate server/node which can host the NFS file systems, but I have, instead of using a third server, I have configured one of the nodes to host the NFS file systems. Here is the procedure:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;On Node 1 (coke):&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;1. Created three partitions on the local hard drive with a size of 10G each.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[root@coke ~]# fdisk /dev/sda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;The number of cylinders for this disk is set to 9726.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;There is nothing wrong with that, but this is larger than 1024,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;and could in certain setups cause problems with:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;1) software that runs at boot time (e.g., old versions of LILO)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;2) booting and partitioning software from other OSs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;(e.g., DOS FDISK, OS/2 FDISK)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): p&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk /dev/sda: 80.0 GB, 80000000000 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;255 heads, 63 sectors/track, 9726 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Device Boot Start End Blocks Id System&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda1 * 1 2550 20482843+ c W95 FAT32 (LBA)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e extended&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;p primary partition (1-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;e&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Partition number (1-4): 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;First cylinder (2551-9726, default 2551):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using default value 2551&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Last cylinder or +size or +sizeM or +sizeK (2551-9726, default 9726):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using default value 9726&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): p&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Disk /dev/sda: 80.0 GB, 80000000000 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;255 heads, 63 sectors/track, 9726 cylinders&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Device Boot Start End Blocks Id System&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda1 * 1 2550 20482843+ c W95 FAT32 (LBA)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda2 2551 9726 57641220 5 Extended&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l logical (5 or over)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;p primary partition (1-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;First cylinder (2551-9726, default 2551):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using default value 2551&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Last cylinder or +size or +sizeM or +sizeK (2551-9726, default 9726): +10G&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l logical (5 or over)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;p primary partition (1-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;First cylinder (3768-9726, default 3768):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using default value 3768&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Last cylinder or +size or +sizeM or +sizeK (3768-9726, default 9726): +10G&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l logical (5 or over)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;p primary partition (1-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;l&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;First cylinder (4985-9726, default 4985):&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Using default value 4985&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Last cylinder or +size or +sizeM or +sizeK (4985-9726, default 9726): +10G&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Command (m for help): w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;The partition table has been altered!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Calling ioctl() to re-read partition table.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Device Boot Start End Blocks Id System&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda1 * 1 2550 20482843+ c W95 FAT32 (LBA)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda2 2551 9726 57641220 5 Extended&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda5 2551 3767 9775521 83 Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda6 3768 4984 9775521 83 Linux&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/dev/sda7 4985 6201 9775521 83 Linux&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[root@coke ~]# parted /dev/sda print&lt;br /&gt;Model: ATA WDC WD800JD-75MS (scsi)&lt;br /&gt;Disk /dev/sda: 80.0GB&lt;br /&gt;Sector size (logical/physical): 512B/512B&lt;br /&gt;Partition Table: msdos&lt;br /&gt;Number Start End Size Type File system Flags&lt;br /&gt;1 32.3kB 21.0GB 21.0GB primary fat32 boot, lba&lt;br /&gt;2 21.0GB 80.0GB 59.0GB extended&lt;br /&gt;5 21.0GB 31.0GB 10.0GB logical&lt;br /&gt;6 31.0GB 41.0GB 10.0GB logical&lt;br /&gt;7 41.0GB 51.0GB 10.0GB logical&lt;br /&gt;Information: Don't forget to update /etc/fstab, if necessary.&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Create file systems&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;[root@coke ~]# mkfs.ext3 /dev/sda5&lt;br /&gt;[root@coke ~]# mkfs.ext3 /dev/sda6&lt;br /&gt;[root@coke ~]# mkfs.ext3 /dev/sda7&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Create local mount points&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;[root@coke ~]# mkdir /nfs1 /nfs2 /nfs3&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Label the partitions/file systems&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;[root@coke ~]# e2label /dev/sda5 nfs1&lt;br /&gt;[root@coke ~]# e2label /dev/sda6 nfs2&lt;br /&gt;[root@coke ~]# e2label /dev/sda7 nfs3&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Add the following lines to the /etc/fstab file on node 1(coke)&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;&lt;br /&gt;LABEL=nfs1 /nfs1 ext3 defaults 1 1&lt;br /&gt;LABEL=nfs2 /nfs1 ext3 defaults 1 1&lt;br /&gt;LABEL=nfs3 /nfs1 ext3 defaults 1 1&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Mount the files systems:&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;&lt;br /&gt;[root@coke ~]# mount /nfs2&lt;br /&gt;[root@coke ~]# mount /nfs2&lt;br /&gt;[root@coke ~]# mount /nfs3&lt;br /&gt;[root@coke ~]# df -k&lt;br /&gt;Filesystem 1K-blocks Used Available Use% Mounted on&lt;br /&gt;/dev/hda3 47611656 2938484 42215632 7% /&lt;br /&gt;tmpfs 966124 0 966124 0% /dev/shm&lt;br /&gt;/dev/sda5 9621848 152688 8980384 2% /nfs1&lt;br /&gt;/dev/sda6 9621848 152688 8980384 2% /nfs2&lt;br /&gt;/dev/sda7 9621848 152688 8980384 2% /nfs3&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Add the following entries in the /etc/exports file:&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;/nfs1 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)&lt;br /&gt;/nfs2 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)&lt;br /&gt;/nfs3 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Configure the NFS services:&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;[root@coke ~]# chkconfig nfs on&lt;br /&gt;[root@coke ~]# service nfs restart&lt;br /&gt;Shutting down NFS mountd: [ OK ]&lt;br /&gt;Shutting down NFS daemon: [ OK ]&lt;br /&gt;Shutting down NFS quotas: [ OK ]&lt;br /&gt;Shutting down NFS services: [ OK ]&lt;br /&gt;Starting NFS services: [ OK ]&lt;br /&gt;Starting NFS quotas: [ OK ]&lt;br /&gt;Starting NFS daemon: [ OK ]&lt;br /&gt;Starting NFS mountd: [ OK ]&lt;br /&gt;[root@coke ~]#&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;With the above, we have /nfs* file systems which are available for both the nodes. Peform the following steps on both the nodes:&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ol&gt;&lt;li&gt;&lt;software_loc&gt;Create mount points to mount the nfs file systems&lt;/software_loc&gt;&lt;/li&gt;&lt;/ol&gt;&lt;software_loc&gt;        #mkdir /u01 /u02 /u03 on two nodes&lt;br /&gt;&lt;br /&gt;2. Add the following lines to the /etc/fstab file:&lt;br /&gt;&lt;br /&gt;coke-priv:/nfs1 /u01 nfs&lt;br /&gt;rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0&lt;br /&gt;coke-priv:/nfs2 /u02 nfs&lt;br /&gt;rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0&lt;br /&gt;coke-priv:/nfs3 /u03 nfs&lt;br /&gt;rw,bg,hard,nointr,tcp,vers=3,timeo=300,rsize=32768,wsize=32768,actimeo=0 0 0&lt;br /&gt;&lt;br /&gt;3. Mount the nfs filesystem locally:&lt;br /&gt;&lt;br /&gt;#mount /u01&lt;br /&gt;#mount /u02&lt;br /&gt;#mount /u03&lt;br /&gt;&lt;br /&gt;4. Now we have all the three file systems shared among the two nodes and ready for use.&lt;br /&gt;&lt;br /&gt;Here is how it will look like on Node 1:&lt;br /&gt;&lt;br /&gt;$ df -k&lt;br /&gt;Filesystem 1K-blocks Used Available Use% Mounted on&lt;br /&gt;/dev/hda3 47611656 7029084 38125032 16% /&lt;br /&gt;tmpfs 966124 270188 695936 28% /dev/shm&lt;br /&gt;/dev/sda5 9621848 1925276 7207796 22% /nfs1&lt;br /&gt;/dev/sda6 9621848 152700 8980372 2% /nfs2&lt;br /&gt;/dev/sda7 9621848 152696 8980376 2% /nfs3&lt;br /&gt;172.1.1.150:/nfs1 9621856 1925280 7207808 22% /u01&lt;br /&gt;172.1.1.150:/nfs2 9621856 152704 8980384 2% /u02&lt;br /&gt;172.1.1.150:/nfs3 9621856 152704 8980384 2% /u03&lt;br /&gt;&lt;br /&gt;On Node 2:&lt;br /&gt;&lt;br /&gt;$ df -k&lt;br /&gt;Filesystem 1K-blocks Used Available Use% Mounted on&lt;br /&gt;/dev/sda5 44639012 7245820 35089072 18% /&lt;br /&gt;tmpfs 477484 266084 211400 56% /dev/shm&lt;br /&gt;coke-priv:/nfs1 9621856 1925280 7207808 22% /u01&lt;br /&gt;coke-priv:/nfs2 9621856 152704 8980384 2% /u02&lt;br /&gt;coke-priv:/nfs3 9621856 152704 8980384 2% /u03&lt;br /&gt;&lt;br /&gt;● Change the owner of the file systems /u01, /u02 and /u03 to oracle:dba.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.  CRS Installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Set up the environment variables for oracle (such ORACLE_BASE, PATH etc..)&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;With this we have all the basic pre-installations tasks taken care of and are ready to invoke the &lt;/software_loc&gt;Oracle11g OUI from the CRS software distribution, but before that, let's run the CVU:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;software_loc&gt;$ ./runcluvfy.sh stage -pre crsinst -n coke,pepsi&lt;br /&gt;&lt;br /&gt;&lt;/software_loc&gt;&lt;ul&gt;&lt;li&gt;&lt;software_loc&gt;Invoke the Installer:&lt;/software_loc&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfaILyoEI/AAAAAAAAAAc/yhzmsWUjxvQ/s1600-h/1.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfaILyoEI/AAAAAAAAAAc/yhzmsWUjxvQ/s400/1.gif" alt="" id="BLOGGER_PHOTO_ID_5098250049405755458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCfhoLyoFI/AAAAAAAAAAk/fqe1N47b1A4/s1600-h/2.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCfhoLyoFI/AAAAAAAAAAk/fqe1N47b1A4/s400/2.gif" alt="" id="BLOGGER_PHOTO_ID_5098250178254774354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCfh4LyoGI/AAAAAAAAAAs/G2lXZpGLOrA/s1600-h/3.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCfh4LyoGI/AAAAAAAAAAs/G2lXZpGLOrA/s400/3.gif" alt="" id="BLOGGER_PHOTO_ID_5098250182549741666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCfh4LyoHI/AAAAAAAAAA0/G_a70Pswv4M/s1600-h/4.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCfh4LyoHI/AAAAAAAAAA0/G_a70Pswv4M/s400/4.gif" alt="" id="BLOGGER_PHOTO_ID_5098250182549741682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfiILyoII/AAAAAAAAAA8/I1GCZHLLoPM/s1600-h/5.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfiILyoII/AAAAAAAAAA8/I1GCZHLLoPM/s400/5.gif" alt="" id="BLOGGER_PHOTO_ID_5098250186844708994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfiILyoJI/AAAAAAAAABE/jhtCu3QZWBM/s1600-h/6.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfiILyoJI/AAAAAAAAABE/jhtCu3QZWBM/s400/6.gif" alt="" id="BLOGGER_PHOTO_ID_5098250186844709010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCf34LyoKI/AAAAAAAAABM/mDIWpd2D6Qo/s1600-h/7.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCf34LyoKI/AAAAAAAAABM/mDIWpd2D6Qo/s400/7.gif" alt="" id="BLOGGER_PHOTO_ID_5098250560506863778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCf34LyoLI/AAAAAAAAABU/jkQNBoG7Ykg/s1600-h/8.gif"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zO1TXgMhPPw/RsCf34LyoLI/AAAAAAAAABU/jkQNBoG7Ykg/s400/8.gif" alt="" id="BLOGGER_PHOTO_ID_5098250560506863794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCf4ILyoMI/AAAAAAAAABc/O_NQcCsKbIo/s1600-h/9.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCf4ILyoMI/AAAAAAAAABc/O_NQcCsKbIo/s400/9.gif" alt="" id="BLOGGER_PHOTO_ID_5098250564801831106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCf4oLyoOI/AAAAAAAAABs/sMUuVMVW4RY/s1600-h/11.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCf4oLyoOI/AAAAAAAAABs/sMUuVMVW4RY/s400/11.gif" alt="" id="BLOGGER_PHOTO_ID_5098250573391765730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCf4ILyoNI/AAAAAAAAABk/WHvUXcQe4TE/s1600-h/10.gif"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCf4ILyoNI/AAAAAAAAABk/WHvUXcQe4TE/s400/10.gif" alt="" id="BLOGGER_PHOTO_ID_5098250564801831122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCgZoLyoPI/AAAAAAAAAB0/KfrgYSy3f08/s1600-h/12.gif"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_zO1TXgMhPPw/RsCgZoLyoPI/AAAAAAAAAB0/KfrgYSy3f08/s400/12.gif" alt="" id="BLOGGER_PHOTO_ID_5098251140327448818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Running orainstRoot.sh and root.sh scripts on both the nodes:&lt;br /&gt;&lt;br /&gt;[root@coke ~]# /opt/oracle/oraInventory/orainstRoot.sh&lt;br /&gt;Changing permissions of /opt/oracle/oraInventory to 770.&lt;br /&gt;Changing groupname of /opt/oracle/oraInventory to dba.&lt;br /&gt;The execution of the script is complete&lt;br /&gt;[root@coke ~]# /opt/oracle/product/11.1.0/crs/root.sh&lt;br /&gt;WARNING: directory '/opt/oracle/product/11.1.0' is not owned by root&lt;br /&gt;WARNING: directory '/opt/oracle/product' is not owned by root&lt;br /&gt;WARNING: directory '/opt/oracle' is not owned by root&lt;br /&gt;Checking to see if Oracle CRS stack is already configured&lt;br /&gt;/etc/oracle does not exist. Creating it now.&lt;br /&gt;Setting the permissions on OCR backup directory&lt;br /&gt;Setting up Network socket directories&lt;br /&gt;Oracle Cluster Registry configuration upgraded successfully&lt;br /&gt;The directory '/opt/oracle/product/11.1.0' is not owned by root. Changing owner to root&lt;br /&gt;The directory '/opt/oracle/product' is not owned by root. Changing owner to root&lt;br /&gt;The directory '/opt/oracle' is not owned by root. Changing owner to root&lt;br /&gt;Successfully accumulated necessary OCR keys.&lt;br /&gt;Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.&lt;br /&gt;node &lt;nodenumber&gt;: &lt;nodename&gt; &lt;private&gt; &lt;hostname&gt;&lt;br /&gt;node 1: coke coke-priv coke&lt;br /&gt;node 2: pepsi pepsi-priv pepsi&lt;br /&gt;Creating OCR keys for user 'root', privgrp 'root'..&lt;br /&gt;Operation successful.&lt;br /&gt;Now formatting voting device: /u01/oradb/ocr/vote&lt;br /&gt;Format of 1 voting devices complete.&lt;br /&gt;Startup will be queued to init within 30 seconds.&lt;br /&gt;Adding daemons to inittab&lt;br /&gt;Expecting the CRS daemons to be up within 600 seconds.&lt;br /&gt;Cluster Synchronization Services is active on these nodes.&lt;br /&gt;coke&lt;br /&gt;Cluster Synchronization Services is inactive on these nodes.&lt;br /&gt;pepsi&lt;br /&gt;Local node checking complete. Run root.sh on remaining nodes to start CRS daemons.&lt;br /&gt;[root@coke ~]# /opt/oracle/product/11.1.0/crs/root.sh&lt;br /&gt;[root@pepsi ~]# /opt/oracle/oraInventory/orainstRoot.sh&lt;br /&gt;Changing permissions of /opt/oracle/oraInventory to 770.&lt;br /&gt;Changing groupname of /opt/oracle/oraInventory to dba.&lt;br /&gt;The execution of the script is complete&lt;br /&gt;[root@pepsi ~]# /opt/oracle/product/11.1.0/crs/root.sh&lt;br /&gt;WARNING: directory '/opt/oracle/product/11.1.0' is not owned by root&lt;br /&gt;WARNING: directory '/opt/oracle/product' is not owned by root&lt;br /&gt;WARNING: directory '/opt/oracle' is not owned by root&lt;br /&gt;Checking to see if Oracle CRS stack is already configured&lt;br /&gt;/etc/oracle does not exist. Creating it now.&lt;br /&gt;Setting the permissions on OCR backup directory&lt;br /&gt;Setting up Network socket directories&lt;br /&gt;Oracle Cluster Registry configuration upgraded successfully&lt;br /&gt;The directory '/opt/oracle/product/11.1.0' is not owned by root. Changing owner&lt;br /&gt;to root&lt;br /&gt;The directory '/opt/oracle/product' is not owned by root. Changing owner to root&lt;br /&gt;The directory '/opt/oracle' is not owned by root. Changing owner to root&lt;br /&gt;clscfg: EXISTING configuration version 4 detected.&lt;br /&gt;clscfg: version 4 is 11 Release 1.&lt;br /&gt;Successfully accumulated necessary OCR keys.&lt;br /&gt;Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.&lt;br /&gt;node &lt;nodenumber&gt;: &lt;nodename&gt; &lt;private&gt; &lt;hostname&gt;&lt;br /&gt;node 1: coke coke-priv coke&lt;br /&gt;node 2: pepsi pepsi-priv pepsi&lt;br /&gt;clscfg: Arguments check out successfully.&lt;br /&gt;NO KEYS WERE WRITTEN. Supply -force parameter to override.&lt;br /&gt;-force is destructive and will destroy any previous cluster&lt;br /&gt;configuration.&lt;br /&gt;Oracle Cluster Registry for cluster has already been initialized&lt;br /&gt;Startup will be queued to init within 30 seconds.&lt;br /&gt;Adding daemons to inittab&lt;br /&gt;Expecting the CRS daemons to be up within 600 seconds.&lt;br /&gt;Cluster Synchronization Services is active on these nodes.&lt;br /&gt;coke&lt;br /&gt;pepsi&lt;br /&gt;Cluster Synchronization Services is active on all the nodes.&lt;br /&gt;Waiting for the Oracle CRSD and EVMD to start&lt;br /&gt;Oracle CRS stack installed and running under init(1M)&lt;br /&gt;Running vipca(silent) for configuring nodeapps&lt;br /&gt;Creating VIP application resource on (2) nodes...&lt;br /&gt;Creating GSD application resource on (2) nodes...&lt;br /&gt;Creating ONS application resource on (2) nodes...&lt;br /&gt;Starting VIP application resource on (2) nodes...&lt;br /&gt;Starting GSD application resource on (2) nodes...&lt;br /&gt;Starting ONS application resource on (2) nodes...&lt;br /&gt;Done.&lt;br /&gt;[root@pepsi ~]#&lt;br /&gt;&lt;br /&gt;$ crsctl check crs&lt;br /&gt;Cluster Synchronization Services appears healthy&lt;br /&gt;Cluster Ready Services appears healthy&lt;br /&gt;Event Manager appears healthy&lt;br /&gt;$&lt;br /&gt;We have a up and running Oracle 11g CRS.&lt;br /&gt;&lt;br /&gt;Note that you have to always bring up Node 1 first and then Node 2, since Node 1 is hosting the NFS file system required by Node 2.&lt;br /&gt;&lt;br /&gt;More to follow......&lt;br /&gt;&lt;br /&gt;Thanks to Tim Hall (oracle-base) for sharing the ideas/thoughts on NFS share/mount options.&lt;br /&gt;&lt;/hostname&gt;&lt;/private&gt;&lt;/nodename&gt;&lt;/nodenumber&gt;&lt;/hostname&gt;&lt;/private&gt;&lt;/nodename&gt;&lt;/nodenumber&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6516548370924333106?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6516548370924333106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6516548370924333106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6516548370924333106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6516548370924333106'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2007/08/oracle-11g-rac-install-on-red-hat-50.html' title='Oracle 11g RAC Install on Red Hat 5.0 (Linux) using NFS'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zO1TXgMhPPw/RsCfaILyoEI/AAAAAAAAAAc/yhzmsWUjxvQ/s72-c/1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8114408830189879989.post-6148485740146218588</id><published>2007-08-13T06:22:00.000-07:00</published><updated>2009-04-17T05:00:26.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='online redefinition 10g partitioned non-partitioned convert'/><title type='text'>Convert Non-Partitioned to Partitioned Table - using Online Re-definition feature (10g)</title><content type='html'>&lt;div class="entrytext"&gt;    &lt;div class="snap_preview"&gt;&lt;p&gt;Here is a working example to convert a non-partitioned table to a partitioned table.  With this example, we will not see how to convert a table, but will expose to the usage of Online Redefinition feature.  There is one neat (apart from others) enhancement to the online redefinition feature, which we are going to talk about.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;We have a non-partitioned table T1 with about 2 million records&lt;/li&gt;&lt;li&gt;It has a primary key, grants to various roles and public synonyms (dependencies)&lt;/li&gt;&lt;li&gt;Our goal is to partition the table using the primary key column (col1 number(100))&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Some restrictions of Online Redefinition&lt;/strong&gt;:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;        Cannot belong to SYS or SYSTEM Schema.&lt;/li&gt;&lt;li&gt;        The table to be redefined online should not be using User-defined data types&lt;/li&gt;&lt;li&gt;        Should not be a clustered table.&lt;/li&gt;&lt;li&gt;         Should not have MV Logs or MVs defined&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;You &lt;strong&gt;cannot&lt;/strong&gt; move a table from one schema to another using Online Redefinition feature.&lt;br /&gt;1.  Check to make sure that the table can use the online redefintion feature:&lt;/p&gt; &lt;p&gt;SQL&gt;  EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(’CHANDRA’,'T1′);&lt;/p&gt; &lt;p&gt;PL/SQL procedure successfully completed.&lt;/p&gt; &lt;p&gt;2.  Create a partitioned table (add any new attributes you want to the new partitioned table)&lt;/p&gt; &lt;p&gt;Create table &lt;strong&gt;t1_part&lt;/strong&gt;&lt;br /&gt;( col1  number(10),&lt;br /&gt;col2  varchar2(30),&lt;br /&gt;col3  date default sysdate,&lt;br /&gt;col4  varchar2(40))&lt;br /&gt;partition by range (col1)&lt;br /&gt;(Partition p1 values less than (100000),&lt;br /&gt;Partition p2 values less than (200000),&lt;br /&gt;Partition p3 values less than (300000),&lt;br /&gt;Partition p4 values less than (400000),&lt;br /&gt;Partition p5 values less than (500000),&lt;br /&gt;Partition p6 values less than (600000),&lt;br /&gt;Partition p7 values less than (700000),&lt;br /&gt;Partition p8 values less than (800000),&lt;br /&gt;Partition p9 values less than (900000),&lt;br /&gt;Partition p10 values less than (1000000),&lt;br /&gt;Partition p11 values less than (1100000),&lt;br /&gt;Partition p12 values less than (1200000),&lt;br /&gt;Partition p13 values less than (1300000),&lt;br /&gt;Partition p14 values less than (1400000),&lt;br /&gt;Partition p15 values less than (1500000),&lt;br /&gt;Partition p16 values less than (1600000),&lt;br /&gt;Partition p17 values less than (1700000),&lt;br /&gt;Partition p18 values less than (1800000),&lt;br /&gt;Partition p19 values less than (1900000),&lt;br /&gt;Partition p20 values less than (maxvalue))&lt;br /&gt;tablespace users;&lt;/p&gt; &lt;p&gt;3.  Start the online redefinition processSQL&gt; EXEC DBMS_REDEFINITION.START_REDEF_TABLE(’CHANDRA’,'T1′,’T1_PART’);&lt;/p&gt; &lt;p&gt;PL/SQL procedure successfully completed.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:38.53&lt;/p&gt; &lt;p&gt;4.  Here is where the Oracle10g feature comes in handy.  In Oracle9i, we were required create constraints, indexes, grants etc…on the staging table (t1_part in our example).  If triggers, constraints, indexes and grants are defined on the table. These can be cloned on the staging table by executing DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS( ) Once redefinition is complete, the referential constraints and triggers involving the stage table (created disabled) are enabled, all statistics will be copied, and all cloned objects will be renamed to their pre-definition name.&lt;/p&gt; &lt;p&gt;SQL&gt; VARIABLE NUM_ERRORS NUMBER;&lt;br /&gt;SQL&gt; EXEC DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS(’CHANDRA’,'T1′,’T1_PART’, 1,TRUE,TRUE,TRUE,FALSE,:NUM_ERRORS,FALSE);&lt;/p&gt; &lt;p&gt;PL/SQL procedure successfully completed.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:25.08&lt;br /&gt;SQL&gt; PRINT NUM_ERRORS&lt;/p&gt; &lt;p&gt;NUM_ERRORS&lt;br /&gt;———-&lt;br /&gt;0&lt;/p&gt; &lt;p&gt;5.  Resync the tables&lt;/p&gt; &lt;p&gt;SQL&gt; EXEC DBMS_REDEFINITION.SYNC_INTERIM_TABLE(’CHANDRA’,'T1′,’T1_PART’);&lt;/p&gt; &lt;p&gt;PL/SQL procedure successfully completed.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:00.23&lt;/p&gt; &lt;p&gt;6.  Complete the online redefinition:&lt;/p&gt; &lt;p&gt;SQL&gt; EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE(’CHANDRA’,'T1′,’T1_PART’);&lt;/p&gt; &lt;p&gt;PL/SQL procedure successfully completed.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:02.18&lt;/p&gt; &lt;p&gt;7.  Validations:&lt;/p&gt; &lt;p&gt;SQL&gt; Select partition_name, high_value from user_tab_partitions where table_name=’T1′&lt;br /&gt;2  ;&lt;/p&gt; &lt;p&gt;PARTITION_NAME                 HIGH_VALUE&lt;br /&gt;—————————— ——————————&lt;br /&gt;P1                             100000&lt;br /&gt;P10                            1000000&lt;br /&gt;P11                            1100000&lt;br /&gt;P12                            1200000&lt;br /&gt;P13                            1300000&lt;br /&gt;P14                            1400000&lt;br /&gt;P15                            1500000&lt;br /&gt;P16                            1600000&lt;br /&gt;P17                            1700000&lt;br /&gt;P18                            1800000&lt;br /&gt;P19                            1900000&lt;br /&gt;P2                             200000&lt;br /&gt;P20                            MAXVALUE&lt;br /&gt;P3                             300000&lt;br /&gt;P4                             400000&lt;br /&gt;P5                             500000&lt;br /&gt;P6                             600000&lt;br /&gt;P7                             700000&lt;br /&gt;P8                             800000&lt;br /&gt;P9                             900000&lt;/p&gt; &lt;p&gt;20 rows selected.&lt;/p&gt; &lt;p&gt;The privileges granted were are also preserved:&lt;/p&gt; &lt;p&gt;SQL&gt; select privilege, grantee from dba_tab_privs where table_name=’T1′;&lt;/p&gt; &lt;p&gt;PRIVILEGE                                GRANTEE&lt;br /&gt;—————————————- ——————————&lt;br /&gt;ALTER                                    READ_WRITE&lt;br /&gt;DELETE                                   READ_WRITE&lt;br /&gt;INSERT                                   READ_WRITE&lt;br /&gt;SELECT                                   READ_WRITE&lt;br /&gt;SELECT                                   READ_ONLY&lt;br /&gt;UPDATE                                   READ_WRITE&lt;br /&gt;ON COMMIT REFRESH                        READ_WRITE&lt;br /&gt;QUERY REWRITE                            READ_WRITE&lt;br /&gt;DEBUG                                    READ_WRITE&lt;br /&gt;FLASHBACK                                READ_WRITE&lt;/p&gt; &lt;p&gt;10 rows selected.&lt;/p&gt; &lt;p&gt;The only problem I see here is the index is now global and we may like to have a local prefixed indexed.  For this purpose we may have to drop the existing index and create a local index;&lt;/p&gt; &lt;p&gt;SQL&gt; alter table t1 disable primary key;&lt;/p&gt; &lt;p&gt;Table altered.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:00.09&lt;br /&gt;SQL&gt;  drop index t1_idx;&lt;/p&gt; &lt;p&gt;Index dropped.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:00.18&lt;br /&gt;SQL&gt; create index t1_idx on t1(col1) local tablespace users;&lt;/p&gt; &lt;p&gt;Index created.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:11.91&lt;br /&gt;SQL&gt; alter table t1 enable primary key;&lt;/p&gt; &lt;p&gt;Table altered.&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:13.54&lt;br /&gt;SQL&gt; Select index_name, index_type, partitioned from user_indexes where table_name=’T1′;&lt;/p&gt; &lt;p&gt;INDEX_NAME                     INDEX_TYPE                  PAR&lt;br /&gt;—————————— ————————— —&lt;br /&gt;T1_IDX                         NORMAL                      YES&lt;/p&gt; &lt;p&gt;Elapsed: 00:00:00.07&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8114408830189879989-6148485740146218588?l=chandrapabba.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://chandrapabba.blogspot.com/feeds/6148485740146218588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8114408830189879989&amp;postID=6148485740146218588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6148485740146218588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8114408830189879989/posts/default/6148485740146218588'/><link rel='alternate' type='text/html' href='http://chandrapabba.blogspot.com/2007/08/convert-non-partitioned-to-partitioned.html' title='Convert Non-Partitioned to Partitioned Table - using Online Re-definition feature (10g)'/><author><name>Chandra Pabba</name><uri>http://www.blogger.com/profile/15514315184841775273</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
