<?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-4161953958134414599</id><updated>2012-02-06T09:22:34.933-05:00</updated><title type='text'>Vijay R. Dumpa Oracle Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5687978273789702871</id><published>2012-01-16T11:47:00.003-05:00</published><updated>2012-01-16T11:52:13.642-05:00</updated><title type='text'>I/O Resource Management(IORM) with Exadata</title><content type='html'>&lt;strong&gt;I/O Resource Management(IORM) with Exadata&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a)&lt;br /&gt;-- How to configure IORM on cell nodes.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;ODS and EDW- Level 1 (40%+40%=80%)&lt;br /&gt;All other(EDWSTG and any other) - Level 2 (100% - that's nothing but overall 20%)&lt;br /&gt;Note: IORM have 8 levels like DBRM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- To create IORM, need to create the IORMPLAN on each cell node&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; alter iormplan dbplan=((name='ODS', level=1, allocation=40),(name='EDW', level=1, allocation=40),(name=other,level=2,allocation=100))&lt;br /&gt;IORMPLAN successfully altered&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to Activate&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; alter iormplan active&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to Inactivate&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; alter iormplan inactive&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Check if the IORM is Active?&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST IORMPLAN&lt;br /&gt;         atl02cel02_IORMPLAN        active&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;-- Check if current IORM plan in place?&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST IORMPLAN detail&lt;br /&gt;         name:                   atl02cel01_IORMPLAN&lt;br /&gt;         catPlan:&lt;br /&gt;         dbPlan:                 name=ODS,level=1,allocation=40&lt;br /&gt;                                 name=EDW,level=1,allocation=40&lt;br /&gt;                                 name=other,level=2,allocation=100&lt;br /&gt;         status:                 active&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b)&lt;br /&gt;-- Monitoring IORM with cellcli command.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Small IO load per database&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_RQ_SM&lt;br /&gt;         DB_IO_RQ_SM     EDW    7,387,543 IO requests&lt;br /&gt;         DB_IO_RQ_SM     ODS    5,262,853 IO requests&lt;br /&gt;         DB_IO_RQ_SM     EDWSTG   11,526,325 IO requests&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Large IO load per database&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_RQ_LG&lt;br /&gt;         DB_IO_RQ_LG     EDW    13,210,476 IO requests&lt;br /&gt;         DB_IO_RQ_LG     ODS    5,865,946 IO requests&lt;br /&gt;         DB_IO_RQ_LG     EDWSTG   4,644,494 IO requests&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Small IO load/sec. per database, last minute&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_RQ_SM_SEC&lt;br /&gt;         DB_IO_RQ_SM_SEC         EDW    14.5 IO/sec&lt;br /&gt;         DB_IO_RQ_SM_SEC         ODS    86.5 IO/sec&lt;br /&gt;         DB_IO_RQ_SM_SEC         EDWSTG   135 IO/sec&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Large IO load/sec. per database, last minute&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_RQ_LG_SEC&lt;br /&gt;         DB_IO_RQ_LG_SEC         EDW    54.4 IO/sec&lt;br /&gt;         DB_IO_RQ_LG_SEC         ODS    47.0 IO/sec&lt;br /&gt;         DB_IO_RQ_LG_SEC         EDWSTG   73.5 IO/sec&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Small IO Waits per database. per min.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_WT_SM&lt;br /&gt;         DB_IO_WT_SM     EDW    35,576,746 ms&lt;br /&gt;         DB_IO_WT_SM     ODS    5,686,954 ms&lt;br /&gt;         DB_IO_WT_SM     EDWSTG   7,236,957 ms&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to check Large IO Waits per database. per min.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST METRICCURRENT where name=DB_IO_WT_LG&lt;br /&gt;         DB_IO_WT_LG     EDW    2,284,982,657 ms&lt;br /&gt;         DB_IO_WT_LG     ODS    384,891,454 ms&lt;br /&gt;         DB_IO_WT_LG     EDWSTG   394,093,606 ms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5687978273789702871?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5687978273789702871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5687978273789702871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5687978273789702871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5687978273789702871'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2012/01/io-resource-managementiorm-with-exadata.html' title='I/O Resource Management(IORM) with Exadata'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-741691951292715526</id><published>2011-08-09T22:23:00.002-04:00</published><updated>2011-08-09T22:37:56.476-04:00</updated><title type='text'>How to find a SQL or session is running on which cell node and what it is doing?</title><content type='html'>&lt;strong&gt;How to find a SQL or session is running on which cell node and what it is doing?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Active SQL from session ID: 1271:&lt;/strong&gt;&lt;br /&gt;UPDATE etl_job_control&lt;br /&gt;   SET start_dt = (SELECT end_dt&lt;br /&gt;                     FROM etl_job_control&lt;br /&gt;                    WHERE job_name = 's_m_network_stg'),&lt;br /&gt;       end_dt =&lt;br /&gt;            (SELECT DATE '1970-01-01' + ((SELECT MAX (mod_t)&lt;br /&gt;                                            FROM pin_user.event) / 24 / 60 / 60)&lt;br /&gt;               FROM DUAL),&lt;br /&gt;       last_update_dt = SYSDATE&lt;br /&gt; WHERE job_name = :jn;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- Wait event on the session&lt;br /&gt;atl02db01:ODS1\sys: SQL&gt; select event from gv$session where sid = 1271 and serial# = 31026;&lt;br /&gt;&lt;br /&gt;EVENT&lt;br /&gt;--------------------------------&lt;br /&gt;cell multiblock physical read&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Let's find the details from cell node&lt;/strong&gt;&lt;br /&gt;LIST ACTIVEREQUEST where sessionID=1271 and sessionSerNumber=31026 detail   &lt;strong&gt;-- It looks like session runs on one cell node at any given time to get the data from the grid disk, as shown below session moved from cell 9 to 10.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;atl02cel09:&lt;br /&gt;CellCLI&gt; LIST ACTIVEREQUEST where sessionID=1271 and sessionSerNumber=31026 detail&lt;br /&gt;         name:                   5382&lt;br /&gt;         asmDiskGroupNumber:     3&lt;br /&gt;         asmFileIncarnation:     739372987&lt;br /&gt;         asmFileNumber:          2518&lt;br /&gt;         consumerGroupID:        4866&lt;br /&gt;         consumerGroupName:      OTHER_GROUPS&lt;br /&gt;         dbID:                   3108331340&lt;br /&gt;         dbName:                 ODS&lt;br /&gt;         dbRequestID:            5382&lt;br /&gt;         fileType:               Datafile&lt;br /&gt;         id:                     5382&lt;br /&gt;         instanceNumber:         1&lt;br /&gt;         ioBytes:                524288&lt;br /&gt;         ioBytesSofar:           0&lt;br /&gt;         ioGridDisk:             DATA_CD_10_atl02cel09&lt;br /&gt;         ioOffset:               790293632&lt;br /&gt;         ioReason:               "BufferCache Read"&lt;br /&gt;         ioType:                 CacheGet&lt;br /&gt;         objectNumber:           8104218&lt;br /&gt;         parentID:               5382&lt;br /&gt;         requestState:           "Queued for Disk Read"&lt;br /&gt;         sessionID:              1271&lt;br /&gt;         sessionSerNumber:       31026&lt;br /&gt;         sqlID:                  7p843mkscna11&lt;br /&gt;         tableSpaceNumber:       197&lt;br /&gt;&lt;br /&gt;atl02cel10:&lt;br /&gt;CellCLI&gt; LIST ACTIVEREQUEST where sessionID=1271 and sessionSerNumber=31026 detail&lt;br /&gt;         name:                   2301&lt;br /&gt;         asmDiskGroupNumber:     3&lt;br /&gt;         asmFileIncarnation:     731923539&lt;br /&gt;         asmFileNumber:          2059&lt;br /&gt;         consumerGroupID:        4866&lt;br /&gt;         consumerGroupName:      OTHER_GROUPS&lt;br /&gt;         dbID:                   3108331340&lt;br /&gt;         dbName:                 ODS&lt;br /&gt;         dbRequestID:            2301&lt;br /&gt;         fileType:               Datafile&lt;br /&gt;         id:                     2301&lt;br /&gt;         instanceNumber:         1&lt;br /&gt;         ioBytes:                376832&lt;br /&gt;         ioBytesSofar:           0&lt;br /&gt;         ioGridDisk:             DATA_CD_01_atl02cel10&lt;br /&gt;         ioOffset:               669064480&lt;br /&gt;         ioReason:               "BufferCache Read"&lt;br /&gt;         ioType:                 CacheGet&lt;br /&gt;         objectNumber:           8104222&lt;br /&gt;         parentID:               2301&lt;br /&gt;         requestState:           "Queued for Disk Read"&lt;br /&gt;         sessionID:              1271&lt;br /&gt;         sessionSerNumber:       31026&lt;br /&gt;         sqlID:                  7p843mkscna11&lt;br /&gt;         tableSpaceNumber:       197&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Want to see all the active request from instance 1 for database ODS&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST ACTIVEREQUEST where instanceNumber=1 and dbName=ODS&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-741691951292715526?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/741691951292715526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=741691951292715526' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/741691951292715526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/741691951292715526'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2011/08/how-to-find-sql-or-session-is-running.html' title='How to find a SQL or session is running on which cell node and what it is doing?'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-3598743360699934582</id><published>2011-07-31T21:23:00.005-04:00</published><updated>2011-07-31T21:58:51.758-04:00</updated><title type='text'>Exadata Smart Scan(cell offload processing), Exadata Smart Flash Cache and Exadata Storage Index Capability's</title><content type='html'>&lt;strong&gt;Exadata Smart Scan(cell offload processing), Exadata Smart Flash Cache and Exadata Storage Index Capability's&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a).&lt;br /&gt;-- Exadata Smart Scan(cell offload processing)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Exadata Smart Scan processes queries at the storage layer, returning only relevant rows and columns to the database server. &lt;br /&gt;As a result, much less data travels over fast 40GB Infiniband interconnect, dramatically improving the performance and concurrency of simple and complex queries.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Which predicates are supported by a cell? What happens when predicates contain functions or expressions?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt; a) Numeric functions: they can all be offloaded with a single exception, the &lt;br /&gt;    WIDTH_BUCKET function. For example the predicate "width_bucket(n,1,10,100) = 1" &lt;br /&gt;    is not offloaded.&lt;br /&gt;&lt;br /&gt; b) Character functions returning character values: they can all be offloaded.&lt;br /&gt; &lt;br /&gt; c) Character functions returning number values: they can all be offloaded.&lt;br /&gt; &lt;br /&gt; d) Datetime functions: &lt;br /&gt;    DATE datatype is supported.&lt;br /&gt;    When a TIMESTAMP datatype is involved, offloading almost never happens.&lt;br /&gt;    While predicates like "d = sysdate" (note that "d" is a column of DATE datatype) &lt;br /&gt;    and "add_months(d,1) = to_date('01-01-2010','DD-MM-YYYY')" can be offloaded, &lt;br /&gt;    something like "add_months(d,1) = sysdate" cannot.&lt;br /&gt;    Every datetime function can be offloaded provided that it is not used along with &lt;br /&gt;    SYSDATE or CURRENT_DATE.&lt;br /&gt;&lt;br /&gt;Note: There is no synchronization between the db layer and the storage layer for the purpose of offloading datetime functions. Whatever they would do, it is simply impossible to have exactly synchronized timers. Hence, inconsistent results might be generated. Therefore, IMO, the date/time for stuff like SYSDATE must be provided by the instance where a SQL statement is started.&lt;br /&gt;&lt;br /&gt;    months_between(d,sysdate) = 0&lt;br /&gt;    months_between(d,current_date) = 0&lt;br /&gt;    months_between(d,to_date('01-01-2010','DD-MM-YYYY')) = 0&lt;br /&gt;&lt;br /&gt; e) NULL-related functions: they can all be offloaded.&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;-- List of the functions supporting offloading, is available through the V$SQLFN_METADATA view.&lt;/strong&gt;&lt;br /&gt; SELECT offloadable, count(DISTINCT name)&lt;br /&gt;   FROM v$sqlfn_metadata&lt;br /&gt; GROUP BY offloadable;&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;-- Smart Scan Disablers&lt;/strong&gt;&lt;br /&gt; IOT&lt;br /&gt; Clustered Tables&lt;br /&gt; LOB&lt;br /&gt; Rowdependencies Enabled&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- You can use the below query to see the "cell physical IO interconnect bytes returned by smart scan" in bytes&lt;/strong&gt;&lt;br /&gt;SELECT a.NAME, b.VALUE&lt;br /&gt;  FROM v$sysstat a, v$mystat b&lt;br /&gt; WHERE a.statistic# = b.statistic#&lt;br /&gt;   AND (   a.NAME IN &lt;br /&gt;              ('physical read total bytes', 'physical write total bytes',&lt;br /&gt;               'cell IO uncompressed bytes')&lt;br /&gt;        OR a.NAME LIKE 'cell physical%'&lt;br /&gt;       );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b).&lt;br /&gt;-- How to create and drop Exadata Smart Flash Cache?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Drop flashcache (To flush Exadata Smart Flash Cache).&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; DROP FLASHCACHE&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Create flashcache on all disks.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; CREATE FLASHCACHE ALL&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Flashcache cell disk and size deatils.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST FLASHCACHE detail&lt;br /&gt;         name:                   atlcel01_FLASHCACHE&lt;br /&gt;         cellDisk:               FD_10_atlcel01,FD_00_atlcel01,FD_04_atlcel01,FD_14_atlcel01,FD_15_atlcel01,FD_02_atlcel01,FD_08_atlcel01,FD_07_atlcel01,FD_05_atlcel01,FD_09_atlcel01,FD_13_atlcel01,FD_03_atlcel01,FD_12_atlcel01,FD_01_atlcel01,FD_11_atlcel01,FD_06_atlcel01&lt;br /&gt;         creationTime:           2011-03-27T03:18:23-04:00&lt;br /&gt;         degradedCelldisks:&lt;br /&gt;         effectiveCacheSize:     365.25G&lt;br /&gt;         id:                     40ef10f1-8c82-4419-b5a1-9d51706813fe&lt;br /&gt;         size:                   365.25G&lt;br /&gt;         status:                 normal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- To determine whether an object is currently being kept in the Exadata Smart Flash Cache&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Get the object id&lt;/strong&gt;&lt;br /&gt;atldb01:ODS1\sys: SQL&gt; select object_id, object_type from dba_objects where object_id = 8104207;&lt;br /&gt;&lt;br /&gt; OBJECT_ID OBJECT_TYPE&lt;br /&gt;---------- -------------------&lt;br /&gt;   8104207 TABLE PARTITION&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Look at the segment statistics and get the DATAOBJ#&lt;/strong&gt;&lt;br /&gt;atldb01:ODS1\sys: SQL&gt; select distinct inst_id, owner, object_name, ts#, obj#, dataobj# from gv$segment_statistics&lt;br /&gt;  2  where owner = 'PIN_USER'&lt;br /&gt;  3    and object_name = 'EVENT';&lt;br /&gt;&lt;br /&gt;   INST_ID OWNER                          OBJECT_NAME                           TS#       OBJ#   DATAOBJ#&lt;br /&gt;---------- ------------------------------ ------------------------------ ---------- ---------- ----------&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104207    8104207&lt;br /&gt;         1 PIN_USER                       EVENT                               197    8104202    8104202&lt;br /&gt;         3 PIN_USER                       EVENT                               197    8104201    8104201&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104218    8104218&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104221    8104221&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104212    8104212&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104215    8104215&lt;br /&gt;         2 PIN_USER                       EVENT                               197    8104227    8104227&lt;br /&gt;         1 PIN_USER                       EVENT                               197    8104218    8104218&lt;br /&gt;         1 PIN_USER                       EVENT                               197    8104212    8104212&lt;br /&gt;         1 PIN_USER                       EVENT                               197    8104205    8104205&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- List the object details from Flash Cache.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST FLASHCACHECONTENT where objectNumber=8104207 and tableSpaceNumber=197 and dbUniqueName=PODS detail&lt;br /&gt;         cachedKeepSize:         0&lt;br /&gt;         cachedSize:             4194304&lt;br /&gt;         dbID:                   3108331340&lt;br /&gt;         dbUniqueName:           PODS&lt;br /&gt;         hitCount:               5972&lt;br /&gt;         missCount:              8820&lt;br /&gt;         objectNumber:           8104207&lt;br /&gt;         tableSpaceNumber:       197&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: DBA can cache an object by setting CELL_FLASH_CACHE setting to KEEP. The default value of this setting is DEFAULT.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When you are accessing the object data from the Flash Cache, you should see high number of optimized request("physical read requests optimized" and "cell flash cache read hits") than the high number of I/O requests("physical read total IO requests").&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- You can use the below query to see the "flash cache read hits" in bytes.&lt;/strong&gt;&lt;br /&gt;SELECT a.NAME, b.VALUE&lt;br /&gt;  FROM v$sysstat a, v$mystat b&lt;br /&gt; WHERE a.statistic# = b.statistic#&lt;br /&gt;   AND (   a.NAME LIKE '%flash cache read hits'&lt;br /&gt;        OR a.NAME LIKE 'cell physical%'&lt;br /&gt;        OR a.NAME LIKE 'physical read tot%'&lt;br /&gt;        OR a.NAME LIKE 'physical read req%'&lt;br /&gt;       );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c).&lt;br /&gt;-- Storage Index Capability's&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Storage Indexes are memory structures which do not persist when the Exadata cells are restarted. They are dynamically built when tables are referenced for the first time after the cells restart.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- You can use the below query to see the savings of Storage Index in MB.&lt;/strong&gt;&lt;br /&gt;SELECT a.NAME, b.VALUE / 1024 / 1024 value_in_mb&lt;br /&gt;  FROM v$sysstat a, v$mystat b&lt;br /&gt; WHERE a.statistic# = b.statistic#&lt;br /&gt;   AND (   a.NAME IN&lt;br /&gt;              ('physical read total bytes', 'physical write total bytes',&lt;br /&gt;               'cell IO uncompressed bytes')&lt;br /&gt;        OR a.NAME LIKE 'cell physical%'&lt;br /&gt;       );&lt;br /&gt;&lt;br /&gt;Value of "cell physical IO bytes saved by storage index" shows the savings of the physical I/O by storage index and the total Physical I/O is recorded under "physical read total bytes".&lt;br /&gt;&lt;br /&gt;Queries that benefit from storage index can execute more quickly using fewer resources which allows other workloads to use the unused I/O resources.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-3598743360699934582?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/3598743360699934582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=3598743360699934582' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3598743360699934582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3598743360699934582'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2011/07/exadata-smart-scancell-offload.html' title='Exadata Smart Scan(cell offload processing), Exadata Smart Flash Cache and Exadata Storage Index Capability&apos;s'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-2521438580272562106</id><published>2011-07-10T17:27:00.008-04:00</published><updated>2011-08-03T16:59:29.149-04:00</updated><title type='text'>How to setup notifications on cell node:</title><content type='html'>&lt;strong&gt;How to setup notifications on cell node:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Setting up notification on a cell&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; ALTER CELL smtpServer='smtpmail.corp.dwire.com', -&lt;br /&gt;                    smtpFromAddr='OracleSupport@dwire.com', -&lt;br /&gt;                    smtpFrom='DWIRE Oracle Support', -&lt;br /&gt;                    smtpToAddr='OracleSupport@dwire.com,Vijay.Dumpa@dwire.com', -&lt;br /&gt;                    notificationPolicy='critical,warning,clear', -&lt;br /&gt;                    notificationMethod='mail,snmp'&lt;br /&gt;&lt;br /&gt;                    &lt;br /&gt;&lt;strong&gt;-- List the notification details &lt;/strong&gt;&lt;br /&gt;CellCLI&gt; list cell detail&lt;br /&gt;         name:                   atl02cel01&lt;br /&gt;         bmcType:                IPMI&lt;br /&gt;         cellVersion:            OSS_11.2.1.2.6_LINUX.X64_100511&lt;br /&gt;         cpuCount:               16&lt;br /&gt;         fanCount:               12/12&lt;br /&gt;         fanStatus:              normal&lt;br /&gt;         id:                     1009XFG023&lt;br /&gt;         interconnectCount:      3&lt;br /&gt;         interconnect1:          bond0&lt;br /&gt;         iormBoost:              0.0&lt;br /&gt;         ipaddress1:             192.168.10.1/22&lt;br /&gt;         kernelVersion:          2.6.18-128.1.16.0.1.el5&lt;br /&gt;         makeModel:              SUN MICROSYSTEMS SUN FIRE X4275 SERVER SAS&lt;br /&gt;         metricHistoryDays:      7&lt;br /&gt;         notificationMethod:     mail,snmp&lt;br /&gt;         notificationPolicy:     critical,warning,clear&lt;br /&gt;         offloadEfficiency:      3.6M&lt;br /&gt;         powerCount:             2/2&lt;br /&gt;         powerStatus:            normal&lt;br /&gt;         smtpFrom:               "DWIRE Oracle Support"&lt;br /&gt;         smtpFromAddr:           OracleSupport@dwire.com&lt;br /&gt;         smtpServer:             smtpmail.corp.dwire.com&lt;br /&gt;         smtpToAddr:             OracleSupport@dwire.com,Vijay.Dumpa@dwire.com&lt;br /&gt;         snmpSubscriber:         host=catl0sm41,port=162,community=celadmin&lt;br /&gt;                                 host=catl0sm58,port=162,community=celadmin&lt;br /&gt;                                 host=catl0sm59,port=162,community=celadmin&lt;br /&gt;                                 host=catl0sm157,port=162,community=celadmin&lt;br /&gt;         status:                 online&lt;br /&gt;         temperatureReading:     25.0&lt;br /&gt;         temperatureStatus:      normal&lt;br /&gt;         upTime:                 46 days, 19:18&lt;br /&gt;         cellsrvStatus:          running&lt;br /&gt;         msStatus:               running&lt;br /&gt;         rsStatus:               running&lt;br /&gt;&lt;br /&gt;CellCLI&gt; exit&lt;br /&gt;quitting&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; ALTER CELL VALIDATE mail   &lt;strong&gt;-- A test message is sent using mail configuration.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; ALTER CELL VALIDATE mail&lt;br /&gt;Cell atl02cel01 successfully altered&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Test email content, received in the outlook&lt;/strong&gt;&lt;br /&gt;Subject: CELL atl02cel01 Test Message&lt;br /&gt;This test e-mail message from Oracle Cell atl02cel01 indicates successful configuration of your e-mail address and mail server. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; ALTER CELL VALIDATE configuration   &lt;strong&gt;-- To verify firmware configuration. (Takes a minute to return)&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; ALTER CELL VALIDATE configuration&lt;br /&gt;Cell atl02cel01 successfully altered&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: Need to execute on each cell node.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to disable the notification alert?&lt;/strong&gt;&lt;br /&gt;cellcli -e alter cell notificationMethod=null&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- How to enable the notification alert back?&lt;/strong&gt;&lt;br /&gt;cellcli -e alter cell notificationMethod='mail,snmp'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-2521438580272562106?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/2521438580272562106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=2521438580272562106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/2521438580272562106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/2521438580272562106'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2011/07/how-to-setup-notifications-on-cell-node.html' title='How to setup notifications on cell node:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-8310865873828820719</id><published>2011-07-10T16:51:00.006-04:00</published><updated>2011-07-20T23:17:04.267-04:00</updated><title type='text'>Exadata Disk creation and Management:</title><content type='html'>&lt;strong&gt;Exadata Disk creation and Management:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Exadata Storage Layout:&lt;br /&gt;PHYSICAL DISK -&gt; LUN -&gt; CELL DISK -&gt; GRID DISK -&gt; ASM DISK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a). &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;-- List LUN and PHYSICAL DISK.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN   &lt;strong&gt;-- List of all LUN's on a cell.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN&lt;br /&gt;         0_0     0_0     normal&lt;br /&gt;         0_1     0_1     normal&lt;br /&gt;         0_2     0_2     normal&lt;br /&gt;         0_3     0_3     normal&lt;br /&gt;         0_4     0_4     normal&lt;br /&gt;         0_5     0_5     normal&lt;br /&gt;         0_6     0_6     normal&lt;br /&gt;         0_7     0_7     normal&lt;br /&gt;         0_8     0_8     normal&lt;br /&gt;         0_9     0_9     normal&lt;br /&gt;         0_10    0_10    normal&lt;br /&gt;         0_11    0_11    normal&lt;br /&gt;         1_0     1_0     normal&lt;br /&gt;         1_1     1_1     normal&lt;br /&gt;         1_2     1_2     normal&lt;br /&gt;         1_3     1_3     normal&lt;br /&gt;         2_0     2_0     normal&lt;br /&gt;         2_1     2_1     normal&lt;br /&gt;         2_2     2_2     normal&lt;br /&gt;         2_3     2_3     normal&lt;br /&gt;         4_0     4_0     normal&lt;br /&gt;         4_1     4_1     normal&lt;br /&gt;         4_2     4_2     normal&lt;br /&gt;         4_3     4_3     normal&lt;br /&gt;         5_0     5_0     normal&lt;br /&gt;         5_1     5_1     normal&lt;br /&gt;         5_2     5_2     normal&lt;br /&gt;         5_3     5_3     normal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where disktype = harddisk   &lt;strong&gt;-- List all the hard disks on a cell.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where disktype = harddisk&lt;br /&gt;         0_0     0_0     normal&lt;br /&gt;         0_1     0_1     normal&lt;br /&gt;         0_2     0_2     normal&lt;br /&gt;         0_3     0_3     normal&lt;br /&gt;         0_4     0_4     normal&lt;br /&gt;         0_5     0_5     normal&lt;br /&gt;         0_6     0_6     normal&lt;br /&gt;         0_7     0_7     normal&lt;br /&gt;         0_8     0_8     normal&lt;br /&gt;         0_9     0_9     normal&lt;br /&gt;         0_10    0_10    normal&lt;br /&gt;         0_11    0_11    normal&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where disktype = flashdisk   &lt;strong&gt;-- List all the flash disks on a cell.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where disktype = flashdisk&lt;br /&gt;         1_0     1_0     normal&lt;br /&gt;         1_1     1_1     normal&lt;br /&gt;         1_2     1_2     normal&lt;br /&gt;         1_3     1_3     normal&lt;br /&gt;         2_0     2_0     normal&lt;br /&gt;         2_1     2_1     normal&lt;br /&gt;         2_2     2_2     normal&lt;br /&gt;         2_3     2_3     normal&lt;br /&gt;         4_0     4_0     normal&lt;br /&gt;         4_1     4_1     normal&lt;br /&gt;         4_2     4_2     normal&lt;br /&gt;         4_3     4_3     normal&lt;br /&gt;         5_0     5_0     normal&lt;br /&gt;         5_1     5_1     normal&lt;br /&gt;         5_2     5_2     normal&lt;br /&gt;         5_3     5_3     normal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where celldisk = null   &lt;strong&gt;-- List all the LUN's not associated with a cell disk.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where celldisk = null&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where name = 0_7 detail   &lt;strong&gt;-- Check isSystemLun=FALSE, this indicates that LUN is not located on a system disk.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST LUN where name = 0_7 detail&lt;br /&gt;         name:                   0_7&lt;br /&gt;         cellDisk:               CD_07_atl02cel01&lt;br /&gt;         deviceName:             /dev/sdh&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         id:                     0_7&lt;br /&gt;         isSystemLun:            FALSE&lt;br /&gt;         lunAutoCreate:          FALSE&lt;br /&gt;         lunSize:                1861.712890625G&lt;br /&gt;         lunUID:                 0_7&lt;br /&gt;         physicalDrives:         24:7&lt;br /&gt;         raidLevel:              0&lt;br /&gt;         lunWriteCacheMode:      "WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU"&lt;br /&gt;         status:                 normal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST PHYSICALDISK where name = 24:7 detail   &lt;strong&gt;-- List the physical disk attributes (pass the "physicalDrives" name)&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST PHYSICALDISK where name = 24:7 detail&lt;br /&gt;         name:                   24:7&lt;br /&gt;         deviceId:               23&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         enclosureDeviceId:      24&lt;br /&gt;         errMediaCount:          0&lt;br /&gt;         errOtherCount:          0&lt;br /&gt;         foreignState:           false&lt;br /&gt;         luns:                   0_7&lt;br /&gt;         makeModel:              "HITACHI H7220AA30SUN2.0T"&lt;br /&gt;         physicalFirmware:       JKAOA28A&lt;br /&gt;         physicalInsertTime:     2010-07-13T21:22:00-04:00&lt;br /&gt;         physicalInterface:      sata&lt;br /&gt;         physicalSerial:         JK1130YAHBXL2T&lt;br /&gt;         physicalSize:           1862.6559999994934G&lt;br /&gt;         slotNumber:             7&lt;br /&gt;         status:                 normal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b).&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;-- How to create Cell disk?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST CELLDISK   &lt;strong&gt;-- List all the cell disks on a cell node.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST CELLDISK&lt;br /&gt;         CD_00_atl02cel01   normal&lt;br /&gt;         CD_01_atl02cel01   normal&lt;br /&gt;         CD_02_atl02cel01   normal&lt;br /&gt;         CD_03_atl02cel01   normal&lt;br /&gt;         CD_04_atl02cel01   normal&lt;br /&gt;         CD_05_atl02cel01   normal&lt;br /&gt;         CD_06_atl02cel01   normal&lt;br /&gt;         CD_07_atl02cel01   normal&lt;br /&gt;         CD_08_atl02cel01   normal&lt;br /&gt;         CD_09_atl02cel01   normal&lt;br /&gt;         CD_10_atl02cel01   normal&lt;br /&gt;         CD_11_atl02cel01   normal&lt;br /&gt;         FD_00_atl02cel01   normal&lt;br /&gt;         FD_01_atl02cel01   normal&lt;br /&gt;         FD_02_atl02cel01   normal&lt;br /&gt;         FD_03_atl02cel01   normal&lt;br /&gt;         FD_04_atl02cel01   normal&lt;br /&gt;         FD_05_atl02cel01   normal&lt;br /&gt;         FD_06_atl02cel01   normal&lt;br /&gt;         FD_07_atl02cel01   normal&lt;br /&gt;         FD_08_atl02cel01   normal&lt;br /&gt;         FD_09_atl02cel01   normal&lt;br /&gt;         FD_10_atl02cel01   normal&lt;br /&gt;         FD_11_atl02cel01   normal&lt;br /&gt;         FD_12_atl02cel01   normal&lt;br /&gt;         FD_13_atl02cel01   normal&lt;br /&gt;         FD_14_atl02cel01   normal&lt;br /&gt;         FD_15_atl02cel01   normal&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Hard Disk&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST CELLDISK where name = CD_07_atl02cel01 detail&lt;br /&gt;         name:                   CD_07_atl02cel01&lt;br /&gt;         comment:&lt;br /&gt;         creationTime:           2010-07-14T19:56:09-04:00&lt;br /&gt;         deviceName:             /dev/sdh&lt;br /&gt;         devicePartition:        /dev/sdh&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         errorCount:             0&lt;br /&gt;         freeSpace:              560M&lt;br /&gt;         freeSpaceMap:           offset=1832.046875G,size=560M&lt;br /&gt;         id:                     00000129-d363-0901-0000-000000000000&lt;br /&gt;         interleaving:           none&lt;br /&gt;         lun:                    0_7&lt;br /&gt;         raidLevel:              0&lt;br /&gt;         size:                   1861.703125G&lt;br /&gt;         status:                 normal&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CellCLI&gt; CREATE CELLDISK CD_07_atl02cel01 LUN='0_7' HARDDISK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Flash Disk&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST CELLDISK where name = FD_00_atl02cel01 detail&lt;br /&gt;         name:                   FD_00_atl02cel01&lt;br /&gt;         comment:&lt;br /&gt;         creationTime:           2011-03-27T03:17:59-04:00&lt;br /&gt;         deviceName:             /dev/sdq&lt;br /&gt;         devicePartition:        /dev/sdq&lt;br /&gt;         diskType:               FlashDisk&lt;br /&gt;         errorCount:             0&lt;br /&gt;         freeSpace:              0&lt;br /&gt;         id:                     caf0be8d-4061-451a-a9da-090945a9c8d5&lt;br /&gt;         interleaving:           none&lt;br /&gt;         lun:                    1_0&lt;br /&gt;         size:                   22.875G&lt;br /&gt;         status:                 normal&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CellCLI&gt; CREATE CELLDISK FD_00_atl02cel01 LUN='1_0' FLASHDISK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c).&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;-- How to create Grid disk?&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;All the grid disks are created on cell disks (HARDDISK, not FLASHDISK).&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST GRIDDISK   &lt;strong&gt;-- List all the grid disks on a cell node.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST GRIDDISK&lt;br /&gt;         DATA_CD_00_atl02cel01      active&lt;br /&gt;         DATA_CD_01_atl02cel01      active&lt;br /&gt;         DATA_CD_02_atl02cel01      active&lt;br /&gt;         DATA_CD_03_atl02cel01      active&lt;br /&gt;         DATA_CD_04_atl02cel01      active&lt;br /&gt;         DATA_CD_05_atl02cel01      active&lt;br /&gt;         DATA_CD_06_atl02cel01      active&lt;br /&gt;         DATA_CD_07_atl02cel01      active&lt;br /&gt;         DATA_CD_08_atl02cel01      active&lt;br /&gt;         DATA_CD_09_atl02cel01      active&lt;br /&gt;         DATA_CD_10_atl02cel01      active&lt;br /&gt;         DATA_CD_11_atl02cel01      active&lt;br /&gt;         RECO_CD_00_atl02cel01      active&lt;br /&gt;         RECO_CD_01_atl02cel01      active&lt;br /&gt;         RECO_CD_02_atl02cel01      active&lt;br /&gt;         RECO_CD_03_atl02cel01      active&lt;br /&gt;         RECO_CD_04_atl02cel01      active&lt;br /&gt;         RECO_CD_05_atl02cel01      active&lt;br /&gt;         RECO_CD_06_atl02cel01      active&lt;br /&gt;         RECO_CD_07_atl02cel01      active&lt;br /&gt;         RECO_CD_08_atl02cel01      active&lt;br /&gt;         RECO_CD_09_atl02cel01      active&lt;br /&gt;         RECO_CD_10_atl02cel01      active&lt;br /&gt;         RECO_CD_11_atl02cel01      active&lt;br /&gt;         SYSTEMDG_CD_02_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_03_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_04_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_05_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_06_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_07_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_08_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_09_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_10_atl02cel01  active&lt;br /&gt;         SYSTEMDG_CD_11_atl02cel01  active&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST GRIDDISK where celldisk=CD_07_atl02cel01 detail   &lt;strong&gt;-- List the different grid disks names on one celldisk and the OFFSET is starting point on the physical disk.&lt;/strong&gt;&lt;br /&gt;CellCLI&gt; LIST GRIDDISK where celldisk=CD_07_atl02cel01 detail&lt;br /&gt;         name:                   DATA_CD_07_atl02cel01&lt;br /&gt;         availableTo:&lt;br /&gt;         cellDisk:               CD_07_atl02cel01&lt;br /&gt;         comment:&lt;br /&gt;         creationTime:           2010-07-14T19:58:53-04:00&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         errorCount:             0&lt;br /&gt;         id:                     00000129-d365-88f0-0000-000000000000&lt;br /&gt;         offset:                 32M&lt;br /&gt;         size:                   1582G&lt;br /&gt;         status:                 active&lt;br /&gt;&lt;br /&gt;         name:                   RECO_CD_07_atl02cel01&lt;br /&gt;         availableTo:&lt;br /&gt;         cellDisk:               CD_07_atl02cel01&lt;br /&gt;         comment:&lt;br /&gt;         creationTime:           2010-08-20T12:27:25-04:00&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         errorCount:             0&lt;br /&gt;         id:                     0000012a-9053-7f16-0000-000000000000&lt;br /&gt;         offset:                 1582G&lt;br /&gt;         size:                   250G&lt;br /&gt;         status:                 active&lt;br /&gt;&lt;br /&gt;         name:                   SYSTEMDG_CD_07_atl02cel01&lt;br /&gt;         availableTo:&lt;br /&gt;         cellDisk:               CD_07_atl02cel01&lt;br /&gt;         comment:&lt;br /&gt;         creationTime:           2010-07-14T19:56:50-04:00&lt;br /&gt;         diskType:               HardDisk&lt;br /&gt;         errorCount:             0&lt;br /&gt;         id:                     00000129-d363-a6e5-0000-000000000000&lt;br /&gt;         offset:                 1832.59375G&lt;br /&gt;         size:                   29.109375G&lt;br /&gt;         status:                 active&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CellCLI&gt; CREATE GRIDDISK DATA_CD_07_atl02cel01     celldisk=CD_07_atl02cel01,size=1582G,offset=32M   -- Where "offset" is starting point on the disk.&lt;br /&gt;CellCLI&gt; CREATE GRIDDISK RECO_CD_07_atl02cel01     celldisk=CD_07_atl02cel01,size=250G,offset=1582G&lt;br /&gt;CellCLI&gt; CREATE GRIDDISK SYSTEMDG_CD_07_atl02cel01 celldisk=CD_07_atl02cel01,size=29.109375G,offset=1832.59375G&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;d).&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;-- How to create ASM disk on Exadata?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CellCLI&gt; LIST GRIDDISK attributes name, size, asmmodestatus where asmmodestatus='UNUSED'   &lt;strong&gt;-- To identify all the unused grid disks to create ASM disks.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;asmca&lt;br /&gt;(or)&lt;br /&gt;. oraenv&lt;br /&gt;+ASM1&lt;br /&gt;&lt;br /&gt;sqlplus / as sysasm&lt;br /&gt;&lt;br /&gt;set linesize 200&lt;br /&gt;col path for a50&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- No CANDIDATE disks.&lt;/strong&gt;&lt;br /&gt;SQL&gt; select name, header_status, path from v$asm_disk&lt;br /&gt;  2  where header_status &lt;&gt; 'MEMBER';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;no rows selected&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Print Existing disk name and the paths.&lt;/strong&gt;&lt;br /&gt;SQL&gt; select * from (select name, header_status, path from v$asm_disk order by name)&lt;br /&gt;  2  where rownum &lt; 16;&lt;br /&gt;&lt;br /&gt;NAME                      HEADER_STATU PATH&lt;br /&gt;------------------------- ------------ --------------------------------------------------&lt;br /&gt;DATA_CD_00_ATL02CEL01     MEMBER       o/192.168.10.1/DATA_CD_00_atl02cel01&lt;br /&gt;DATA_CD_00_ATL02CEL02     MEMBER       o/192.168.10.2/DATA_CD_00_atl02cel02&lt;br /&gt;DATA_CD_00_ATL02CEL03     MEMBER       o/192.168.10.3/DATA_CD_00_atl02cel03&lt;br /&gt;DATA_CD_00_ATL02CEL04     MEMBER       o/192.168.10.4/DATA_CD_00_atl02cel04&lt;br /&gt;DATA_CD_00_ATL02CEL05     MEMBER       o/192.168.10.5/DATA_CD_00_atl02cel05&lt;br /&gt;DATA_CD_00_ATL02CEL06     MEMBER       o/192.168.10.6/DATA_CD_00_atl02cel06&lt;br /&gt;DATA_CD_00_ATL02CEL07     MEMBER       o/192.168.10.7/DATA_CD_00_atl02cel07&lt;br /&gt;DATA_CD_00_ATL02CEL08     MEMBER       o/192.168.10.8/DATA_CD_00_atl02cel08&lt;br /&gt;DATA_CD_00_ATL02CEL09     MEMBER       o/192.168.10.9/DATA_CD_00_atl02cel09&lt;br /&gt;DATA_CD_00_ATL02CEL10     MEMBER       o/192.168.10.10/DATA_CD_00_atl02cel10&lt;br /&gt;DATA_CD_01_ATL02CEL01     MEMBER       o/192.168.10.1/DATA_CD_01_atl02cel01&lt;br /&gt;DATA_CD_01_ATL02CEL02     MEMBER       o/192.168.10.2/DATA_CD_01_atl02cel02&lt;br /&gt;DATA_CD_01_ATL02CEL03     MEMBER       o/192.168.10.3/DATA_CD_01_atl02cel03&lt;br /&gt;DATA_CD_01_ATL02CEL04     MEMBER       o/192.168.10.4/DATA_CD_01_atl02cel04&lt;br /&gt;DATA_CD_01_ATL02CEL05     MEMBER       o/192.168.10.5/DATA_CD_01_atl02cel05&lt;br /&gt;&lt;br /&gt;15 rows selected.&lt;br /&gt;&lt;br /&gt;col failgroup_type for a15;&lt;br /&gt;SQL&gt; select * from (select name, header_status, path, failgroup, failgroup_type, sector_size from v$asm_disk order by name)&lt;br /&gt;  2  where rownum &lt; 16;&lt;br /&gt;&lt;br /&gt;NAME                      HEADER_STATU PATH                                          FAILGROUP       FAILGROUP_TYPE SECTOR_SIZE&lt;br /&gt;------------------------- ------------ --------------------------------------------- ----------- ------------------ -------------&lt;br /&gt;DATA_CD_00_ATL02CEL01     MEMBER       o/192.168.10.1/DATA_CD_00_atl02cel01          ATL02CEL01  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL02     MEMBER       o/192.168.10.2/DATA_CD_00_atl02cel02          ATL02CEL02  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL03     MEMBER       o/192.168.10.3/DATA_CD_00_atl02cel03          ATL02CEL03  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL04     MEMBER       o/192.168.10.4/DATA_CD_00_atl02cel04          ATL02CEL04  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL05     MEMBER       o/192.168.10.5/DATA_CD_00_atl02cel05          ATL02CEL05  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL06     MEMBER       o/192.168.10.6/DATA_CD_00_atl02cel06          ATL02CEL06  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL07     MEMBER       o/192.168.10.7/DATA_CD_00_atl02cel07          ATL02CEL07  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL08     MEMBER       o/192.168.10.8/DATA_CD_00_atl02cel08          ATL02CEL08  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL09     MEMBER       o/192.168.10.9/DATA_CD_00_atl02cel09          ATL02CEL09  REGULAR                512&lt;br /&gt;DATA_CD_00_ATL02CEL10     MEMBER       o/192.168.10.10/DATA_CD_00_atl02cel10         ATL02CEL10  REGULAR                512&lt;br /&gt;DATA_CD_01_ATL02CEL01     MEMBER       o/192.168.10.1/DATA_CD_01_atl02cel01          ATL02CEL01  REGULAR                512&lt;br /&gt;DATA_CD_01_ATL02CEL02     MEMBER       o/192.168.10.2/DATA_CD_01_atl02cel02          ATL02CEL02  REGULAR                512&lt;br /&gt;DATA_CD_01_ATL02CEL03     MEMBER       o/192.168.10.3/DATA_CD_01_atl02cel03          ATL02CEL03  REGULAR                512&lt;br /&gt;DATA_CD_01_ATL02CEL04     MEMBER       o/192.168.10.4/DATA_CD_01_atl02cel04          ATL02CEL04  REGULAR                512&lt;br /&gt;DATA_CD_01_ATL02CEL05     MEMBER       o/192.168.10.5/DATA_CD_01_atl02cel05          ATL02CEL05  REGULAR                512&lt;br /&gt;&lt;br /&gt;15 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;col name for a10&lt;br /&gt;col compatibility for a10&lt;br /&gt;col database_compatibility for a22&lt;br /&gt;SQL&gt; select name, allocation_unit_size, block_size, compatibility, database_compatibility from v$asm_diskgroup;&lt;br /&gt;&lt;br /&gt;NAME       ALLOCATION_UNIT_SIZE BLOCK_SIZE COMPATIBIL DATABASE_COMPATIBILITY&lt;br /&gt;---------- -------------------- ---------- ---------- ----------------------&lt;br /&gt;SYSTEMDG                4194304       4096 11.2.0.0.0 11.2.0.0.0&lt;br /&gt;DATA                    4194304       4096 11.2.0.0.0 11.2.0.0.0&lt;br /&gt;RECO                    4194304       4096 11.2.0.0.0 11.2.0.0.0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;. oraenv&lt;br /&gt;+ASM1&lt;br /&gt;&lt;br /&gt;sqlplus / as sysasm&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Createing SYSTEMDG diskgroup:&lt;/strong&gt;&lt;br /&gt;CREATE DISKGROUP SYSTEMDG NORMAL REDUNDANCY&lt;br /&gt;DISK 'o/*/SYSTEMDG*'&lt;br /&gt;ATTRIBUTE 'AU_SIZE' = '4M',&lt;br /&gt;&lt;strong&gt;'cell.smart_scan_capable'='TRUE',&lt;/strong&gt;&lt;br /&gt;'compatible.rdbms'='11.2.0.0',&lt;br /&gt;'compatible.asm'='11.2.0.0';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Createing DATA diskgroup&lt;/strong&gt;&lt;br /&gt;CREATE DISKGROUP DATA NORMAL REDUNDANCY&lt;br /&gt;DISK 'o/*/DATA*'&lt;br /&gt;ATTRIBUTE 'AU_SIZE' = '4M',&lt;br /&gt;&lt;strong&gt;'cell.smart_scan_capable'='TRUE',&lt;/strong&gt;&lt;br /&gt;'compatible.rdbms'='11.2.0.0',&lt;br /&gt;'compatible.asm'='11.2.0.0';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Createing RECO diskgroup&lt;/strong&gt;&lt;br /&gt;CREATE DISKGROUP RECO NORMAL REDUNDANCY&lt;br /&gt;DISK 'o/*/RECO*'&lt;br /&gt;ATTRIBUTE 'AU_SIZE' = '4M',&lt;br /&gt;&lt;strong&gt;'cell.smart_scan_capable'='TRUE',&lt;/strong&gt;&lt;br /&gt;'compatible.rdbms'='11.2.0.0',&lt;br /&gt;'compatible.asm'='11.2.0.0';&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-8310865873828820719?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/8310865873828820719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=8310865873828820719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8310865873828820719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8310865873828820719'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2011/07/exadata-disk-creation-and-management.html' title='Exadata Disk creation and Management:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-7164719722808106666</id><published>2011-01-02T10:58:00.013-05:00</published><updated>2011-02-23T23:29:18.001-05:00</updated><title type='text'>Exadata V2 Storage Server (Cell node) Architecture and Management:</title><content type='html'>&lt;strong&gt;Exadata V2 Storage Server (Cell node) Architecture and Management:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Architecture Overview:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Storage Servers: &lt;/strong&gt;&lt;br /&gt;The Exadata Storage Server is a SAN storage device specifically built for Oracle database use. Each holds 12 SAS or SATA disks (2 TB(SAS)/7 TB(SATA) total raw capacity), &lt;br /&gt;dual Xeon CPUs, dual InfiniBand, and 384 GB of flash memory. Smart Scan support reduces the data that must travel over the InfiniBand network, &lt;br /&gt;while Hybrid Columnar Compression reduces data footprint by 4 to 50 times, depending on the data and compression mode.&lt;br /&gt;&lt;br /&gt;- Each Exadata storage cell has 12 disks.&lt;br /&gt;- One physical disk is called LUN and is also called cell disk.&lt;br /&gt;- A grid disk is part of a cell disk.&lt;br /&gt;- A disk group is made of many grid disks.&lt;br /&gt;&lt;br /&gt;- On the first two disks, the first 4 partitions (29GB) are reserved for system software. The two disks contain mirror copy. &lt;br /&gt;- On the other 10 disks, 29GB can not be used. These 10 disks can be utilized by creating DBFS file system.&lt;br /&gt;- So, Exdata creates a file system of 290GB called SYSTEMDG for FULL RAC cluster.&lt;br /&gt;- SYSTEMDG contains OCR and Votedisk information.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ExadataCell Disk Storage Capacity:&lt;/strong&gt;&lt;br /&gt;. 12 x 600 GB SAS 15K rpm disks (7.2 TB/cell @ 100 TB total) - But actual size is about 558GB. A little bit of space is also kept aside for celldisk metadata ~48MB per disk.&lt;br /&gt;. 12 x 2TB SATA disks (24 TB/cell @ 336 TB total)&lt;br /&gt;. 4 x 96 GB Sun Flash Cards (384GB/cell @ total 5TB) - But when execute  celci command  'list flashcache' returns 365.25. &lt;br /&gt;                                                     - A little bit of space is also kept aside for celldisk metadata on these cards too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Exadata Disk groups:&lt;/strong&gt;&lt;br /&gt;DATA (Data)&lt;br /&gt;RECO (Redo logs, Archive logs and Flash Recovery Area)&lt;br /&gt;SYSTEMDG (OCR and Votedisk)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cell node unique feature:&lt;/strong&gt;&lt;br /&gt;Smart Scans&lt;br /&gt;Hybrid Columnar Compression&lt;br /&gt;Storage Indexes&lt;br /&gt;Flash Cache&lt;br /&gt;ExadataI/O Resource Management in Multi-Database Environment&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Background Processes in the Exadata Cell Environment on database server:&lt;/strong&gt;&lt;br /&gt;The background processes for the database and Oracle ASM instance for an Exadata&lt;br /&gt;Cell environment are the same as other environments, except for the following background process:&lt;br /&gt;&lt;br /&gt;- diskmon Process - The diskmon process is a fundamental component of Exadata Cell, and is responsible for implementing I/O fencing.&lt;br /&gt;&lt;br /&gt;- XDMG Process (Exadata Automation Manager)&lt;br /&gt;  Its primary task is to watch for inaccessible disks and cells, and to detect when the disks and cells become accessible.&lt;br /&gt;&lt;br /&gt;- XDWK Process (Exadata Automation Worker)&lt;br /&gt;  The XDWK process begins when asynchronous actions, such as ONLINE, DROP or ADD for an Oracle ASM disk are requested by the XDMG process.&lt;br /&gt;  The XDWK process will stop after 5 minutes of inactivity.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br /&gt;&gt; ps -ef | egrep "diskmon|xdmg|xdwk"&lt;br /&gt;oracle    4684  4206  0 06:42 pts/1    00:00:00 egrep diskmon|xdmg|xdwk&lt;br /&gt;oracle   10321     1  0  2010 ?        00:38:15 /u01/app/11.2.0/grid/bin/diskmon.bin -d -f&lt;br /&gt;oracle   10858     1  0  2010 ?        00:00:18 asm_xdmg_+ASM1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;As a departure from ASM storage technology that uses a process architecture borrowed from database instances, &lt;br /&gt;the storage servers have a brand new set of processes to manage disk I/O. They are:&lt;/strong&gt;&lt;br /&gt;- RS, the restart service. Performing a similar role to SMON, RS monitors other processes, and automatically restarts them if they fail unexpectedly. &lt;br /&gt;  RS also handles planned restarts in conjunction with software updates. &lt;br /&gt;  The main cellrssrm process spawns several helper processes, including cellrsbmt, cellrsbkm, cellrsomt, and cellrsssmt. &lt;br /&gt;&lt;br /&gt;- MS, the management service. MS is the back-end process that processes configuration and monitoring commands. It communicates with cellcli, described in the next section. &lt;br /&gt;  MS is written in Java, unlike the other background processes which are distributed in binary form and are likely written in C. &lt;br /&gt;&lt;br /&gt;- CELLSRV, the cell service. CELLSRV handles the actual I/O processing of the storage server. &lt;br /&gt;  It is not uncommon to see heavy usage from CELLSRV process threads during periods of heavy load. &lt;br /&gt;  Among other things, CELLSRV provides: &lt;br /&gt;  . Communication with database nodes using the iDB/RDS protocols over the InfiniBand network &lt;br /&gt;  . Disk I/O with the underlying cell disks &lt;br /&gt;  . Offload of SQL processing from database nodes &lt;br /&gt;  . I/O resource management, prioritizing I/O requests based on a defined policy &lt;br /&gt;&lt;br /&gt;- I/O Resource Manager (IORM). Enables storage grid by prioritizing I/Os to ensure predictable performance&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cell node Management Overview:&lt;/strong&gt;&lt;br /&gt;DBA's login as OS user "celladmin" to manage cell nodes.&lt;br /&gt;Each cell node internally run ASM instance to manage cell node disks. This means, you can't see the ASM pmon process on the cell node.&lt;br /&gt;&lt;br /&gt;Cell Admin. Tool's: cellcli and dcli.&lt;br /&gt;Cell monitoring Tool's: OSWatcher, ORION (I/O performance benchmarking tool) and ADRCI&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cell Nodes Logs and Traces:&lt;/strong&gt;&lt;br /&gt;$ADR_BASE/diag/asm/cell/`hostname`/trace/alert.log&lt;br /&gt;$ADR_BASE/diag/asm/cell/`hostname`/trace/ms-odl.*&lt;br /&gt;$ADR_BASE/diag/asm/cell/`hostname`/trace/svtrc_&lt;pid&gt;_0.trc -- ps -ef | grep "cellsrv 100"&lt;br /&gt;$ADR_BASE/diag/asm/cell/`hostname`/incident/*&lt;br /&gt;&lt;br /&gt;/var/log/messages*, dmesg&lt;br /&gt;/var/log/sa/*&lt;br /&gt;/var/log/cellos/*&lt;br /&gt;&lt;br /&gt;cellcli -e list alerthistory &lt;br /&gt;&lt;br /&gt;$OSSCONF/cellinit.ora -- #CELL Initialization Parameters&lt;br /&gt;$OSSCONF/cell_disk_config.xml&lt;br /&gt;$OSSCONF/griddisk.owners.dat&lt;br /&gt;$OSSCONF/cell_bootstrap.ora &lt;br /&gt;&lt;br /&gt;/opt/oracle/cell/cellsrv/deploy/log/cellcli.lst*&lt;br /&gt;&lt;br /&gt;$OSSCONF/alerts.xml &lt;br /&gt;$OSSCONF/metrics/* &lt;br /&gt;oswatcher data&lt;br /&gt;&lt;br /&gt;df -h -&gt; check if /opt/oracle file system full? /opt/oracle only 2GB in size on cell node !!!&lt;br /&gt;&lt;br /&gt;Where :&lt;br /&gt;$OSSCONF   is: /opt/oracle/cell11.2.1.3.1_LINUX.X64_100818.1/cellsrv/deploy/config&lt;br /&gt;$ADR_BASE is: /opt/oracle/cell11.2.1.3.1_LINUX.X64_100818.1/log&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cell Check and shutdown/startup commands:&lt;/strong&gt;&lt;br /&gt;Note: For full list of commands use: cellcli -e help&lt;br /&gt;&lt;br /&gt;cellcli -e alter cell shutdown services all&lt;br /&gt;cellcli -e alter cell startup services all&lt;br /&gt;cellcli -e alter cell shutdown services cellsrv&lt;br /&gt;cellcli -e alter cell restart services cellsrv&lt;br /&gt;cellcli -e list lun detail&lt;br /&gt;cellcli -e list griddisk detail&lt;br /&gt;cellcli -e list celldisk detail&lt;br /&gt;cellcli -e list physicaldisk detail&lt;br /&gt;cellcli -e list flashcache detail&lt;br /&gt;cellcli -e list physicaldisk attributes name, diskType, luns, status&lt;br /&gt;cellcli -e list physicaldisk where disktype=harddisk attributes physicalfirmware&lt;br /&gt;cellcli -e list lun attributes name, diskType, isSystemLun, status&lt;br /&gt;&lt;br /&gt;imagehistory (root/sudo)&lt;br /&gt;imageinfo (root/sudo)&lt;br /&gt;service celld status (root/sudo)&lt;br /&gt;lsscsi | grep MARVELL &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Smart scan layers:&lt;/strong&gt;&lt;br /&gt;Smart scan involves multiple layers of code&lt;br /&gt;KDS/KTR/KCBL  - data layers in rdbms&lt;br /&gt;KCFIS   - smart scan layer in rdbms&lt;br /&gt;Predicate Disk  - smart scan layer in cellsrv&lt;br /&gt;Storage index  - IO avoidance optimization in cellsrv&lt;br /&gt;Flash IO  - IO layer in cellsrv to fetch data from flash cache&lt;br /&gt;Block IO  - IO layer in cellsrv to fetch data from hard-disks&lt;br /&gt;FPLIB   - filtering library in cellsrv&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to Isolate the Issue Whether or Not it's Exadata Related?&lt;/strong&gt;&lt;br /&gt;Issue can be?&lt;br /&gt;Wrong results when running the query on an Exadata DB -- I personally faced this issue.&lt;br /&gt;Query is slower when running on an exadata database&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is smart scan issue?&lt;/strong&gt;&lt;br /&gt;Cell_offload_processing=false (default true)&lt;br /&gt;If the problem does not occurs, it’s the smart scan issue.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is this a FPLIB issue?&lt;/strong&gt;&lt;br /&gt;_kcfis_cell_passthru_enabled=true (default false)&lt;br /&gt;If the problem does not occurs, it’s the FPLIB issue&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is storage index issue?&lt;/strong&gt;&lt;br /&gt;_kcfis_storageidx_disabled=true (default false)&lt;br /&gt;Problem still occurs, it’s not a storage index issue.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Is flash cache issue?&lt;/strong&gt;&lt;br /&gt;For 11.2.0.2, _kcfis_keep_in_cellfc_enabled=false (default true) do not use flash cache &lt;br /&gt;For 11.2.0.1, _kcfis_control1=1 (default 0)&lt;br /&gt;Problem still occurs, it’s not a flash cache problem.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Cell related Database view's:&lt;/strong&gt;&lt;br /&gt;select * from sys.GV_$CELL_STATE;&lt;br /&gt;select * from sys.GV_$CELL;&lt;br /&gt;select * from sys.GV_$CELL_THREAD_HISTORY;&lt;br /&gt;select * from sys.GV_$CELL_REQUEST_TOTALS;&lt;br /&gt;select * from sys.GV_$CELL_CONFIG;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Bloom filter in Exadata:&lt;/strong&gt;&lt;br /&gt;In Oracle 10g concept of bloom filtering was introduced.&lt;br /&gt;When two tables are joined via a hash join, the first table (typically the smaller table) is scanned and the rows that satisfy the ‘where’ clause predicates (for that table) are used to create a hash table.&lt;br /&gt;During the hash table creation a bit vector or bloom filter is also created based on the join column.&lt;br /&gt;The bit vector is then sent as an additional predicate to the second table scan.&lt;br /&gt;After the ‘where’ clause predicates have been applied to the second table scan, the resulting rows will have their join column hashed and it will be compared to values in the bit vector.&lt;br /&gt;If a match is found in the bit vector that row will be sent to the hash join. If no match is found then the row will be disregarded.&lt;br /&gt;On Exadata the bloom filter or bit vector is passed as an additional predicate so it will be overloaded to the storage cells making bloom filtering very efficient.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to Identify a Bloom Filter in an Execution plan:&lt;/strong&gt;&lt;br /&gt;You can identify a bloom filter in a plan when you see :BF0000 in the Name column of the execution plan.&lt;br /&gt;&lt;br /&gt;To disable the feature, the initialization parameter _bloom_pruning_enabled must be set to FALSE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Just want to say few words about other Exadata components too:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Sun Oracle Exadata Database Machine hardware consists of preconfigured Oracle Database servers connected to Sun Oracle Exadata Storage Servers &lt;br /&gt;by an InfiniBand fabric. Each of these has been configured to take advantage of the latest advances in Oracle database technology.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Database Servers: &lt;/strong&gt;&lt;br /&gt;Industry-standard Oracle Database 11gR2 servers feature advanced software that makes the extreme performance of Exadata possible. &lt;br /&gt;Automatic Storage Management (ASM) provides advanced storage management capabilities; the Database Resource Manager (DBRM) lets users &lt;br /&gt;prioritize the resources available to each database; and the Intelligent Database protocol (IDB) allows Smart Scan offloading of database queries &lt;br /&gt;to the Storage Servers, greatly reducing network overhead.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;InfiniBand switch: &lt;/strong&gt;&lt;br /&gt;At 40 Gbit/s on each port, the InfiniBand network linking the Exadata database servers to the Storage Servers is ten times as fast as Fibre Channel, &lt;br /&gt;with lower latency. Multipathing protects against network failures.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Management switch:&lt;/strong&gt;&lt;br /&gt;A single Cisco Catalyst 4948 48-port gigabit Ethernet switch handles management traffic.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;KVM and rack:&lt;/strong&gt;&lt;br /&gt;One 32-port Avocent KVM switch with associated keyboard/mouse drawer provides console access to database servers and storage cells. &lt;br /&gt;The switch is IP-enabled, meaning remote console access is available either via the individual system ILOM ports or the KVM switch.&lt;br /&gt;All the components are housed in a 42U Sun 1242E rack with integrated zero-U power distribution units.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-7164719722808106666?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/7164719722808106666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=7164719722808106666' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7164719722808106666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7164719722808106666'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2011/01/exadata-v2-storage-server-cell-node.html' title='Exadata V2 Storage Server (Cell node) Architecture and Management:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-7614934756807365833</id><published>2010-12-22T16:34:00.009-05:00</published><updated>2011-08-10T21:54:08.290-04:00</updated><title type='text'>What makes Exadata different from regular RAC?:</title><content type='html'>&lt;strong&gt;What makes Exadata different from regular RAC?&lt;/strong&gt;&lt;br /&gt;We recently migrated 6 of our 10+ TB production databases to Exadata server.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Smart scan:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To disable smart scan set cell_offload_processing=FALSE (default TRUE) for that  database.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;List of cell DB parameters:&lt;/strong&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;cell_offload_compaction              string      ADAPTIVE&lt;br /&gt;cell_offload_decryption              boolean     TRUE&lt;br /&gt;cell_offload_parameters              string&lt;br /&gt;cell_offload_plan_display            string      AUTO&lt;br /&gt;cell_offload_processing              boolean     TRUE&lt;br /&gt;cell_partition_large_extents         string      DEFAULT&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Flash cache:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   - Frequently accessed data and index are automatically cached.&lt;br /&gt;   - control file read and write are cached.&lt;br /&gt;   - File header read and writes are cached.&lt;br /&gt;   - DBA's can pin objects in flash cache.&lt;br /&gt;&lt;br /&gt;   - table scan data is not cached.&lt;br /&gt;   - backup data is not cached.&lt;br /&gt;   - DB pump data is not cached.&lt;br /&gt;   - data file formating data is not cached.&lt;br /&gt;   - IO to mirror copy is not cached.&lt;br /&gt;&lt;br /&gt;   - DBA can cache an object by setting CELL_FLASH_CACHE setting to KEEP. The default value of this setting is DEFAULT.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Exadata Hybrid Columnar Compression:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   EHCC is not pure columnar, it is hybrid columnar&lt;br /&gt;&lt;br /&gt;Multiple Levels of compression&lt;br /&gt;- Query Low&lt;br /&gt;- Query High&lt;br /&gt;- Archive Low&lt;br /&gt;- Archive High&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Algorithms:&lt;/strong&gt;&lt;br /&gt; LZO:  Faster compression speeds, but lower ratios (Query Low)&lt;br /&gt; ZLIB:  Decent speeds and good ratios (Query High and Archive Low)&lt;br /&gt; BZ2:  Slow, but the highest ratios (Archive High)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Exadata storage index:&lt;/strong&gt;&lt;br /&gt;   &lt;br /&gt;   Transparent I/O Elimination with No Overhead.&lt;br /&gt;&lt;br /&gt;- Exadata storage indexes maintain summary information about table data in memory.&lt;br /&gt;  * Store MIN and MAX values of columns.&lt;br /&gt;  * Typically one index entry for every MB of disk.&lt;br /&gt;- Eliminates disk I/O if MIN and MAX can never match "WHERE" clause of a query.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. DBFS (database file system) - Rest of the 10 SYSTEMDB disks can be used as DBFS.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. IORM (I/O resource manager - Exadata specific)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Monitoring Exadata:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   - Install GC agent on each compute node.&lt;br /&gt;   - No GC agent on cell nodes.&lt;br /&gt;   - Agent on one compute node talks with all cell nodes and collects data.&lt;br /&gt;   - Grid control plugin is installed in OMS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-7614934756807365833?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/7614934756807365833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=7614934756807365833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7614934756807365833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7614934756807365833'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/12/what-makes-exdata-different-from.html' title='What makes Exadata different from regular RAC?:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-6837640077272627207</id><published>2010-06-22T17:29:00.002-04:00</published><updated>2010-06-22T19:35:35.608-04:00</updated><title type='text'>Oracle masala at work - 3:</title><content type='html'>&lt;strong&gt;Oracle masala at work - 3: &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1. Restore and recovery made easy with RMAN Data Recovery Advisor in Oracle 11g:&lt;br /&gt;2. Restart Data Pump job after an error:&lt;br /&gt;3. NFS mount options on Linux(RHEL) for expdp and impdp:&lt;br /&gt;4. Useful Underutilized some Oracle Utilities:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Restore and recovery made easy with RMAN Data Recovery Advisor in Oracle 11g:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;rman target /&lt;br /&gt;&lt;br /&gt;-- If there is an error, this command will come back with the files to recover.&lt;br /&gt;list failure;&lt;br /&gt;&lt;br /&gt;-- This command will show you the exact cause of the error. 169 is failure ID from the "list failure;" command.&lt;br /&gt;list failure 169 detail;&lt;br /&gt;&lt;br /&gt;-- It responds with a detailed explanation of the error and how to correct it.&lt;br /&gt;advise failure;&lt;br /&gt;&lt;br /&gt;-- It responds with a detailed fix preview.&lt;br /&gt;repair failure preview;&lt;br /&gt;&lt;br /&gt;-- This command will fix the failure.&lt;br /&gt;repair failure;&lt;br /&gt;&lt;br /&gt;-- The following RMAN command recovers all corrupted blocks.&lt;br /&gt;recover corruption list;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Restart Data Pump job after an error:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;-- In order to find the System assigned name for the EXPDP/IMPDP job you can run the following query.&lt;br /&gt;SELECT * FROM DBA_DATAPUMP_JOBS;&lt;br /&gt;&lt;br /&gt;-- Attach the job from the above SQL.&lt;br /&gt;$ impdp system/manager attach=job_name&lt;br /&gt;&lt;br /&gt;-- Restart the job.&lt;br /&gt;Import&gt; start_job&lt;br /&gt;&lt;br /&gt;-- Check the status of the job.&lt;br /&gt;Import&gt; status&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. NFS mount options on Linux(RHEL) for expdp and impdp:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;mount options:&lt;br /&gt;atlt200:/oracle_scratch on /oracle_scratchnfs type nfs (rw,rsize=32768,wsize=32768,hard,nointr,bg,nfsvers=3,tcp,actimeo=0,timeo=600,addr=xx.xx.xxx.xx)&lt;br /&gt;&lt;br /&gt;uname -a: Linux atlt200 2.6.9-78.ELsmp #1 SMP Wed Jul 9 15:46:26 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;Server: Dell 2950&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Useful Underutilized some Oracle Utilities:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;bbed (Block Browser and Editor, Password is "blockedit")&lt;br /&gt;oradebug&lt;br /&gt;nid (Rename DBID and Database Name)&lt;br /&gt;adrci (11g)&lt;br /&gt;trcsess (trcsess utility allows trace information from multiple trace files to be identified and consolidated into a single trace file from 10g)&lt;br /&gt;trace Analyzer (trcanlzr.sql - Trace Analyzer utility is available via download on the Oracle Metalink web site)&lt;br /&gt;trcasst (Analyxing Listener Trace file)&lt;br /&gt;deinstall (11gR2 - Deinstall Failed GRID or Oracle home’s - File is under $ORACLE_HOME/deinstall directory)&lt;br /&gt;csscan (Character Set Migration Utility - $ csscan \"sys/keepsaf3 as sysdba\" FULL=Y, to create character set migration utility schema, run @?/rdbms/admincsminst.sql)&lt;br /&gt;wrap (hide the PL/SQL code)&lt;br /&gt;cemutlo (cemutlo -n  gives the cluster name)&lt;br /&gt;&lt;br /&gt;renamedg (11gR2 ASM - Rename the ASM diskgroup)&lt;br /&gt;kfed (ASM - display the diskgroup information)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tools:&lt;br /&gt;CHM (formerly know as IPD/OS) - Oracle Cluster Health Monitor.&lt;br /&gt;ORION - Oracle I/O Calibration Tool - Load test tool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-6837640077272627207?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/6837640077272627207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=6837640077272627207' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6837640077272627207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6837640077272627207'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/06/oracle-masala-at-work-3.html' title='Oracle masala at work - 3:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-4782667661726274102</id><published>2010-06-22T16:46:00.001-04:00</published><updated>2010-06-22T19:37:30.091-04:00</updated><title type='text'>Renaming ASM Disk group in Oracle 11gR2:</title><content type='html'>&lt;strong&gt;Renaming ASM Disk group in Oracle 11gR2:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The renamedg utility is new in Oracle 11gR2 and it's documented in the storage administrator’s guide. &lt;br /&gt;You can use this tool to rename ASM diskgroups. The prerequisite is to unmount the disk group on all cluster nodes. &lt;br /&gt;The tool works in 2 phases, in the first phase it generates a configuration file and in the second phase it discovers the disks and rename the disk group.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to use renamedg command to rename the ASM diskgroup?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following example demonstrates how to rename the ASM diskgroup from A_DATA to B_DATA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a. Setup the environment:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ . oraenv&lt;br /&gt;+ASM1&lt;br /&gt;&lt;br /&gt;$ export PATH=$PATH:/dev/oracleasm/disks&lt;br /&gt;$ echo $PATH&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;b. Dismount the ASM diskgroup to be renamed on all cluster nodes:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ asmcmd umount A_DATA  -- on all nodes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c. Verify the diskgroup was dismounted:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ crsctl status resource ora.A_DATA.dg&lt;br /&gt;&lt;br /&gt;NAME=ora.A_DATA.dg&lt;br /&gt;TYPE=ora.diskgroup.type&lt;br /&gt;TARGET=OFFLINE, OFFLINE&lt;br /&gt;STATE=OFFLINE, OFFLINE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;d. Using renamedg utility to rename the diskgroup:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ renamedg phase=both dgname=A_DATA newdgname=B_DATA verbose=true &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br /&gt;----***********---- &lt;br /&gt;Parsing parameters..&lt;br /&gt;&lt;br /&gt;Parameters in effect:&lt;br /&gt;&lt;br /&gt;         Old DG name        : A_DATA&lt;br /&gt;         New DG name        : B_DATA&lt;br /&gt;         Phases             :&lt;br /&gt;                 Phase 1&lt;br /&gt;                 Phase 2&lt;br /&gt;         Discovery str      : (null)&lt;br /&gt;         Clean              : TRUE&lt;br /&gt;         Raw only           : TRUE&lt;br /&gt;renamedg operation: phase=both dgname=A_DATA newdgname=B_DATA verbose=true&lt;br /&gt;Executing phase 1&lt;br /&gt;Discovering the group&lt;br /&gt;Performing discovery with string:&lt;br /&gt;Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:S_1873_0681 with disk number:0 and timestamp (32937868 1717605376)&lt;br /&gt;Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:S_1873_0685 with disk number:1 and timestamp (32937868 1717605376)&lt;br /&gt;Checking for hearbeat...&lt;br /&gt;Re-discovering the group&lt;br /&gt;Performing discovery with string:&lt;br /&gt;Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:S_1873_0681 with disk number:0 and timestamp (32937868 1717605376)&lt;br /&gt;Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:S_1873_0685 with disk number:1 and timestamp (32937868 1717605376)&lt;br /&gt;Checking if the diskgroup is mounted&lt;br /&gt;Checking disk number:0&lt;br /&gt;Checking disk number:1&lt;br /&gt;Checking if diskgroup is used by CSS&lt;br /&gt;Generating configuration file..&lt;br /&gt;Completed phase 1&lt;br /&gt;Executing phase 2&lt;br /&gt;Looking for ORCL:S_1873_0681&lt;br /&gt;Modifying the header&lt;br /&gt;Looking for ORCL:S_1873_0685&lt;br /&gt;Modifying the header&lt;br /&gt;Completed phase 2&lt;br /&gt;Terminating kgfd context 0x2b06e27d20a0&lt;br /&gt;----***********---- &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;e. Mounting the ASM diskgroup:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ asmcmd mount B_DATA  -- on all nodes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;f. Check if the diskgroup was renamed and mounted successfully:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ crsctl status resource ora.B_DATA.dg&lt;br /&gt;&lt;br /&gt;NAME=ora.B_DATA.dg&lt;br /&gt;TYPE=ora.diskgroup.type&lt;br /&gt;TARGET=ONLINE               , ONLINE&lt;br /&gt;STATE=ONLINE on atld380, ONLINE on atld381&lt;br /&gt;&lt;br /&gt;Yaaa, diskgroup has been renamed from A_DATA to B_DATA successfully.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Possible error when issuing renamedg command:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Error:   "KFNDG-00408: disk (string:string) could not be discovered error"&lt;br /&gt;Solution:  Add the ASM disk path to $PATH environment variable "export PATH=$PATH:/dev/oracleasm/disks"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br /&gt;----***********---- &lt;br /&gt;Checking for hearbeat...&lt;br /&gt;Re-discovering the group&lt;br /&gt;Performing discovery with string:&lt;br /&gt;Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:S_1873_0638 with disk number:0 and timestamp (32937868 354065408)&lt;br /&gt;Checking if the diskgroup is mounted&lt;br /&gt;Checking disk number:0&lt;br /&gt;Checking if diskgroup is used by CSS&lt;br /&gt;Generating configuration file..&lt;br /&gt;Completed phase 1&lt;br /&gt;Executing phase 2&lt;br /&gt;Looking for ORCL:S_1873_0638&lt;br /&gt;&lt;strong&gt;ERROR: -9(Error 7217, OS Error ()&lt;br /&gt;)KFNDG-00408: file not found; arguments: [] [ORCL:S_1873_0638]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Terminating kgfd context 0x2b3ddb1d80a0&lt;br /&gt;----***********---- &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The renamedg command usage:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;$ renamedg -help&lt;br /&gt;&lt;br /&gt;Parsing parameters..&lt;br /&gt;phase              Phase to execute (phase=ONE|TWO|BOTH), default BOTH&lt;br /&gt;&lt;br /&gt;dgname             Diskgroup to be renamed&lt;br /&gt;&lt;br /&gt;newdgname          New name for the diskgroup&lt;br /&gt;&lt;br /&gt;config             intermediate config file&lt;br /&gt;&lt;br /&gt;check              just check-do not perform actual operation,&lt;br /&gt;                   (check=TRUE/FALSE), default FALSE&lt;br /&gt;&lt;br /&gt;confirm            confirm before committing changes to disks,&lt;br /&gt;                   (confirm=TRUE/FALSE), default FALSE&lt;br /&gt;&lt;br /&gt;clean              ignore errors (clean=TRUE/FALSE), default TRUE&lt;br /&gt;&lt;br /&gt;asm_diskstring     ASM Diskstring (asm_diskstring='discoverystring',&lt;br /&gt;                   'discoverystring1' ...)&lt;br /&gt;&lt;br /&gt;verbose            verbose execution (verbose=TRUE|FALSE), default&lt;br /&gt;                   FALSE&lt;br /&gt;&lt;br /&gt;keep_voting_files  Voting file attribute,&lt;br /&gt;                   (keep_voting_files=TRUE|FALSE), default FALSE&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q:&lt;/strong&gt;&lt;br /&gt;a. &lt;br /&gt;Do we need to modify the asm_diskgroups initialization parameter after renaming the disk groups?&lt;br /&gt;&lt;br /&gt;No, you don’t have to. The renamedg utility is smart enough to update the asm_diskgroups initialization parameter.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b. &lt;br /&gt;How do I rename the ASM disk group with datafile in it?&lt;br /&gt;&lt;br /&gt;After rename the disk group, start the database in MOUNT mode and rename the datafiles using "ALTER DATABASE RENAME FILE . . . TO . . ." command to OPEN the database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;c. &lt;br /&gt;Does it mater how many disks in the disk group?&lt;br /&gt;&lt;br /&gt;No, tried with 2 disks DG and also with 8 disks DG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-4782667661726274102?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/4782667661726274102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=4782667661726274102' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/4782667661726274102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/4782667661726274102'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/06/renaming-asm-disk-group-in-oracle-11gr2.html' title='Renaming ASM Disk group in Oracle 11gR2:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5945687058588223518</id><published>2010-06-05T21:48:00.003-04:00</published><updated>2010-06-06T16:04:00.728-04:00</updated><title type='text'>Compare and Generate the Object Metadata(Structure) Difference in Oracle 11gR2:</title><content type='html'>&lt;strong&gt;Compare and Generate the Object Metadata(Structure) Difference in Oracle 11gR2:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The DBMS_METADATA_DIFF package provides interfaces to compare and generate database objects structure difference between databases.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from tab;&lt;br /&gt;&lt;br /&gt;TNAME                          TABTYPE  CLUSTERID&lt;br /&gt;------------------------------ ------- ----------&lt;br /&gt;X                              TABLE&lt;br /&gt;Y                              TABLE&lt;br /&gt;&lt;br /&gt;SQL&gt; desc x&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- -------------&lt;br /&gt; ENO                                       NOT NULL NUMBER(10)&lt;br /&gt; ENAME                                              VARCHAR2(20)&lt;br /&gt; SAL                                                NUMBER(10)&lt;br /&gt;&lt;br /&gt;SQL&gt; desc y&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- -------------&lt;br /&gt; ENO                                                NUMBER(10)&lt;br /&gt; ENAME                                              VARCHAR2(20)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;set heading off;&lt;br /&gt;set echo off;&lt;br /&gt;set pages 999;&lt;br /&gt;set long 90000;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Compare the tables in same schema:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show user&lt;br /&gt;USER is "TEST"&lt;br /&gt;SQL&gt; select dbms_metadata_diff.compare_alter('TABLE','X','Y','TEST','TEST') from dual;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "TEST"."X" DROP ("SAL")&lt;br /&gt;  ALTER TABLE "TEST"."X" DROP CONSTRAINT "X_PK"&lt;br /&gt;  ALTER TABLE "TEST"."X" RENAME TO "Y"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select dbms_metadata_diff.compare_alter('TABLE','Y','X','TEST','TEST') from dual;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "TEST"."Y" ADD ("SAL" NUMBER(10,0))&lt;br /&gt;  ALTER TABLE "TEST"."Y" ADD CONSTRAINT "X_PK" PRIMARY KEY ("ENO") USING INDEX P&lt;br /&gt;CTFREE 10 INITRANS 2 STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENT&lt;br /&gt;S 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLA&lt;br /&gt;SH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)  ENABLE&lt;br /&gt;  ALTER TABLE "TEST"."Y" RENAME TO "X"&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Compare the tables in different schemas in same database:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show user&lt;br /&gt;USER is "SYSTEM"&lt;br /&gt;SQL&gt; select dbms_metadata_diff.compare_alter('TABLE','Y','X','TEST','TEST2') from dual;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "TEST"."Y" ADD ("SAL" NUMBER(10,0))&lt;br /&gt;  ALTER TABLE "TEST"."Y" ADD CONSTRAINT "X_PK" PRIMARY KEY ("ENO") USING INDEX P&lt;br /&gt;CTFREE 10 INITRANS 2 STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENT&lt;br /&gt;S 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLA&lt;br /&gt;SH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)  ENABLE&lt;br /&gt;  ALTER TABLE "TEST"."Y" RENAME TO "X"&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Compare the tables in different databases:&lt;/strong&gt;&lt;br /&gt;-- Assume we are comparing the object between Test and Stage databases and the database link is created between Stage and Test.&lt;br /&gt;-- Stage DB: SODS&lt;br /&gt;-- Test  DB: TODS&lt;br /&gt;-- Database Link from Stage to Test: TODS.WORLD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TODS:&lt;br /&gt;SQL&gt; desc x&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- -------------&lt;br /&gt; ENO                                       NOT NULL NUMBER(10)&lt;br /&gt; ENAME                                              VARCHAR2(20)&lt;br /&gt; SAL                                                NUMBER(10)&lt;br /&gt;&lt;br /&gt;SODS:&lt;br /&gt;SQL&gt; desc x&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- -------------&lt;br /&gt; ENO                                                NUMBER(10)&lt;br /&gt; ENAME                                              VARCHAR2(20)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show user&lt;br /&gt;USER is "TEST"&lt;br /&gt;SQL&gt; select * from global_name;&lt;br /&gt;&lt;br /&gt;GLOBAL_NAME&lt;br /&gt;--------------------------------&lt;br /&gt;SODS.WORLD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select dbms_metadata_diff.compare_alter('TABLE','X','X','TEST','TEST',NULL,'TODS.WORLD') from dual;&lt;br /&gt;&lt;br /&gt;ALTER TABLE "TEST"."Y" ADD ("SAL" NUMBER(10,0))&lt;br /&gt;  ALTER TABLE "TEST"."Y" ADD CONSTRAINT "X_PK" PRIMARY KEY ("ENO") USING INDEX P&lt;br /&gt;CTFREE 10 INITRANS 2 STORAGE ( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENT&lt;br /&gt;S 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLA&lt;br /&gt;SH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)  ENABLE&lt;br /&gt;  ALTER TABLE "TEST"."Y" RENAME TO "X"&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Notice: Use of the DBMS_METADATA_DIFF package requires the Oracle Enterprise Manager Change Manager license.&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5945687058588223518?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5945687058588223518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5945687058588223518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5945687058588223518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5945687058588223518'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/06/compare-and-generate-object-structure.html' title='Compare and Generate the Object Metadata(Structure) Difference in Oracle 11gR2:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5039257586533328364</id><published>2010-05-25T21:12:00.005-04:00</published><updated>2010-06-22T16:50:54.052-04:00</updated><title type='text'>Compare and Fix the Object Data in Oracle 11g:</title><content type='html'>&lt;strong&gt;Compare and Fix the Object Data in Oracle 11g:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The DBMS_COMPARISON package provides interfaces to compare and sync database objects at different databases. The index columns in a comparison must uniquely identify every row involved in a comparison. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The following constraints satisfy this requirement:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;- A primary key constraint&lt;br /&gt;- A unique constraint on one or more non-NULL columns&lt;br /&gt;&lt;br /&gt;If these constraints are not present on a table, then use the index_schema_name and index_name parameters in the CREATE_COMPARISON procedure to specify an index whose columns satisfy this requirement.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Simple Test:&lt;/strong&gt;&lt;br /&gt;drop table test.x PURGE;&lt;br /&gt;drop table test2.x PURGE;&lt;br /&gt;&lt;br /&gt;create table test.x (eno number(10), ename varchar2(20), sal number(10));&lt;br /&gt;create table test2.x (eno number(10), ename varchar2(20), sal number(10));&lt;br /&gt;&lt;br /&gt;alter table test.x add constraint x_pk primary key (eno);&lt;br /&gt;alter table test2.x add constraint x_pk primary key (eno);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;insert into test.x values (100, 'VJ', 100000);&lt;br /&gt;insert into test.x values (101, 'ASHRAY', 100001);&lt;br /&gt;insert into test.x values (102, 'DUMPA', 200000);&lt;br /&gt;insert into test.x values (103, 'REDDY', 300000);&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;insert into test2.x values (100, 'VJ', 100000);&lt;br /&gt;insert into test2.x values (101, 'ASHRAY', 100000);&lt;br /&gt;insert into test2.x values (102, 'DUMPA', 200001);&lt;br /&gt;insert into test2.x values (103, 'REDDY', 300000);&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;select * from test.x;&lt;br /&gt;select * from test2.x;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Drop the existing comparison:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT comparison_name, schema_name FROM dba_comparison;&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;   dbms_comparison.drop_comparison (comparison_name =&gt; 'comp1');&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Create the comparison:&lt;/strong&gt;&lt;br /&gt;-- dblink_name is NULL because both schemas on the same database.&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;   dbms_comparison.create_comparison (comparison_name         =&gt; 'comp1',&lt;br /&gt;                                      schema_name             =&gt; 'test',&lt;br /&gt;                                      object_name             =&gt; 'x',&lt;br /&gt;                                      dblink_name             =&gt; NULL,&lt;br /&gt;                                      remote_schema_name      =&gt; 'test2',&lt;br /&gt;                                      remote_object_name      =&gt; 'x'&lt;br /&gt;                                     );&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Check the difference "YES/NO":&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;set serveroutput on size 99999;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;   CONSISTENT   BOOLEAN;&lt;br /&gt;   scan_info    dbms_comparison.comparison_type;&lt;br /&gt;BEGIN&lt;br /&gt;   CONSISTENT :=&lt;br /&gt;      dbms_comparison.compare (comparison_name      =&gt; 'comp1',&lt;br /&gt;                               scan_info            =&gt; scan_info,&lt;br /&gt;                               perform_row_dif      =&gt; TRUE&lt;br /&gt;                              );&lt;br /&gt;   DBMS_OUTPUT.put_line ('Scan ID: ' || scan_info.scan_id);&lt;br /&gt;&lt;br /&gt;   IF CONSISTENT = TRUE&lt;br /&gt;   THEN&lt;br /&gt;      DBMS_OUTPUT.put_line ('No differences were found.');&lt;br /&gt;   ELSE&lt;br /&gt;      DBMS_OUTPUT.put_line ('Differences were found.');&lt;br /&gt;   END IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;Scan ID: 11&lt;br /&gt;Differences were found.&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Comparison Summary:&lt;/strong&gt;&lt;br /&gt;-- Where scan_id is from the above dbms_comparison.compare PL/SQL block.&lt;br /&gt;&lt;br /&gt;set linesize 120;&lt;br /&gt;COL schema_name for a20;&lt;br /&gt;COL object_name for a20;&lt;br /&gt;COL comparison_name for a20;&lt;br /&gt;&lt;br /&gt;SELECT s.scan_id, c.comparison_name, c.schema_name, c.object_name,&lt;br /&gt;       s.current_dif_count&lt;br /&gt;  FROM user_comparison c, user_comparison_scan_summary s&lt;br /&gt; WHERE c.comparison_name = s.comparison_name AND s.scan_id = 11;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Comparison Details:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;set linesize 120;&lt;br /&gt;COL record_value for a50;&lt;br /&gt;COL local_rowid for a12;&lt;br /&gt;COL remote_rowid format a12;&lt;br /&gt;  &lt;br /&gt;SELECT   c.column_name, r.index_value record_value,&lt;br /&gt;         CASE&lt;br /&gt;            WHEN r.local_rowid IS NULL&lt;br /&gt;               THEN 'No'&lt;br /&gt;            ELSE 'Yes'&lt;br /&gt;         END local_rowid,&lt;br /&gt;         CASE&lt;br /&gt;            WHEN r.remote_rowid IS NULL&lt;br /&gt;               THEN 'No'&lt;br /&gt;            ELSE 'Yes'&lt;br /&gt;         END remote_rowid&lt;br /&gt;    FROM dba_comparison_columns c,&lt;br /&gt;         dba_comparison_row_dif r,&lt;br /&gt;         dba_comparison_scan s&lt;br /&gt;   WHERE c.comparison_name = 'COMP1'&lt;br /&gt;     AND r.scan_id = s.scan_id&lt;br /&gt;--     AND s.last_update_time &gt; SYSTIMESTAMP - 1 / 24 / 12 -- Last 5 min.&lt;br /&gt;     AND r.status = 'DIF'&lt;br /&gt;     AND c.index_column = 'Y'&lt;br /&gt;     AND c.comparison_name = r.comparison_name&lt;br /&gt;ORDER BY r.index_value;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;-- Fix the difference in the remote table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;   scan_info   dbms_comparison.comparison_type;&lt;br /&gt;BEGIN&lt;br /&gt;   dbms_comparison.converge&lt;br /&gt;                 (comparison_name       =&gt; 'comp1',&lt;br /&gt;                  scan_id               =&gt; 11,&lt;br /&gt;                  scan_info             =&gt; scan_info,&lt;br /&gt;                  converge_options      =&gt; dbms_comparison.cmp_converge_local_wins&lt;br /&gt;                 );&lt;br /&gt;   DBMS_OUTPUT.put_line ('Local Rows Merged: ' || scan_info.loc_rows_merged);&lt;br /&gt;   DBMS_OUTPUT.put_line ('Remote Rows Merged: ' || scan_info.rmt_rows_merged);&lt;br /&gt;   DBMS_OUTPUT.put_line ('Local Rows Deleted: ' || scan_info.loc_rows_deleted);&lt;br /&gt;   DBMS_OUTPUT.put_line ('Remote Rows Deleted: ' || scan_info.rmt_rows_deleted);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;Local Rows Merged: 0&lt;br /&gt;Remote Rows Merged: 2&lt;br /&gt;Local Rows Deleted: 0&lt;br /&gt;Remote Rows Deleted: 0&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Results:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Before:&lt;/strong&gt;&lt;br /&gt;select * from test.x;&lt;br /&gt;select * from test2.x;&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from test.x;&lt;br /&gt;&lt;br /&gt;       ENO ENAME                       SAL&lt;br /&gt;---------- -------------------- ----------&lt;br /&gt;       100 VJ                       100000&lt;br /&gt;       101 ASHRAY                   100001&lt;br /&gt;       102 DUMPA                    200000&lt;br /&gt;       103 REDDY                    300000&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from test2.x;&lt;br /&gt;&lt;br /&gt;       ENO ENAME                       SAL&lt;br /&gt;---------- -------------------- ----------&lt;br /&gt;       100 VJ                       100000&lt;br /&gt;       101 ASHRAY                   100000 &lt;=== Old&lt;br /&gt;       102 DUMPA                    200001 &lt;=== Old&lt;br /&gt;       103 REDDY                    300000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;After:&lt;/strong&gt;&lt;br /&gt;select * from test.x;&lt;br /&gt;select * from test2.x;&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from test.x;&lt;br /&gt;&lt;br /&gt;       ENO ENAME                       SAL&lt;br /&gt;---------- -------------------- ----------&lt;br /&gt;       100 VJ                       100000&lt;br /&gt;       101 ASHRAY                   100001&lt;br /&gt;       102 DUMPA                    200000&lt;br /&gt;       103 REDDY                    300000&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from test2.x;&lt;br /&gt;&lt;br /&gt;       ENO ENAME                       SAL&lt;br /&gt;---------- -------------------- ----------&lt;br /&gt;       100 VJ                       100000&lt;br /&gt;       101 ASHRAY                   100001 &lt;=== New&lt;br /&gt;       102 DUMPA                    200000 &lt;=== New&lt;br /&gt;       103 REDDY                    300000&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Q:&lt;/strong&gt;&lt;br /&gt;a.&lt;br /&gt;Can I fix the CLOB/BLOB column data?&lt;br /&gt;&lt;br /&gt;No, the DBMS_COMPARISON package cannot compare data in columns of the following data types:&lt;br /&gt;&lt;br /&gt;- LONG, LONG RAW, ROWID, UROWID, CLOB, NCLOB, BLOB and BFILE&lt;br /&gt;- User-defined types (including object types, REFs, varrays, and nested tables)&lt;br /&gt;- Oracle-supplied types (including any types, XML types, spatial types, and media types)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;Can I fix the object data in 11g by comparing the object in 10g?&lt;br /&gt;&lt;br /&gt;Yes, The local database that runs the DBMS_COMPARISON package must be 11g but the remote database must be 10gR1 and up.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;c.&lt;br /&gt;Can I compare packages/procedure/functions?&lt;br /&gt;&lt;br /&gt;No, the DBMS_COMPARISON package can compare the following types of database objects:&lt;br /&gt;&lt;br /&gt;Tables, Single-table views, Materialized views, Synonyms for tables, single-table views and materialized views.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;d.&lt;br /&gt;Do I need to have primary key on compare object?&lt;br /&gt;&lt;br /&gt;No, but each column in the single-column/composite index must either have a NOT NULL constraint or be part of the primary key.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;e.&lt;br /&gt;What privileges do I need to compare the objects?&lt;br /&gt;&lt;br /&gt;Granting EXECUTE on CREATE_COMPARISON package to selected users or roles. (or) Granting EXECUTE_CATALOG_ROLE to selected users or roles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5039257586533328364?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5039257586533328364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5039257586533328364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5039257586533328364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5039257586533328364'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/05/compare-and-fix-object-data-in-oracle.html' title='Compare and Fix the Object Data in Oracle 11g:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-6222069943342874509</id><published>2010-04-20T21:10:00.006-04:00</published><updated>2010-04-21T14:28:00.155-04:00</updated><title type='text'>No Segment Vs Invisible Vs Unusable Indexes in Oracle 11gR2:</title><content type='html'>&lt;strong&gt;No Segment Vs Invisible Vs Unusable Indexes in Oracle 11gR2:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;No Segment/Virtual Indexes (8i and up):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Virtual indexes allow us to simulate the existence of an index and test its impact without actually building the actual index.&lt;br /&gt;Only sessions marked for Virtual Index usage will be affected by their existence. Their creation does not affect new sessions. &lt;br /&gt;Virtual indexes will be used only when the initialization parameter "_use_nosegment_indexes" is set to TRUE.&lt;br /&gt;The Rule based optimizer does not recognize Virtual Indexes but the CBO does recognize them.&lt;br /&gt;Dictionary view DBA_SEGMENTS will not show entries for Virtual Indexes. [DBA|ALL|USER]_OBJECTS view will have an entry.&lt;br /&gt;They are permanent and continue to exist unless dropped. Make sure to drop virtual indexes after analysis and tuning is completed.&lt;br /&gt;Statistics can be gathered on virtual indexes in the same way as regular indexes.&lt;br /&gt;Oracle will prevent us from creating another virtual index with the same column list, but it will allow us to create a real index with the same column list.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To detect a virtual index in the database run the following SQL (these indexes don't have any columns in dba_ind_columns): &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT index_owner, index_name&lt;br /&gt;  FROM dba_ind_columns&lt;br /&gt; WHERE index_name NOT LIKE 'BIN$%' &lt;br /&gt;MINUS&lt;br /&gt;SELECT owner, index_name &lt;br /&gt;  FROM dba_indexes;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Invisible Indexes (11gR1 and up):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Beginning with Release 11g, you can create invisible indexes. An invisible index is an index that is ignored by the optimizer unless you explicitly set the OPTIMIZER_USE_INVISIBLE_INDEXES initialization parameter to TRUE at the session or system level. &lt;br /&gt;&lt;br /&gt;ALTER SESSION SET optimizer_use_invisible_indexes=TRUE;&lt;br /&gt;ALTER SYSTEM SET optimizer_use_invisible_indexes=TRUE;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using invisible indexes, you can do the following:&lt;/strong&gt;&lt;br /&gt;- Test the optimizer behave on the application before dropping an index.&lt;br /&gt;- Use the index for certain operations or modules of an application without affecting the overall performance of the application.&lt;br /&gt;- It's also useful for some DELETE operations in Database Machine (Oracle EXADATA).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An invisible index is maintained during DML statements.&lt;br /&gt;Statistics can be gathered on an invisible indexes.&lt;br /&gt;The current visibility status of an index is indicated by the VISIBILITY column of the [DBA|ALL|USER]_INDEXES views.&lt;br /&gt;Using ALTER INDEX we can make the index INVISIBLE or VISIBLE.&lt;br /&gt;We can REBUILD an invisible index.&lt;br /&gt;&lt;br /&gt;INDEX hit will not work with an invisible index.&lt;br /&gt;/*+ opt_param('optimizer_use_invisible_indexes','TRUE') */ -- we CAN'T use opt_param hint&lt;br /&gt;We CAN'T modify index partition to Invisible, it's at Index level.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Unusable Indexes (11gR2):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Zero Sized Unusable Indexes:&lt;/strong&gt;&lt;br /&gt;In Oracle 11gR2 when the index or index partition marked as unusable, oracle automatically drop any index segment space.&lt;br /&gt;This means we can release OLD(Not Active) index partition space and we can keep NEW(Active) partition indexes.&lt;br /&gt;&lt;br /&gt;ALTER INDEX &lt;index name&gt; MODIFY PARTITION &lt;OLD partition name&gt; UNSABLE;&lt;br /&gt;&lt;br /&gt;Once we make an index unusable, we will not see the segment in [DBA|ALL|USER]_SEGMENTS view, but we will have entry in [DBA|ALL|USER]_IND_PARTITIONS view.&lt;br /&gt;The column SEGMENT_CREATED(column value: YES/NO) shows whether a segment exists for that partition.&lt;br /&gt;unlike previous oracle releases(&lt; 11gR2), we can query the unusable partition data, but it uses full table scan instead of an index scan, because the corresponding index partition is unusable and cannot be used by the optimizer.&lt;br /&gt;When you query against NEW(Active) partition, it uses the corresponding index scan.&lt;br /&gt;If a table is truncated, the unusable index partition will become usable again and Oracle Database will re-create the segment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-6222069943342874509?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/6222069943342874509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=6222069943342874509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6222069943342874509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6222069943342874509'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2010/04/no-segment-vs-invisible-vs-unusable.html' title='No Segment Vs Invisible Vs Unusable Indexes in Oracle 11gR2:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-2283628243428346867</id><published>2009-09-26T16:29:00.005-04:00</published><updated>2009-09-26T16:40:48.204-04:00</updated><title type='text'>OEM Grid Control Maintenance Tasks - Weekly/Monthly:</title><content type='html'>&lt;strong&gt;OEM Grid Control Maintenance Tasks - Weekly/Monthly:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OMS Monthly Maintenance Tasks:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. OEM database partition Maintenance:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;a. Shut down all OMSs:&lt;br /&gt;   $OMS_HOME/bin/emctl stop oms&lt;br /&gt;&lt;br /&gt;b. Connect as SYSMAN to the OEM database and run following two procedures:&lt;br /&gt; SQL&gt;connect sysman/xxxx&lt;br /&gt; SQL&gt;set timing on;&lt;br /&gt; SQL&gt;exec emd_maintenance.analyze_end_schema('SYSMAN');&lt;br /&gt; SQL&gt;commit;&lt;br /&gt; SQL&gt;exec emd_maintenance.partition_maintenance;&lt;br /&gt; SQL&gt;commit;&lt;br /&gt;&lt;br /&gt;   If you are in a scenario where you hit Bug 5357916 and can't apply the patch or upgrade to a version where the patch is available you need to do the following:&lt;br /&gt;&lt;br /&gt; SQL&gt;connect / as sysdba&lt;br /&gt; SQL&gt;alter system set job_queue_processes = 0;&lt;br /&gt; SQL&gt;connect sysman/xxxx&lt;br /&gt; SQL&gt;set timing on;&lt;br /&gt; SQL&gt;exec emd_maintenance.remove_em_dbms_jobs;&lt;br /&gt; SQL&gt;exec emd_maintenance.partition_maintenance;&lt;br /&gt;   &lt;br /&gt;SQL&gt;@&lt;OMS_HOME&gt;/sysman/admin/emdrep/sql/core/latest/admin/admin_recompile_invalid.sql&lt;br /&gt; SQL&gt;alter system set job_queue_processes = 10;&lt;br /&gt; SQL&gt;exec emd_maintenance.submit_em_dbms_jobs;&lt;br /&gt; SQL&gt;commit;&lt;br /&gt;&lt;br /&gt;Note: The partition maintenance will be performed automatically if you have the following configuration:&lt;br /&gt;      Grid Control 10gR3 (10.2.0.3) or later with the repository installed in a 10.2.0.2 database or later.&lt;br /&gt;&lt;br /&gt;c. Confirm the Partition maintenance was successful:&lt;br /&gt; select count(1) from sysman.mgmt_metrics_raw where collection_timestamp &lt; sysdate -9;&lt;br /&gt;&lt;br /&gt;d. Restart all OMSs:&lt;br /&gt;   $OMS_HOME/bin/emctl start oms&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Rebuild/Shrink tables and indexes as required:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OMS Weekly Maintenance Tasks:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Check and Clear OMS and OEM database system errors.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   a. OMS:&lt;br /&gt;    Goto:   Navigate in the Grid Console to Setup &gt;&gt; Management Services and Repository &gt;&gt; 'Errors' Tab&lt;br /&gt;&lt;br /&gt;   b. OEM Database alertlog errors:&lt;br /&gt;    Goto: $ORACLE_BASE/POEM/bdump/alert_POEM[12].log&lt;br /&gt;   &lt;br /&gt;&lt;strong&gt;2. Fix target metric collection errors.&lt;/strong&gt;   &lt;br /&gt;&lt;br /&gt;  a. Cluster agent:&lt;br /&gt;    $AGENT_HOME/bin/agentca -d -c catlmsxt261 -- Discover &lt;br /&gt;    $AGENT_HOME/bin/agentca -f -c catlmsxt261 -- Reconfigure&lt;br /&gt;    $AGENT_HOME/bin/emctl clearstate agent&lt;br /&gt;    $AGENT_HOME/bin/emctl status agent&lt;br /&gt;   &lt;br /&gt;   b. Standalone agent:&lt;br /&gt;    $AGENT_HOME/bin/agentca -f&lt;br /&gt;    $AGENT_HOME/bin/emctl clearstate agent&lt;br /&gt;    $AGENT_HOME/bin/emctl status agent&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Start or remove targets in DOWN status and also remove all the Duplicate Targets.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Force delete all the "Deleted Targets"&lt;/strong&gt; &lt;br /&gt;           Goto:   Navigate in the Grid Console to Setup &gt;&gt; Management Services and Repository &gt;&gt; 'Overview' Tab &gt;&gt; Deleted Targets list &lt;br /&gt;                (or DELETE FROM SYSMAN.MGMT_TARGETS_DELETE; COMMIT ;)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Clear Critical and Warning alerts:&lt;/strong&gt; &lt;br /&gt;           Goto: Alerts tab on the OEM main page.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;6. Analyze Metric Rollup Tables as required:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   MGMT_METRICS_RAW&lt;br /&gt;   MGMT_METRICS_1DAY&lt;br /&gt;   MGMT_METRICS_1HOUR&lt;br /&gt; &lt;br /&gt;   exec dbms_stats.gather_table_stats('SYSMAN', 'MGMT_METRICS_RAW',   null, .000001, false, 'for all indexed columns', null, 'global', true, null, null, null);&lt;br /&gt;   exec dbms_stats.gather_table_stats('SYSMAN', 'MGMT_METRICS_1HOUR', null, .000001, false, 'for all indexed columns', null, 'global', true, null, null, null);&lt;br /&gt;   exec dbms_stats.gather_table_stats('SYSMAN', 'MGMT_METRICS_1DAY',  null, .000001, false, 'for all indexed columns', null, 'global', true, null, null, null);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;Doc ID:  456101.1&lt;br /&gt;Doc ID:  370695.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-2283628243428346867?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/2283628243428346867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=2283628243428346867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/2283628243428346867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/2283628243428346867'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/09/oem-grid-control-maintenance-tasks.html' title='OEM Grid Control Maintenance Tasks - Weekly/Monthly:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5182525992773555443</id><published>2009-09-21T17:17:00.002-04:00</published><updated>2009-09-21T17:22:59.315-04:00</updated><title type='text'>How to automate partition (Range - Seconds to Years) creation using Oracle Interval Partitioning in 11g:</title><content type='html'>&lt;strong&gt;How to automate partition (Range - Seconds to Years) creation using Oracle Interval Partitioning in 11g:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Create a composite Interval-List/Interval-Range partition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;drop table x;&lt;br /&gt;create table x (create_date date, site_id number, all_data varchar2(100))&lt;br /&gt;PARTITION BY RANGE (create_date)&lt;br /&gt;INTERVAL (NUMTODSINTERVAL(1,'HOUR'))&lt;br /&gt;SUBPARTITION BY LIST (site_id)&lt;br /&gt;( &lt;br /&gt;PARTITION part_01 values LESS THAN (TO_DATE('18-SEP-2009 16:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_01_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_01_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_01_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_01_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_02 values LESS THAN (TO_DATE('18-SEP-2009 17:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_02_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_02_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_02_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_02_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_03 values LESS THAN (TO_DATE('18-SEP-2009 18:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_03_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_03_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_03_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_03_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_04 values LESS THAN (TO_DATE('18-SEP-2009 19:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_04_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_04_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_04_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_04_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_05 values LESS THAN (TO_DATE('18-SEP-2009 20:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_05_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_05_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_05_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_05_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_06 values LESS THAN (TO_DATE('18-SEP-2009 21:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_06_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_06_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_06_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_06_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_07 values LESS THAN (TO_DATE('18-SEP-2009 22:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_07_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_07_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_07_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_07_135 VALUES (135)&lt;br /&gt;  ),&lt;br /&gt;PARTITION part_08 values LESS THAN (TO_DATE('18-SEP-2009 23:00:00','DD-MON-YYYY HH24:MI:SS'))&lt;br /&gt;  ( SUBPARTITION part_08_01 VALUES (01),&lt;br /&gt;    SUBPARTITION part_08_126 VALUES (126),&lt;br /&gt;    SUBPARTITION part_08_132 VALUES (132),&lt;br /&gt;    SUBPARTITION part_08_135 VALUES (135)&lt;br /&gt;  )&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Create bitmap LOCAL indexes:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;create bitmap index idx1_x on x(create_date) local;&lt;br /&gt;create bitmap index idx2_x on x(site_id) local;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Insert and Check the data in each partition:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;truncate table x;&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 15:30:00','DD-MON-YYYY HH24:MI:SS'),01,'18/SEP/09 of 15''Th HR - SITE 01');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 16:30:00','DD-MON-YYYY HH24:MI:SS'),126,'18/SEP/09 of 16''Th HR - SITE 126');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 17:30:00','DD-MON-YYYY HH24:MI:SS'),132,'18/SEP/09 of 17''Th HR - SITE 132');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 18:30:00','DD-MON-YYYY HH24:MI:SS'),135,'18/SEP/09 of 18''Th HR - SITE 125');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 19:30:00','DD-MON-YYYY HH24:MI:SS'),01,'18/SEP/09 of 19''Th HR - SITE 01');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 20:30:00','DD-MON-YYYY HH24:MI:SS'),126,'18/SEP/09 of 20''Th HR - SITE 126');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 21:30:00','DD-MON-YYYY HH24:MI:SS'),132,'18/SEP/09 of 21''Th HR - SITE 132');&lt;br /&gt;insert into x values(TO_DATE('18-SEP-2009 22:30:00','DD-MON-YYYY HH24:MI:SS'),135,'18/SEP/09 of 22''Th HR - SITE 135');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;set linesize 200;&lt;br /&gt;col all_data for a50;&lt;br /&gt;&lt;br /&gt;SELECT * FROM x PARTITION (PART_01);&lt;br /&gt;SELECT * FROM x PARTITION (PART_02);&lt;br /&gt;SELECT * FROM x PARTITION (PART_03);&lt;br /&gt;SELECT * FROM x PARTITION (PART_04);&lt;br /&gt;SELECT * FROM x PARTITION (PART_05);&lt;br /&gt;SELECT * FROM x PARTITION (PART_06);&lt;br /&gt;SELECT * FROM x PARTITION (PART_07);&lt;br /&gt;SELECT * FROM x PARTITION (PART_08);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Check and record the HIGH VALUE of the partition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;col table_name for a10;&lt;br /&gt;col partition_name for a15;&lt;br /&gt;select table_name, partition_name, high_value&lt;br /&gt;from user_tab_partitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  HIGH_VALUE&lt;br /&gt;---------- --------------- --------------------------------------------------------------------------------&lt;br /&gt;X          PART_01         TO_DATE(' 2009-09-18 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_02         TO_DATE(' 2009-09-18 17:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_03         TO_DATE(' 2009-09-18 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_04         TO_DATE(' 2009-09-18 19:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_05         TO_DATE(' 2009-09-18 20:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_06         TO_DATE(' 2009-09-18 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_07         TO_DATE(' 2009-09-18 22:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_08         TO_DATE(' 2009-09-18 23:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;&lt;br /&gt;8 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Check and record the HIGH VALUE of the Subpartition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;col subpartition_name for a20;&lt;br /&gt;col high_value for a10;&lt;br /&gt;select table_name, partition_name, subpartition_name, high_value&lt;br /&gt;from user_tab_subpartitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  SUBPARTITION_NAME    HIGH_VALUE&lt;br /&gt;---------- --------------- -------------------- ----------&lt;br /&gt;X          PART_01         PART_01_135          135&lt;br /&gt;X          PART_01         PART_01_132          132&lt;br /&gt;X          PART_01         PART_01_126          126&lt;br /&gt;X          PART_01         PART_01_01           01&lt;br /&gt;X          PART_02         PART_02_135          135&lt;br /&gt;X          PART_02         PART_02_132          132&lt;br /&gt;X          PART_02         PART_02_126          126&lt;br /&gt;X          PART_02         PART_02_01           01&lt;br /&gt;X          PART_03         PART_03_135          135&lt;br /&gt;X          PART_03         PART_03_132          132&lt;br /&gt;X          PART_03         PART_03_126          126&lt;br /&gt;X          PART_03         PART_03_01           01&lt;br /&gt;X          PART_04         PART_04_135          135&lt;br /&gt;X          PART_04         PART_04_132          132&lt;br /&gt;X          PART_04         PART_04_126          126&lt;br /&gt;X          PART_04         PART_04_01           01&lt;br /&gt;X          PART_05         PART_05_135          135&lt;br /&gt;X          PART_05         PART_05_132          132&lt;br /&gt;X          PART_05         PART_05_126          126&lt;br /&gt;X          PART_05         PART_05_01           01&lt;br /&gt;X          PART_06         PART_06_135          135&lt;br /&gt;X          PART_06         PART_06_132          132&lt;br /&gt;X          PART_06         PART_06_126          126&lt;br /&gt;X          PART_06         PART_06_01           01&lt;br /&gt;X          PART_07         PART_07_135          135&lt;br /&gt;X          PART_07         PART_07_132          132&lt;br /&gt;X          PART_07         PART_07_126          126&lt;br /&gt;X          PART_07         PART_07_01           01&lt;br /&gt;X          PART_08         PART_08_135          135&lt;br /&gt;X          PART_08         PART_08_132          132&lt;br /&gt;X          PART_08         PART_08_126          126&lt;br /&gt;X          PART_08         PART_08_01           01&lt;br /&gt;&lt;br /&gt;32 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. Insert new record (Next day 15'th Hour) and validate the partition creation:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;insert into x values(TO_DATE('19-SEP-2009 15:30:00','DD-MON-YYYY HH24:MI:SS'),01,'19/SEP/09 of 15''Th HR - SITE 01');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;col high_value for a10&lt;br /&gt;select table_name, partition_name, subpartition_name, high_value&lt;br /&gt;from user_tab_subpartitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  SUBPARTITION_NAME    HIGH_VALUE&lt;br /&gt;---------- --------------- -------------------- ----------&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;X          PART_08         PART_08_01           01&lt;br /&gt;X          SYS_P42         SYS_SUBP41           DEFAULT          &lt;strong&gt;&lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;33 rows selected.&lt;br /&gt;&lt;br /&gt;col high_value for a80&lt;br /&gt;select table_name, partition_name, high_value&lt;br /&gt;from user_tab_partitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  HIGH_VALUE&lt;br /&gt;---------- --------------- --------------------------------------------------------------------------------&lt;br /&gt;X          PART_01         TO_DATE(' 2009-09-18 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_02         TO_DATE(' 2009-09-18 17:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_03         TO_DATE(' 2009-09-18 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_04         TO_DATE(' 2009-09-18 19:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_05         TO_DATE(' 2009-09-18 20:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_06         TO_DATE(' 2009-09-18 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_07         TO_DATE(' 2009-09-18 22:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_08         TO_DATE(' 2009-09-18 23:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P42         TO_DATE(' 2009-09-19 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA          &lt;strong&gt;&lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;9 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7. Insert new record(Next day 17'th Hour) and validate the partition creation:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;insert into x values(TO_DATE('19-SEP-2009 17:30:00','DD-MON-YYYY HH24:MI:SS'),132,'19/SEP/09 of 17''Th HR - SITE 132');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;col high_value for a10&lt;br /&gt;select table_name, partition_name, subpartition_name, high_value&lt;br /&gt;from user_tab_subpartitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  SUBPARTITION_NAME    HIGH_VALUE&lt;br /&gt;---------- --------------- -------------------- ----------&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;X          PART_08         PART_08_01           01&lt;br /&gt;X          SYS_P42         SYS_SUBP41           DEFAULT&lt;br /&gt;X          SYS_P44         SYS_SUBP43           DEFAULT          &lt;strong&gt;&lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;34 rows selected.&lt;br /&gt;&lt;br /&gt;col high_value for a80&lt;br /&gt;select table_name, partition_name, high_value&lt;br /&gt;from user_tab_partitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  HIGH_VALUE&lt;br /&gt;---------- --------------- --------------------------------------------------------------------------------&lt;br /&gt;X          PART_01         TO_DATE(' 2009-09-18 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_02         TO_DATE(' 2009-09-18 17:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_03         TO_DATE(' 2009-09-18 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_04         TO_DATE(' 2009-09-18 19:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_05         TO_DATE(' 2009-09-18 20:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_06         TO_DATE(' 2009-09-18 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_07         TO_DATE(' 2009-09-18 22:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_08         TO_DATE(' 2009-09-18 23:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P42         TO_DATE(' 2009-09-19 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P44         TO_DATE(' 2009-09-19 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA         &lt;strong&gt; &lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;10 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;8. Insert new record (Next day 16'th Hour) and validate the partition creation:&lt;br /&gt;# This record data is one hour less than the previous record in Step 7.&lt;br /&gt;# No problem with creating the partition even with jumbled hourly data!!!!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;insert into x values(TO_DATE('19-SEP-2009 16:30:00','DD-MON-YYYY HH24:MI:SS'),126,'19/SEP/09 of 16''Th HR - SITE 126'); &lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;col high_value for a10&lt;br /&gt;select table_name, partition_name, subpartition_name, high_value&lt;br /&gt;from user_tab_subpartitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  SUBPARTITION_NAME    HIGH_VALUE&lt;br /&gt;---------- --------------- -------------------- ----------&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;..&lt;br /&gt;X          PART_08         PART_08_01           01&lt;br /&gt;X          SYS_P42         SYS_SUBP41           DEFAULT&lt;br /&gt;X          SYS_P44         SYS_SUBP43           DEFAULT&lt;br /&gt;X          SYS_P46         SYS_SUBP45           DEFAULT          &lt;strong&gt;&lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;35 rows selected.&lt;br /&gt;&lt;br /&gt;col high_value for a80&lt;br /&gt;select table_name, partition_name, high_value&lt;br /&gt;from user_tab_partitions&lt;br /&gt;where table_name = 'X';&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Output:&lt;/strong&gt;&lt;br /&gt;TABLE_NAME PARTITION_NAME  HIGH_VALUE&lt;br /&gt;---------- --------------- --------------------------------------------------------------------------------&lt;br /&gt;X          PART_01         TO_DATE(' 2009-09-18 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_02         TO_DATE(' 2009-09-18 17:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_03         TO_DATE(' 2009-09-18 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_04         TO_DATE(' 2009-09-18 19:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_05         TO_DATE(' 2009-09-18 20:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_06         TO_DATE(' 2009-09-18 21:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_07         TO_DATE(' 2009-09-18 22:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          PART_08         TO_DATE(' 2009-09-18 23:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P42         TO_DATE(' 2009-09-19 16:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P44         TO_DATE(' 2009-09-19 18:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA&lt;br /&gt;X          SYS_P46         TO_DATE(' 2009-09-19 17:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA          &lt;strong&gt;&lt;------- New Partition&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;11 rows selected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Side Note:&lt;/strong&gt;&lt;br /&gt;If you want to create different intervals, here are the available options:&lt;br /&gt;&lt;br /&gt;NUMTODSINTERVAL - An Interval Day to Second:&lt;br /&gt;&lt;br /&gt;'DAY'  - INTERVAL (NUMTODSINTERVAL(1,'DAY'))  or INTERVAL (NUMTODSINTERVAL(7,'DAY'))&lt;br /&gt;'HOUR'  - INTERVAL (NUMTODSINTERVAL(1,'HOUR'))   or INTERVAL (NUMTODSINTERVAL(8,'HOUR'))&lt;br /&gt;'MINUTE' - INTERVAL (NUMTODSINTERVAL(1,'MINUTE')) or INTERVAL (NUMTODSINTERVAL(15,'MINUTE'))&lt;br /&gt;'SECOND' - INTERVAL (NUMTODSINTERVAL(1,'SECOND')) or INTERVAL (NUMTODSINTERVAL(30,'SECOND'))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NUMTOYMINTERVAL - An Interval Year to Month:&lt;br /&gt;&lt;br /&gt;'YEAR'  - INTERVAL (NUMTOYMINTERVAL(1,'YEAR'))  or INTERVAL (NUMTOYMINTERVAL(3,'YEAR'))&lt;br /&gt;'MONTH'  - INTERVAL (NUMTOYMINTERVAL(1,'MONTH'))  or INTERVAL (NUMTOYMINTERVAL(4,'MONTH'))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5182525992773555443?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5182525992773555443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5182525992773555443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5182525992773555443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5182525992773555443'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/09/how-to-automate-partition-range-seconds.html' title='How to automate partition (Range - Seconds to Years) creation using Oracle Interval Partitioning in 11g:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-8002794509499979565</id><published>2009-04-17T14:03:00.005-04:00</published><updated>2009-08-18T17:22:10.160-04:00</updated><title type='text'>How to Restore Database BCV backup copy to ASM storage:</title><content type='html'>How to Restore Database BCV backup copy to ASM storage:&lt;br /&gt;&lt;br /&gt;How big is the database: 2TB&lt;br /&gt;How often we take BCV copy: Daily&lt;br /&gt;How often we delete Archive log's: Every 30 mns.&lt;br /&gt;How much redo, does this DB generate per Hour: 70GB/24= ~3GB&lt;br /&gt;Is this RAC database: Yes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.&lt;br /&gt;Stop all instances of database:&lt;br /&gt;srvctl stop database -d ORADB&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;Check the services are offline:&lt;br /&gt;crs_stat -t&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;Dismount diskgroups on all instances:&lt;br /&gt;&lt;br /&gt;alter diskgroup ORADB_T1_BACKUP_01 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_01 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_02 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_03 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_04 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_05 dismount;&lt;br /&gt;alter diskgroup ORADB_T1_REDO_01 dismount;&lt;br /&gt;&lt;br /&gt;4.&lt;br /&gt;Have SysAdmin restore the database from BCV:&lt;br /&gt;&lt;br /&gt;Is there any difference in restoring BCV copy to file system Vs ASM?&lt;br /&gt;There is technically no difference in restoring BCV copy to file system Vs ASM.&lt;br /&gt;&lt;br /&gt;Can ASM disk names be different?&lt;br /&gt;No, should be same between source and target.&lt;br /&gt;&lt;br /&gt;5.&lt;br /&gt;Mount back diskgroups on all instances:&lt;br /&gt;&lt;br /&gt;alter diskgroup ORADB_T1_BACKUP_01 mount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_01 mount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_02 mount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_03 mount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_04 mount;&lt;br /&gt;alter diskgroup ORADB_T1_DATA_05 mount;&lt;br /&gt;alter diskgroup ORADB_T1_REDO_01 mount;&lt;br /&gt;&lt;br /&gt;6.&lt;br /&gt;Startup and Recover the database: -- Source to DB instance&lt;br /&gt;&lt;br /&gt;SQL&gt; startup;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 1610612736 bytes&lt;br /&gt;Fixed Size                  2084296 bytes&lt;br /&gt;Variable Size             419430968 bytes&lt;br /&gt;Database Buffers         1174405120 bytes&lt;br /&gt;Redo Buffers               14692352 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;ORA-01113: file 1 needs media recovery&lt;br /&gt;ORA-01110: data file 1:&lt;br /&gt;'+ORADB_T1_DATA_01/oradb/datafile/system.256.667735945'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; recover database;&lt;br /&gt;Media recovery complete.&lt;br /&gt;SQL&gt; alter database open;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; select status from v$instance;&lt;br /&gt;&lt;br /&gt;STATUS&lt;br /&gt;------------&lt;br /&gt;OPEN&lt;br /&gt;&lt;br /&gt;7.&lt;br /&gt;Restart all services/instances:&lt;br /&gt;crs_start -all&lt;br /&gt;&lt;br /&gt;8.&lt;br /&gt;Check the services are online:&lt;br /&gt;crs_stat -t&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-8002794509499979565?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/8002794509499979565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=8002794509499979565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8002794509499979565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8002794509499979565'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/04/how-to-restore-bcv-copy-to-asm-storage.html' title='How to Restore Database BCV backup copy to ASM storage:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-838888959653186199</id><published>2009-03-23T16:10:00.001-04:00</published><updated>2009-09-21T17:29:58.274-04:00</updated><title type='text'>How to swinging the RAC(ASM) database from one cluster to another cluster:</title><content type='html'>How to swinging the RAC(ASM) database from one cluster to another cluster:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Un-mount all the diskgroups from the source RAC cluster on all the instances.&lt;br /&gt;&lt;br /&gt;ALTER DISKGROUP ALL DISMOUNT; or diskgroups specific to the DB&lt;br /&gt;&lt;br /&gt;2. Shutdown all the instances(database).&lt;br /&gt;&lt;br /&gt;srvctl stop database -d DB_NAME&lt;br /&gt;&lt;br /&gt;3. Copy DB init.ora file to all the RAC nodes.&lt;br /&gt;&lt;br /&gt;4. Swinging the disks from one cluster to other cluster. (Storage and Sys Admin Task).&lt;br /&gt;&lt;br /&gt;High Level: After ASM(un-mount) and DB are stopped, SAN team un-zone the storage from source RAC cluster and zone it to destination RAC cluster.&lt;br /&gt;            And perform the ASM scan disk (/etc/init.d/oracleasm scandisks) to see all the disks in destination ASM instance.&lt;br /&gt;&lt;br /&gt;5. Mount all the diskgroups on the destination RAC cluster on all the instances.&lt;br /&gt;&lt;br /&gt;ALTER DISKGROUP ALL MOUNT;&lt;br /&gt;&lt;br /&gt;6. Register all the instances and database.&lt;br /&gt;&lt;br /&gt;srvctl add instance -d DB_NAME -i INSTANCE1 -n NODE1&lt;br /&gt;srvctl add instance -d DB_NAME -i INSTANCE2 -n NODE2&lt;br /&gt;srvctl add instance -d DB_NAME -i INSTANCE3 -n NODE3&lt;br /&gt;srvctl add instance -d DB_NAME -i INSTANCE4 -n NODE4&lt;br /&gt;&lt;br /&gt;srvctl add database -d DB_NAME -o $ORACLE_HOME&lt;br /&gt;srvctl modify instance -d DB_NAME -i INSTANCE_NAME -s ASM_INSTANCE_NAME&lt;br /&gt;&lt;br /&gt;7. Startup all the instances(database).&lt;br /&gt;&lt;br /&gt;srvctl start database -d DB_NAME &lt;br /&gt;or crs_start -all&lt;br /&gt;&lt;br /&gt;8. Create all the services using dbca. Incase of any issues with dbca use below command.&lt;br /&gt;&lt;br /&gt;srvctl add service -d DB_NAME -s SERVICE_NAME -r INSTANCE1,INSTANCE2,INSTANCE3 -a INSTANCE4 -P BASIC&lt;br /&gt;&lt;br /&gt;-r for preferred nodes &lt;br /&gt;-a for available nodes&lt;br /&gt;-P for TAF Policy (NONE, BASIC or PRECONNECT)&lt;br /&gt;&lt;br /&gt;9. Update /etc/oratab, tnsnames.ora on all the servers and S drive.&lt;br /&gt;&lt;br /&gt;10. Update all the new diskgroups in ASM init.ora file on the destination RAC cluster on all the nodes.&lt;br /&gt;&lt;br /&gt;11. Cleanup the database and instances CRS resources from the source RAC cluster.&lt;br /&gt;&lt;br /&gt;srvctl remove instance -d DB_NAME -i INSTANCE1&lt;br /&gt;srvctl remove instance -d DB_NAME -i INSTANCE2&lt;br /&gt;srvctl remove instance -d DB_NAME -i INSTANCE3&lt;br /&gt;srvctl remove instance -d DB_NAME -i INSTANCE4&lt;br /&gt;&lt;br /&gt;srvctl remove database -d DB_NAME&lt;br /&gt;&lt;br /&gt;srvctl remove service -d DB_NAME -s SERVICE_NAME&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-838888959653186199?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/838888959653186199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=838888959653186199' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/838888959653186199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/838888959653186199'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/03/how-to-swinging-racasm-database-from.html' title='How to swinging the RAC(ASM) database from one cluster to another cluster:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-6145148904198783384</id><published>2009-02-24T11:01:00.003-05:00</published><updated>2011-01-02T11:16:41.229-05:00</updated><title type='text'>How to take RMAN Backup from BCV copy of the Database:</title><content type='html'>How to take RMAN Backup from BCV copy of the Database:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.&lt;br /&gt;a.&lt;br /&gt;DB Release info of target DB, catalog DB, BCV copy DB: &lt;br /&gt;a) 10.2.0.4 - ASM storage&lt;br /&gt;b) 10.2.0.4&lt;br /&gt;c) 10.2.0.4 - ASM storage&lt;br /&gt;&lt;br /&gt;b..&lt;br /&gt;OS Release info of Primary and BCV:&lt;br /&gt;a) Red Hat Enterprise Linux AS release 4 (Nahant Update 4)&lt;br /&gt;b) Red Hat Enterprise Linux AS release 4 (Nahant Update 4)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Please verify fhrba_seq column values, should match between Primary and BCV copy:&lt;br /&gt;&lt;br /&gt;-- On Primary&lt;br /&gt;set linesize 120;&lt;br /&gt;select hxfil FILE#,fhsta STAT,fhscn SCN, fhthr thr, fhrba_Seq SEQUENCE,fhtnm TABLESPACE&lt;br /&gt;  from x$kcvfh &lt;br /&gt;order by 1;&lt;br /&gt;&lt;br /&gt;-- On BCV&lt;br /&gt;set linesize 120;&lt;br /&gt;select hxfil FILE#,fhsta STAT,fhscn SCN, fhthr thr, fhrba_Seq SEQUENCE,fhtnm TABLESPACE&lt;br /&gt;  from x$kcvfh &lt;br /&gt;order by 1;&lt;br /&gt;&lt;br /&gt;Note: bug 6004226 may show different fhrba_seq column values between Primary and BCV copy.&lt;br /&gt;      Workaround is in step 4.&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;Error:&lt;br /&gt;&lt;br /&gt;RMAN&gt; resync catalog;&lt;br /&gt;&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03009: failure of resync command on default channel at 12/10/2008 07:45:32&lt;br /&gt;ORA-00236: snapshot operation disallowed: mounted control file is a backup&lt;br /&gt;&lt;br /&gt;RMAN&gt; shutdown immediate&lt;br /&gt;&lt;br /&gt;database dismounted&lt;br /&gt;Oracle instance shut down&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;2&gt; startup mount;&lt;br /&gt;3&gt; allocate channel edw_backup_sbt1 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;4&gt; allocate channel edw_backup_sbt2 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;5&gt; allocate channel edw_backup_sbt3 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;6&gt; allocate channel edw_backup_sbt4 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;7&gt;   backup full filesperset = 10 as BACKUPSET tag '%d_full_backup_%TAG' database;&lt;br /&gt;8&gt; release channel edw_backup_sbt1;&lt;br /&gt;9&gt; release channel edw_backup_sbt2;&lt;br /&gt;10&gt;release channel edw_backup_sbt3;&lt;br /&gt;11&gt;release channel edw_backup_sbt4;&lt;br /&gt;12&gt;}&lt;br /&gt;&lt;br /&gt;connected to target database (not started)&lt;br /&gt;Oracle instance started&lt;br /&gt;database mounted&lt;br /&gt;&lt;br /&gt;Total System Global Area 4194304000 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 2089272 bytes&lt;br /&gt;Variable Size 3976203976 bytes&lt;br /&gt;Database Buffers 201326592 bytes&lt;br /&gt;Redo Buffers 14684160 bytes&lt;br /&gt;&lt;br /&gt;allocated channel: edw_backup_sbt1&lt;br /&gt;channel edw_backup_sbt1: sid=4392 devtype=SBT_TAPE&lt;br /&gt;channel edw_backup_sbt1: Veritas NetBackup for Oracle - Release 6.5 (2007111606)&lt;br /&gt;&lt;br /&gt;allocated channel: edw_backup_sbt2&lt;br /&gt;channel edw_backup_sbt2: sid=4386 devtype=SBT_TAPE&lt;br /&gt;channel edw_backup_sbt2: Veritas NetBackup for Oracle - Release 6.5 &lt;br /&gt;(2007111606)&lt;br /&gt;&lt;br /&gt;allocated channel: edw_backup_sbt3&lt;br /&gt;channel edw_backup_sbt3: sid=4384 devtype=SBT_TAPE&lt;br /&gt;channel edw_backup_sbt3: Veritas NetBackup for Oracle - Release 6.5 (2007111606)&lt;br /&gt;&lt;br /&gt;allocated channel: edw_backup_sbt4&lt;br /&gt;channel edw_backup_sbt4: sid=4382 devtype=SBT_TAPE&lt;br /&gt;channel edw_backup_sbt4: Veritas NetBackup for Oracle - Release 6.5 (2007111606)&lt;br /&gt;&lt;br /&gt;Starting backup at 10-DEC-08&lt;br /&gt;released channel: edw_backup_sbt1&lt;br /&gt;released channel: edw_backup_sbt2&lt;br /&gt;released channel: edw_backup_sbt3&lt;br /&gt;released channel: edw_backup_sbt4&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03002: failure of backup command at 12/10/2008 07:47:10&lt;br /&gt;RMAN-03014: implicit resync of recovery catalog failed&lt;br /&gt;RMAN-06004: ORACLE error from recovery catalog database: RMAN-20035: invalid high recid&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4.&lt;br /&gt;Following is the complete procedure to take RMAN backup of BCV copy:&lt;br /&gt;&lt;br /&gt;STEPS : &lt;br /&gt;=======&lt;br /&gt;&lt;br /&gt;1. Primary database has to be registered in the recovery catalog.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Verify the current RMAN Configuration.&lt;br /&gt;&lt;br /&gt;show all;&lt;br /&gt;&lt;br /&gt;* autobackup controlfile OFF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Take the BCV cut after the production database was shutdown with "shutdown immediate;".&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. On the staging server using BCV cut, Mount Database : &lt;br /&gt;&lt;br /&gt;$ sqlplus / as sysdba&lt;br /&gt;&lt;br /&gt;SQL&gt; startup mount;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Check the controfile_type: (Controlfile type shoud be CURRENT ): &lt;br /&gt;&lt;br /&gt;SQL&gt; select controlfile_type from v$database;&lt;br /&gt;&lt;br /&gt;CONTROL&lt;br /&gt;---------&lt;br /&gt;CURRENT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. Connect to RMAN in nocatalog, take a backup of the controlfile and then restore it, you will have a backup controlfile then: &lt;br /&gt;&lt;br /&gt;a.&lt;br /&gt;$ rman target /&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;allocate channel disk1 device type disk;&lt;br /&gt;backup current controlfile FORMAT '/u00/oradata/EDW/controlfile/current_controlfile1.ctl'; }&lt;br /&gt;RMAN&gt; exit;&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;$ rman target /&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;allocate channel disk1 device type disk;&lt;br /&gt;restore controlfile to '/u00/oradata/EDW/controlfile/backup_controlfile1.ctl' from '/u00/oradata/EDW/controlfile/current_controlfile1.ctl'; }&lt;br /&gt;RMAN&gt; exit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. Edit the init.ora file to point to the new controlfile (/u00/oradata/EDW/controlfile/backup_controlfile1.ctl)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. Shutdown database: &lt;br /&gt;&lt;br /&gt;SQL&gt; shutdown immediate;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. mount database: &lt;br /&gt;&lt;br /&gt;SQL&gt; startup mount;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10. Check the controfile_type : (Controlfile type shoud be BACKUP) : &lt;br /&gt;&lt;br /&gt;SQL&gt; select controlfile_type from v$database;&lt;br /&gt;&lt;br /&gt;CONTROL&lt;br /&gt;---------&lt;br /&gt;BACKUP&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;11. Start RMAN session connected to this database mounted and the recovery catalog : &lt;br /&gt;&lt;br /&gt;$ rman target / catalog rman/****@prman.world&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;12. Execute the backup.&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;2&gt; startup mount;&lt;br /&gt;3&gt; allocate channel edw_backup_sbt1 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;4&gt; allocate channel edw_backup_sbt2 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;5&gt; allocate channel edw_backup_sbt3 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;6&gt; allocate channel edw_backup_sbt4 type sbt format '%d_full_backup_%U' parms 'ENV=(NB_ORA_POLICY=BCV_ASM,NB_ORA_SCHED=FULL_BCV)' maxpiecesize 8 G;&lt;br /&gt;7&gt;   backup full filesperset = 10 as BACKUPSET tag '%d_full_backup_%TAG' database;&lt;br /&gt;8&gt; release channel edw_backup_sbt1;&lt;br /&gt;9&gt; release channel edw_backup_sbt2;&lt;br /&gt;10&gt;release channel edw_backup_sbt3;&lt;br /&gt;11&gt;release channel edw_backup_sbt4;&lt;br /&gt;12&gt;}&lt;br /&gt;&lt;br /&gt;Imp Note: If you want to open the database, edit the init.ora file to point to the original controlfile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-6145148904198783384?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/6145148904198783384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=6145148904198783384' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6145148904198783384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6145148904198783384'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/02/how-to-take-rman-backup-from-bcv-copy.html' title='How to take RMAN Backup from BCV copy of the Database:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-757706296017423349</id><published>2009-02-24T09:41:00.001-05:00</published><updated>2011-01-02T11:17:41.504-05:00</updated><title type='text'>How to move a datafile from one diskgroup to another diskgroup in ASM using RMAN:</title><content type='html'>&lt;strong&gt;How to move a datafile from one diskgroup to another diskgroup in ASM using RMAN:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In this test, I will be moving the datafile from A_T1_DATA_01 to B_T1_DATA_01 diskgroup:&lt;br /&gt;&lt;br /&gt;a. select the datafile to move:&lt;br /&gt;sqlplus / as sysdba on DB:&lt;br /&gt;col file_name for a50&lt;br /&gt;select file_id, file_name from dba_data_files where file_id=7;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b. select the diskgroup to move:&lt;br /&gt;sqlplus / as sysdba on ASM:&lt;br /&gt;select GROUP_NUMBER, NAME, TOTAL_MB, FREE_MB, STATE from v$asm_diskgroup;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;c. On DB:&lt;br /&gt;. oraenv ORADB&lt;br /&gt;&lt;br /&gt;rman target /&lt;br /&gt;&lt;br /&gt;RMAN&gt; report schema;&lt;br /&gt;RMAN&gt; sql 'alter database datafile 7 offline';&lt;br /&gt;RMAN&gt; backup as copy datafile 7 format '+B_T1_DATA_01';&lt;br /&gt;RMAN&gt; switch datafile 7 to COPY;&lt;br /&gt;RMAN&gt; recover datafile 7;&lt;br /&gt;RMAN&gt; sql 'alter database datafile 7 online';&lt;br /&gt;RMAN&gt; report schema;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;d. Check and see the datafile new location:&lt;br /&gt;sqlplus / as sysdba on DB:&lt;br /&gt;col file_name for a50&lt;br /&gt;select file_id, file_name from dba_data_files where file_id=7;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;e. Remove the datafile from OLD disk group:&lt;br /&gt;$ asmcmd&lt;br /&gt;ASMCMD&gt; cd A_T1_DATA_01/ORADB/datafile&lt;br /&gt;ASMCMD&gt; rm FLOW_1.776.644706747&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-757706296017423349?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/757706296017423349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=757706296017423349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/757706296017423349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/757706296017423349'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/02/how-to-move-datafile-from-one-diskgroup.html' title='How to move a datafile from one diskgroup to another diskgroup in ASM using RMAN:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-1165567050613687005</id><published>2009-02-15T16:49:00.010-05:00</published><updated>2009-08-22T17:48:34.195-04:00</updated><title type='text'>Oracle masala at work - 2:</title><content type='html'>Oracle masala at work - 2:&lt;br /&gt;1. How to make Oracle data Case-Insensitive search:&lt;br /&gt;2. How to setup OEM Command Line Interface:&lt;br /&gt;3. How to Update RMAN Recovery Catalog with Older Archive Log's that are on the Tape:&lt;br /&gt;4. How to run the Oracle RAC Add Node procedure in Silent mode:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. How to make Oracle data Case-Insensitive search:&lt;/strong&gt;&lt;br /&gt;a. Database Level Trigger to make Oracle data Case-Insensitive:&lt;br /&gt;&lt;br /&gt;connect sys@ORADB as sysdba&lt;br /&gt;&lt;br /&gt;--Schema Level&lt;br /&gt;CREATE OR REPLACE TRIGGER sys.make_case_insensitive_AL&lt;br /&gt; AFTER LOGON ON DATABASE&lt;br /&gt; DECLARE&lt;br /&gt; BEGIN&lt;br /&gt; IF (user = 'TEST') THEN&lt;br /&gt;    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_COMP = LINGUISTIC'; -- 10gR2&lt;br /&gt;    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT = BINARY_CI';&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;-- DB Level&lt;br /&gt;CREATE OR REPLACE TRIGGER sys.make_case_insensitive_AL&lt;br /&gt; AFTER LOGON ON DATABASE&lt;br /&gt; DECLARE&lt;br /&gt; BEGIN&lt;br /&gt;    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_COMP = LINGUISTIC'; -- 10gR2&lt;br /&gt;    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_SORT = BINARY_CI';&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;b. Verifying Index usage:&lt;br /&gt;&lt;br /&gt;connect test@ORADB&lt;br /&gt;create table emp(ename varchar2(50));&lt;br /&gt;insert into emp values('ViJay');&lt;br /&gt;insert into emp values('VIJAY');&lt;br /&gt;insert into emp values('Vijay');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;create index idx1_emp on emp(ename);&lt;br /&gt;&lt;br /&gt;exec dbms_stats.gather_table_stats(ownname =&gt; 'TEST', tabname =&gt;'EMP', degree=&gt; 2, cascade =&gt; TRUE);&lt;br /&gt;&lt;br /&gt;SET AUTOTRACE ON;&lt;br /&gt;select * from emp where ename = 'vijay';    -- No Index use&lt;br /&gt;select /*+ index(emp) */ * from emp where ename = 'vijay';  -- No Index use&lt;br /&gt;select * from emp where ename LIKE 'Vi%';    -- This uses IDX1 Index FULL scan&lt;br /&gt;&lt;br /&gt;-- To make use of the Index, we need to create below Index on ename column:&lt;br /&gt;create index idx2_emp on emp(NLSSORT(ename,'NLS_SORT=BINARY_CI'));&lt;br /&gt;&lt;br /&gt;exec dbms_stats.gather_table_stats(ownname =&gt; 'TEST', tabname =&gt;'EMP', degree=&gt; 2, cascade =&gt; TRUE);&lt;br /&gt;&lt;br /&gt;select * from emp where ename = 'vijay';    -- This uses IDX2 Index&lt;br /&gt;select * from emp where ename LIKE 'Vi%';   -- This uses IDX1 Index FULL scan (NOT IDX2 Index)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. How to setup OEM Command Line Interface:&lt;/strong&gt;&lt;br /&gt;a.&lt;br /&gt;export JAVA_HOME=/u00/app/oracle/product/OEM/oms10g/jdk&lt;br /&gt;export PATH=$PATH:$JAVA_HOME/bin&lt;br /&gt;&lt;br /&gt;cd /u00/app/oracle/product/OEM/oms10g/sysman/jlib&lt;br /&gt;&lt;br /&gt;java -jar emclikit.jar client -install_dir=/export/home/oracle/OEMCL&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;emcli setup -url="http://atlp158:4890/em" -username=sysman -password=oracle -dir=/export/home/oracle/OEMCL -trustall -novalidate&lt;br /&gt;&lt;br /&gt;emcli sync&lt;br /&gt;emcli help&lt;br /&gt;emcli help update_password&lt;br /&gt;emcli get_targets&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. How to Update RMAN Recovery Catalog with Older Archive Log's that are on the Tape:&lt;/strong&gt;&lt;br /&gt;a.Identify the Backup Pieces:&lt;br /&gt;&lt;br /&gt;rman target / catalog=rman/rman1@prman&lt;br /&gt;&lt;br /&gt;spool log to 'x.log';&lt;br /&gt;list backup of archivelog all;&lt;br /&gt;spool log off;&lt;br /&gt;&lt;br /&gt;SELECT   start_time, handle&lt;br /&gt;    FROM v$backup_piece&lt;br /&gt;   WHERE TRUNC (start_time) = '01-Feb-2009'&lt;br /&gt;ORDER BY start_time;&lt;br /&gt;&lt;br /&gt;b. Attach the missing Backup Pieces to RMAN Recovery Catalog:&lt;br /&gt;rman target / catalog=rman/rman1@prman&lt;br /&gt;&lt;br /&gt;-- Syntax for one Backup Pieces&lt;br /&gt;CATALOG DEVICE TYPE 'SBT_TAPE' BACKUPPIECE 'aik6806g_1_1';&lt;br /&gt;&lt;br /&gt;-- Syntax for more that one Backup Pieces&lt;br /&gt;CATALOG DEVICE TYPE 'SBT_TAPE' BACKUPPIECE 'aik6806g_1_1,ahk6806g_1_1,ajk6806g_1_1';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. How to run the Oracle RAC Add Node procedure in Silent mode:&lt;/strong&gt;&lt;br /&gt;a. Run below command from the existing node:&lt;br /&gt;atlp260 &gt; /DBHome/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={atlp259,atlp258,atlp257}" -logLevel trace -debug&lt;br /&gt;&lt;br /&gt;Once all required DB binaries are copied from atlp260 to atlp257, atlp258 and atlp259 nodes, execute "root.sh" file:&lt;br /&gt;/u00/app/oracle/product/10.2.0/DB/root.sh on atlp257, atlp258 and atlp259 nodes.&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;Just to be sure, execute "crs_start -all" and check crs_stat -t for all the resources availability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-1165567050613687005?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/1165567050613687005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=1165567050613687005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1165567050613687005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1165567050613687005'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2009/02/oracle-masala-at-work-2.html' title='Oracle masala at work - 2:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-7959252138706873453</id><published>2008-12-15T15:55:00.001-05:00</published><updated>2008-12-26T12:31:40.648-05:00</updated><title type='text'>Database Historical Trend Analysis using OS/WEB Tiers</title><content type='html'>&lt;strong&gt;Database Historical Trend Analysis using OS/WEB Tiers:&lt;/strong&gt;&lt;br /&gt;In this artical, I will be concentrating on capturing different levels of reports for OS/DB/WEB(IIS/Apache) tiers to perform Trend Analysis.&lt;br /&gt;These reports can be useful for troubleshooting the performance or capturing the baseline of the system.&lt;br /&gt;In Troubleshooting approach, Understanding the problem and Measuring the change results are the keys to resolve the issue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OS Trend Analysis:&lt;/strong&gt;&lt;br /&gt;As part of being able to monitor the performance effectively use OS utilities. Using correct utilities to find CPU, memory and disk I/O is crucial.&lt;br /&gt;Side Note: We can also use Oracle OS Watcher(OSW), it depends on how easy to refer/compare the days worth of old data.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CPU:&lt;/strong&gt;&lt;br /&gt;sar -u&lt;br /&gt;&lt;br /&gt;CREATE TABLE SYSTEM.OSMON_SARS&lt;br /&gt;(&lt;br /&gt;  SAMPLE_DATE  DATE,&lt;br /&gt;  SERVER_NAME  VARCHAR2(50),&lt;br /&gt;  USER_CPU     NUMBER,&lt;br /&gt;  SYSTEM_CPU   NUMBER,&lt;br /&gt;  WAITIO_CPU   NUMBER,&lt;br /&gt;  IDLE_CPU     NUMBER&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ cat sar.sh&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;############################################################&lt;br /&gt;# File Name   : sar.sh&lt;br /&gt;# Author      : Vijay Dumpa&lt;br /&gt;# Usage       : sar.sh ORACLE_SID&lt;br /&gt;#&lt;br /&gt;# Modification History&lt;br /&gt;# Who      When     What&lt;br /&gt;# -------- -------- ----------------------------------------&lt;br /&gt;#&lt;br /&gt;#############################################################&lt;br /&gt;##&lt;br /&gt;# Set up environment for job&lt;br /&gt;##&lt;br /&gt;#set -x&lt;br /&gt;ORACLE_SID=$1; export ORACLE_SID&lt;br /&gt;ORACLE_HOME=`cat /var/opt/oracle/oratab | grep -v "#" | grep $ORACLE_SID | cut -d ":" -f2`; export ORACLE_HOME&lt;br /&gt;PATH=$ORACLE_HOME/bin:$PATH; export PATH&lt;br /&gt;SERVER_NAME=`uname -a|awk '{print $2}'`; export SERVER_NAME&lt;br /&gt;&lt;br /&gt;sar -u &gt; /tmp/msg$$&lt;br /&gt;&lt;br /&gt;# Run sar and direct the output into the Oracle table . . .&lt;br /&gt;cat /tmp/msg$$| tail -3 | head -1 | awk '{printf("%s %s %s %s\n",$2,$3,$4,$5)}' | while read USER_CPU SYSTEM_CPU WAITIO_CPU IDLE_CPU&lt;br /&gt;   do&lt;br /&gt;      $ORACLE_HOME/bin/sqlplus -s system/xxxxxx@$1 &lt;&lt;EOF &gt;/dev/null&lt;br /&gt;      insert into system.osmon_sars(sample_date, server_name, user_cpu, system_cpu, waitio_cpu, idle_cpu)&lt;br /&gt;           values (SYSDATE, '$SERVER_NAME', $USER_CPU, $SYSTEM_CPU, $WAITIO_CPU, $IDLE_CPU);&lt;br /&gt;      commit;&lt;br /&gt;      exit;&lt;br /&gt;EOF&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;rm /tmp/msg$$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Memory:&lt;/strong&gt;&lt;br /&gt;Swap: swap -s or vmstat&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CREATE TABLE SYSTEM.OSMON_VMSTATS&lt;br /&gt;(&lt;br /&gt;  SAMPLE_DATE  DATE,&lt;br /&gt;  SAMPLE_TIME  NUMBER,&lt;br /&gt;  SERVER_NAME  VARCHAR2(50),&lt;br /&gt;  RUNQUE       NUMBER,&lt;br /&gt;  FREE_SWAP    NUMBER,&lt;br /&gt;  FREE_MEMORY  NUMBER,&lt;br /&gt;  PAGE_IN      NUMBER,&lt;br /&gt;  PAGE_OUT     NUMBER&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ cat vmstat.sh&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;############################################################&lt;br /&gt;# File Name   : vmstat.sh&lt;br /&gt;# Author      : Vijay Dumpa&lt;br /&gt;# Usage       : vmstat.sh ORACLE_SID&lt;br /&gt;#&lt;br /&gt;# Modification History&lt;br /&gt;# Who      When     What&lt;br /&gt;# -------- -------- ----------------------------------------&lt;br /&gt;#&lt;br /&gt;#############################################################&lt;br /&gt;##&lt;br /&gt;# Set up environment for job&lt;br /&gt;##&lt;br /&gt;#set -x&lt;br /&gt;ORACLE_SID=$1; export ORACLE_SID&lt;br /&gt;ORACLE_HOME=`cat /var/opt/oracle/oratab | grep -v "#" | grep $ORACLE_SID | cut -d ":" -f2`; export ORACLE_HOME&lt;br /&gt;PATH=$ORACLE_HOME/bin:$PATH; export PATH&lt;br /&gt;SERVER_NAME=`uname -a|awk '{print $2}'`; export SERVER_NAME&lt;br /&gt;&lt;br /&gt;# sample every 10 seconds.&lt;br /&gt;SAMPLE_TIME=10&lt;br /&gt;vmstat ${SAMPLE_TIME} 2 &gt; /tmp/msg$$&lt;br /&gt;&lt;br /&gt;# Run vmstat and direct the output into the Oracle table . . .&lt;br /&gt;#Solaris&lt;br /&gt;cat /tmp/msg$$|sed 1,3d | awk '{printf("%s %s %s %s %s\n",$1,$8,$9,$4,$5)}' | while read RUNQUE PAGE_IN PAGE_OUT FREE_SWAP FREE_MEMORY&lt;br /&gt;   do&lt;br /&gt;      $ORACLE_HOME/bin/sqlplus -s system/xxxxxx@$1 &lt;&lt;EOF &gt;/dev/null&lt;br /&gt;      insert into system.osmon_vmstats(sample_date, sample_time, server_name, runque, page_in, page_out, free_swap, free_memory)&lt;br /&gt;           values (SYSDATE, $SAMPLE_TIME, '$SERVER_NAME', $RUNQUE, $PAGE_IN, $PAGE_OUT, $FREE_SWAP, $FREE_MEMORY);&lt;br /&gt;      commit;&lt;br /&gt;      exit;&lt;br /&gt;EOF&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;rm /tmp/msg$$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Disk I/O:&lt;/strong&gt;&lt;br /&gt;iostat -xnp.&lt;br /&gt;&lt;br /&gt;CREATE TABLE SYSTEM.OSMON_IOSTATS&lt;br /&gt;(&lt;br /&gt;  SAMPLE_DATE         DATE,&lt;br /&gt;  SERVER_NAME         VARCHAR2(50),&lt;br /&gt;  READS_PER_SEC       NUMBER,&lt;br /&gt;  WRITES_PER_SEC      NUMBER,&lt;br /&gt;  KB_READS_PER_SEC    NUMBER,&lt;br /&gt;  KB_WRITES_PER_SEC   NUMBER,&lt;br /&gt;  PERCENT_TRANS_WAIT  NUMBER,&lt;br /&gt;  PERCENT_DISK_BUSY   NUMBER,&lt;br /&gt;  FILE_SYSTEM_DEVICE  VARCHAR2(50),&lt;br /&gt;  MOUNT_POINT         VARCHAR2(10)&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$ cat iostat.sh (Replace physic device names in below INSERT statement)&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;############################################################&lt;br /&gt;# File Name   : iostat.sh&lt;br /&gt;# Author      : Vijay Dumpa&lt;br /&gt;# Usage       : iostat.sh ORACLE_SID&lt;br /&gt;#&lt;br /&gt;# Modification History&lt;br /&gt;# Who      When     What&lt;br /&gt;# -------- -------- ----------------------------------------&lt;br /&gt;#&lt;br /&gt;#############################################################&lt;br /&gt;##&lt;br /&gt;# Set up environment for job&lt;br /&gt;##&lt;br /&gt;#set -x&lt;br /&gt;ORACLE_SID=$1; export ORACLE_SID&lt;br /&gt;ORACLE_HOME=`cat /var/opt/oracle/oratab | grep -v "#" | grep $ORACLE_SID | cut -d ":" -f2`; export ORACLE_HOME&lt;br /&gt;PATH=$ORACLE_HOME/bin:$PATH; export PATH&lt;br /&gt;SERVER_NAME=`uname -a|awk '{print $2}'`; export SERVER_NAME&lt;br /&gt;&lt;br /&gt;iostat -xnp &gt; /tmp/msg_io&lt;br /&gt;cat /tmp/msg_io | grep s6 &gt; /tmp/msg$$&lt;br /&gt;&lt;br /&gt;# Run iostat and direct the output into the Oracle table . . .&lt;br /&gt;#Solaris&lt;br /&gt;cat /tmp/msg$$| awk '{printf("%s %s %s %s %s %s %s\n",$1,$2,$3,$4,$9,$10,$11)}' | while read READS_PER_SEC WRITES_PER_SEC KB_READS_PER_SEC KB_WRITES_PER_SEC PERCENT_TRANS_WAIT PERCENT_DISK_BUSY FILE_SYSTEM_DEVICE&lt;br /&gt;   do&lt;br /&gt;      $ORACLE_HOME/bin/sqlplus -s system/xxxxxx@$1 &lt;&lt;EOF &gt;/dev/null&lt;br /&gt;      insert into system.osmon_iostats (sample_date, server_name, reads_per_sec, writes_per_sec, kb_reads_per_sec, kb_writes_per_sec,&lt;br /&gt;                                   percent_trans_wait, percent_disk_busy, file_system_device, mount_point)&lt;br /&gt;           values (SYSDATE, '$SERVER_NAME', $READS_PER_SEC, $WRITES_PER_SEC, $KB_READS_PER_SEC, $KB_WRITES_PER_SEC,&lt;br /&gt;                   $PERCENT_TRANS_WAIT, $PERCENT_DISK_BUSY, '$FILE_SYSTEM_DEVICE',&lt;br /&gt;                   (case when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx1' then 'u01'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx2' then 'u02'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx3' then 'u03'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx4' then 'u04'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx5' then 'u05'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx6' then 'u06'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx7' then 'u07'&lt;br /&gt;                         when '$FILE_SYSTEM_DEVICE' = 'xxxxxxxxxxxxxxxxxxxxxxxx8' then 'u08'&lt;br /&gt;                          else 'new'&lt;br /&gt;                    end)&lt;br /&gt;                   );&lt;br /&gt;      commit;&lt;br /&gt;      exit;&lt;br /&gt;EOF&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;rm /tmp/msg_io&lt;br /&gt;rm /tmp/msg$$&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DB Trend Analysis:&lt;/strong&gt;&lt;br /&gt;What STATSPACK, AWR Data is Best for Trend Analysis? &lt;br /&gt;With hundreds of statistics available in STATSPACK, AWR the question arises as to what metrics are the most useful? &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sorts:&lt;/strong&gt;&lt;br /&gt;It is important to monitor the amount of sorting in the database, especially the amount of sorting that is done in the TEMP tablespace (sorts (disk)). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Physical disk reads:&lt;/strong&gt;&lt;br /&gt;The reduction of I/O is the primary goal of Oracle tuning, so a trend report showing hourly disk reads can be very useful for measuring the effect of table reorganizations the re-sequence rows into index order. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Physical disk writes:&lt;/strong&gt;&lt;br /&gt;The amount of disk writes has a great impact on the overall throughput of the Oracle database, and is especially important when rollback segment activity is critical. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I/O waits:&lt;/strong&gt;&lt;br /&gt;This is a very important metric that can be used to identify and correct I/O contention. High I/O waits occur when two or more data files are being accessed simultaneously and the read-write head movement of the DASD causes the disk to wait for the completion of I/O. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Buffer Busy Waits:&lt;/strong&gt;&lt;br /&gt;A buffer bust wait occurs when a Oracle data block resides in a buffer, but the requesting program must wait to retrieve the data block. &lt;br /&gt;Buffer Busy Waits can commonly occur when a table has concurrent 'UPDATE' or 'INSERT DML' and only one freelist is defined for the table. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Redo log space requests:&lt;/strong&gt;&lt;br /&gt;Redo Log space requests occur when the log buffer is too small to hold the volume of redo log activity. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Latch pin hit ratio:&lt;/strong&gt;&lt;br /&gt;The pin hit ratios for the database instance give a good idea of the sizing of the shared_pool_size parameter in the init.ora file. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Table Fetch Continued Row:&lt;/strong&gt;&lt;br /&gt;This metric give a general indication of database migrated/chained rows. When chaining becomes excessive, additional I/O is required to service a query, and the DBA should increase PCTFREE for the table and reorganize the table to remove the chains.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web Page Load Trend Analysis:&lt;/strong&gt;&lt;br /&gt;It's very importance to see, how the web pages are getting  benefited by the particular DB change or any change(like Code, OS etc..).&lt;br /&gt;&lt;br /&gt;Idea is to use IIS, Apache log file to generate webpage load report for that day.&lt;br /&gt;Some thing like this:&lt;br /&gt;&lt;br /&gt;Total Pages served :  22606&lt;br /&gt;&lt;br /&gt;Pages 0 to 5 secs :  20041 (88.65%)&lt;br /&gt;Pages 6 to 10 secs :  1515 (6.70%)&lt;br /&gt;Pages 11 to 30 secs :   xxxx (3%)&lt;br /&gt;Pages more than 31 secs :  xxxx (2.65%)&lt;br /&gt;&lt;br /&gt;and Display TOP 10 pages URL's.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to generate a web page load report from IIS log:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;&lt;br /&gt;As part of this, you have to enable extended logging for cs-uri-stem and time-taken fields and also make sure the positions of the fields are 6 and 15 in IIS log file.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Perl Script:&lt;/strong&gt; gen_IIS_webpage_load_report.pl (Schedule below script to run daily from Windows scheduler at 11:50pm after modifying email names, subject and log file location)&lt;br /&gt;&lt;br /&gt;#!perl&lt;br /&gt;&lt;br /&gt;use Time::localtime;&lt;br /&gt;use Net::SMTP;&lt;br /&gt;use Mail::Sender;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $month = localtime-&gt;mon + 1;&lt;br /&gt;#print "Month: $month\n";&lt;br /&gt;my $day = localtime-&gt;mday;&lt;br /&gt;#print "Day: $day\n";&lt;br /&gt;my $year = localtime-&gt;year + 1900;&lt;br /&gt;$year = sprintf("%02d", $year % 100);&lt;br /&gt;my $hour = localtime-&gt;hour;&lt;br /&gt;my $min = localtime-&gt;min;&lt;br /&gt;my $second = localtime-&gt;sec;&lt;br /&gt; &lt;br /&gt;if ($month &lt; 10) {&lt;br /&gt;   $month = "0$month";&lt;br /&gt;}&lt;br /&gt;if ($day &lt; 10) {&lt;br /&gt;   $day = "0$day";&lt;br /&gt; #  print "Day after 0: $day\n";&lt;br /&gt;}&lt;br /&gt;if ($hour &lt; 10) {&lt;br /&gt;   $hour = "0$hour";&lt;br /&gt;}&lt;br /&gt;if ($min &lt; 10) {&lt;br /&gt;   $min = "0$min";&lt;br /&gt;}&lt;br /&gt;if ($second &lt; 10) {&lt;br /&gt;   $second = "0$second";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;my $tmpDate = `date \/T`;&lt;br /&gt;my $tmpTime = $hour . ":" . $min . ":" . $second;&lt;br /&gt;&lt;br /&gt;my $dateNow = $tmpDate . $tmpTime;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;my $time = $year . $month . $day;&lt;br /&gt;#print "Time: $time\n";&lt;br /&gt;&lt;br /&gt;my $alog = "c:\\perl_scripts\\windows\\" . "ex" . $time . ".log";&lt;br /&gt;#print "Alog: $alog\n";&lt;br /&gt;&lt;br /&gt;my $tmpFile0 = "c:\\perl_scripts\\windows\\tmplist0." . $time;&lt;br /&gt;#print "TmpFile0: $tmpFile0\n";&lt;br /&gt;my $tmpFile1 = "c:\\perl_scripts\\windows\\tmplist1." . $time;&lt;br /&gt;#print "TmpFile1: $tmpFile1\n";&lt;br /&gt;my $tmpFile2 = "c:\\perl_scripts\\windows\\tmplist2." . $time;&lt;br /&gt;#print "TmpFile2: $tmpFile2\n";&lt;br /&gt;my $tmpFile3 = "c:\\perl_scripts\\windows\\tmplist3." . $time;&lt;br /&gt;#print "TmpFile3: $tmpFile3\n";&lt;br /&gt;my $tmpFile4 = "c:\\perl_scripts\\windows\\tmplist4." . $time . ".html";&lt;br /&gt;#print "TmpFile4: $tmpFile4\n";&lt;br /&gt;my $tmpFile5 = "c:\\perl_scripts\\windows\\tmplist5." . $time;&lt;br /&gt;#print "TmpFile5: $tmpFile5\n";&lt;br /&gt;my $tmpFile6 = "c:\\perl_scripts\\windows\\tmplist6." . $time;&lt;br /&gt;#print "TmpFile6: $tmpFile6\n";&lt;br /&gt;my $tmpFile7 = "c:\\perl_scripts\\windows\\tmplist7." . $time;&lt;br /&gt;#print "TmpFile6: $tmpFile7\n";&lt;br /&gt;&lt;br /&gt;my $plusZero = 0;&lt;br /&gt;my $plusFive = 0;&lt;br /&gt;my $plusTen = 0;&lt;br /&gt;my $plusFifteen = 0;&lt;br /&gt;my $plusTwenty = 0;&lt;br /&gt;my $plusTwentyFive = 0;&lt;br /&gt;my $plusThirty = 0;&lt;br /&gt;my $pageCnt = 0;&lt;br /&gt;my $lineCnt = 0;&lt;br /&gt;&lt;br /&gt;open (TMPFILE5, "&gt;&gt;$tmpFile5") or die "Cannot open $tmpFile5: $!";&lt;br /&gt;open (TMPFILE0, "&gt;$tmpFile0") or die "Cannot open $tmpFile0: $!";&lt;br /&gt;open (LOG, "$alog") or die "Cannot open $alog: $!";&lt;br /&gt;while (&lt;LOG&gt;) {&lt;br /&gt;   my $line = $_;&lt;br /&gt; #  print "Line from log: $line\n";&lt;br /&gt;   chomp $line;&lt;br /&gt;   $lineCnt++;&lt;br /&gt;   ($date,$fileTime,$sitname,$computerName,$sip,$method,$uriStem,$query,$port,$username,$cip,$csVersion,$csUserAgent,$csCookie,$csReferer,$csHost,$scStatus,$subStatus,$win32Status,$scBytes,$csBytes,$timeTaken) = split(/\s+/, $line);&lt;br /&gt;   if ($lineCnt == 4) {&lt;br /&gt;       if ($line !~ /time-taken$/) {&lt;br /&gt;          sendMailMessage("message.xyzCompanyname.com", "firstname.lastname\@xyzCompanyname.com", "firstname.lastname\@xyzCompanyname.com", "$alog is not formatted as expected.  Time taken field in $alog is blank.\n", "XYZsite Prod Report - Log not formatted correctly");&lt;br /&gt;          #system ("c:\\blat.exe \"$alog is not formatted as expected.  Time taken field in $alog is blank.\n\" -server message.xyzCompanyname.com -f firstname.lastname\@xyzCompanyname.com -to firstname.lastname\@xyzCompanyname.com -s \"Log not formatted correctly\"");&lt;br /&gt;    exit 1;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   #print "TimeTaken: $timeTaken\n";&lt;br /&gt;      if ($uriStem =~ m/.asp/) {&lt;br /&gt;  #       print "$uriStem : $timeTaken\n";&lt;br /&gt;         print TMPFILE0 $uriStem . " " . $timeTaken . "\n";&lt;br /&gt;      }&lt;br /&gt;      $pageCnt++;&lt;br /&gt;      #print "PageCnt: $pageCnt\n";&lt;br /&gt;&lt;br /&gt;      if ($timeTaken &lt; 500) {   &lt;br /&gt;         $plusZero++;&lt;br /&gt;   #      print "$plusZero\n";&lt;br /&gt;      } elsif ($timeTaken &lt; 1000) {&lt;br /&gt;         $plusFive++;&lt;br /&gt;    #     print "$plusFive\n";&lt;br /&gt;      } elsif ($timeTaken &lt; 1500) {&lt;br /&gt;         $plusTen++;&lt;br /&gt;     #    print "$plusTen\n";&lt;br /&gt;      } elsif ($timeTaken &lt; 2000) {&lt;br /&gt;         $plusFifteen++;&lt;br /&gt;      #   print "$plusFifteen\n";&lt;br /&gt;      } elsif ($timeTaken &lt; 2500) {&lt;br /&gt;         $plusTwenty++;&lt;br /&gt;       #  print "$plusTwenty\n";&lt;br /&gt;      } elsif ($timeTaken &lt; 3000) {&lt;br /&gt;         $plusTwentyFive++;&lt;br /&gt;        # print "$plusTwentyFive\n";&lt;br /&gt;      } elsif ($timeTaken &gt;= 3000) {&lt;br /&gt;         $plusThirty++;&lt;br /&gt;         #print "$plusThirty\n";&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   print TMPFILE5 "PAGECNT:$pageCnt\n";&lt;br /&gt;   print TMPFILE5 "PLUSZERO:$plusZero\n";&lt;br /&gt;   print TMPFILE5 "PLUSFIVE:$plusFive\n";&lt;br /&gt;   print TMPFILE5 "PLUSTEN:$plusTen\n";&lt;br /&gt;   print TMPFILE5 "PLUSFIFTEEN:$plusFifteen\n";&lt;br /&gt;   print TMPFILE5 "PLUSTWENTY:$plusTwenty\n";&lt;br /&gt;   print TMPFILE5 "PLUSTWENTYFIVE:$plusTwentyFive\n";&lt;br /&gt;   print TMPFILE5 "PLUSTHIRTY:$plusThirty\n";&lt;br /&gt;&lt;br /&gt;   close(LOG);&lt;br /&gt;   close(TMPFILE0);&lt;br /&gt;   close(TMPFILE5);&lt;br /&gt;&lt;br /&gt;   open (TMPFILE0, "$tmpFile0") or die "Cannot open $tmpFile0: $!";&lt;br /&gt;   #open (TMPFILE1, "&gt;$tmpFile1") or die "Cannot open $tmpFile1: $!";&lt;br /&gt;   open (TMPFILE2, "&gt;$tmpFile2") or die "Cannot open $tmpFile2: $!";&lt;br /&gt;&lt;br /&gt;   my @unique = ();&lt;br /&gt;   my @long = ();&lt;br /&gt;&lt;br /&gt;   while (&lt;TMPFILE0&gt;) {&lt;br /&gt;      my $line2 = $_;&lt;br /&gt;      chomp($line2);&lt;br /&gt;      ($uriStem, $timeTaken) = split(/\s+/, $line2);   &lt;br /&gt;     &lt;br /&gt;      unless($i{$_}++) {&lt;br /&gt;         push(@long, $timeTaken);&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   foreach $time3 (@long) {&lt;br /&gt;      printf TMPFILE2 ("%09d", $time3);&lt;br /&gt;      print TMPFILE2 "\n";&lt;br /&gt;   }&lt;br /&gt;   close(TMPFILE2);&lt;br /&gt;&lt;br /&gt;   open (TMPFILE2, "$tmpFile2") or die "Cannot open $tmpFile2: $!";&lt;br /&gt;   my @long2 = &lt;TMPFILE2&gt;;&lt;br /&gt;   close(TMPFILE2);&lt;br /&gt;&lt;br /&gt;   @sorted = reverse sort @long2;&lt;br /&gt;   #print "sorted: @sorted\n";&lt;br /&gt;&lt;br /&gt;   my $count = 0;&lt;br /&gt;&lt;br /&gt;   open (TMPFILE6, "&gt;$tmpFile6") or die "Cannot open $tmpFile6: $!";&lt;br /&gt;   foreach $sortedTime (@sorted) {&lt;br /&gt;      $count++;&lt;br /&gt;      if ($count &lt;= 10) {&lt;br /&gt;         $sortedTime =~ s/^0*//;&lt;br /&gt;      print TMPFILE6 $sortedTime;&lt;br /&gt;      }&lt;br /&gt;   }   &lt;br /&gt;   close(TMPFILE6);&lt;br /&gt;   close(TMPFILE0);&lt;br /&gt;#close(TMPFILE1);&lt;br /&gt;   close(TMPFILE2);&lt;br /&gt;&lt;br /&gt;   open (TMPFILE6, "$tmpFile6") or die "Cannot open $tmpFile6: $!";&lt;br /&gt;   my @sortedTimes = &lt;TMPFILE6&gt;;&lt;br /&gt;   #print "SortedTimes: @sortedTimes\n";&lt;br /&gt;   close(TMPFILE6);&lt;br /&gt;&lt;br /&gt;   my @maxTime = ();&lt;br /&gt;   open (TMPFILE3, "&gt;$tmpFile3") or die "Cannot open $tmpFile3: $!\n";&lt;br /&gt;   open (TMPFILE0, "$tmpFile0") or die "Cannot open $tmpFile0: $!";&lt;br /&gt;   my $match = "";&lt;br /&gt;&lt;br /&gt;   while (&lt;TMPFILE0&gt;) {&lt;br /&gt;      my $line2 = $_;&lt;br /&gt;      chomp($line2);&lt;br /&gt;   #print "Line2: $line\n";&lt;br /&gt;      foreach $num (@sortedTimes) {&lt;br /&gt;         if (/$num/) {    &lt;br /&gt;           $match = $line2;&lt;br /&gt;     print TMPFILE3 "$match\n";&lt;br /&gt;      } &lt;br /&gt;    }&lt;br /&gt;   #($timeTaken) = split(/\s+/, $line2);   &lt;br /&gt;   #push(@unique, $uriStem);&lt;br /&gt;   &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   close(TMPFILE0);&lt;br /&gt;   #close(TMPFILE1);&lt;br /&gt;   close(TMPFILE2);&lt;br /&gt;   close(TMPFILE3);&lt;br /&gt;&lt;br /&gt;   my @temp = ();&lt;br /&gt;   my @sortTemp = ();&lt;br /&gt;   open (TMPFILE7, "&gt;$tmpFile7") or die "Cannot open $tmpFile7: $!";&lt;br /&gt;   open (TMPFILE3, "$tmpFile3") or die "Cannot open $tmpFile3: $!";&lt;br /&gt;   while (&lt;TMPFILE3&gt;) {&lt;br /&gt;      my $line4 = $_;&lt;br /&gt;      chomp($line);&lt;br /&gt;      ($uri, $ttaken) = split(/\s+/, $line4);&lt;br /&gt;    #  print "$uri  :  $ttaken"; &lt;br /&gt;      $ttaken2 = sprintf("%09d", $ttaken);&lt;br /&gt;    #  print "T Taken: $ttaken2\n";  &lt;br /&gt;      print TMPFILE7 "$ttaken2:$uri\n";&lt;br /&gt;   }&lt;br /&gt;   close(TMPFILE7);&lt;br /&gt;   close(TMPFILE3);&lt;br /&gt;&lt;br /&gt;   open (TMPFILE7, "$tmpFile7") or die "Cannot open $tmpFile7: $!";&lt;br /&gt;   @temp = &lt;TMPFILE7&gt;;&lt;br /&gt;   @sortTemp = reverse sort @temp;&lt;br /&gt;   #print "Sort Temp: @sortTemp\n";&lt;br /&gt;   close(TMPFILE7);&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;   open (TMPFILE5, "$tmpFile5") or die "Cannot open $tmpFile5: $!";&lt;br /&gt;   while (&lt;TMPFILE5&gt;) {&lt;br /&gt;      my $line3 = $_;&lt;br /&gt;      chomp($line3);&lt;br /&gt;      ($label, $field) = split (/:/, $line3);&lt;br /&gt;      if ($label eq "PAGECNT") {&lt;br /&gt;         $pageCnt = $field;&lt;br /&gt;      } elsif ($label eq "PLUSZERO") {&lt;br /&gt;         $plusZero = $field;&lt;br /&gt;      } elsif ($label eq "PLUSFIVE") {&lt;br /&gt;         $plusFive = $field;&lt;br /&gt;      } elsif ($label eq "PLUSTEN") {&lt;br /&gt;         $plusTen = $field;&lt;br /&gt;      } elsif ($label eq "PLUSFIFTEEN") {&lt;br /&gt;         $plusFifteen = $field;&lt;br /&gt;      } elsif ($label eq "PLUSTWENTY") {&lt;br /&gt;         $plusTwenty = $field;&lt;br /&gt;      } elsif ($label eq "PLUSTWENTYFIVE") {&lt;br /&gt;         $plusTwentyFive = $field;&lt;br /&gt;      } elsif ($label eq "PLUSTHIRTY") {&lt;br /&gt;         $plusThirty = $field;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   close(TMPFILE5);&lt;br /&gt;&lt;br /&gt;   my $plusZeroCalc = ($plusZero/$pageCnt) * 100;&lt;br /&gt;   my $plusFiveCalc = ($plusFive/$pageCnt) * 100;&lt;br /&gt;   my $plusTenCalc = ($plusTen/$pageCnt) * 100;&lt;br /&gt;   my $plusFifteenCalc = ($plusFifteen/$pageCnt) * 100;&lt;br /&gt;   my $plusTwenyCalc = ($plusTwenty/$pageCnt) * 100;&lt;br /&gt;   my $plusTwentyFiveCalc = ($plusTwentyFive/$pageCnt) * 100;&lt;br /&gt;   my $plusThirtyCalc = ($plusThirty/$pageCnt) * 100;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   open (TMPFILE4, "&gt;&gt;$tmpFile4") or die "Cannot open $tmpFile4: $!";&lt;br /&gt;   print TMPFILE4 "Content-Type: text/html; charset=\"US-ASCII\"";&lt;br /&gt;&lt;br /&gt;   print TMPFILE4 "&lt; HTML&gt;&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Total Pages served   :&lt;/B&gt;$pageCnt&lt;BR&gt;";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 0 to 5 secs   :&lt;/B&gt;$plusZero (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusZeroCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 6 to 10 secs   :&lt;/B&gt;$plusFive (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusFiveCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 11 to 15 secs   :&lt;/B&gt;$plusTen (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusTenCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 16 to 20 secs   :&lt;/B&gt;$plusFifteen (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusFifteenCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 21 to 25 secs   :&lt;/B&gt;$plusTwenty (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusTwentyCalc);&lt;br /&gt;   print TMPFILE4 "\%\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages 26 to 30 secs   :&lt;/B&gt;$plusTwentyFive (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusTwentyFiveCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n";&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;B&gt;Pages +31 secs   :&lt;/B&gt;$plusThirty (";&lt;br /&gt;   printf TMPFILE4 ("%.2f",$plusThirtyCalc);&lt;br /&gt;   print TMPFILE4 "\%)\n"; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   print TMPFILE4 "&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Top 10 Slow XYZsite Production Web Pages for $dateNow&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;";&lt;br /&gt;   foreach my $line5 (@sortTemp) { &lt;br /&gt;      ($ttake, $url) = split(/:/, $line5);&lt;br /&gt;      my $tt = $ttake;&lt;br /&gt;      $tt =~ s/^0*//;&lt;br /&gt;      print TMPFILE4 "&lt;B&gt;URL: $url&lt;/B&gt;\n";&lt;br /&gt;      print TMPFILE4 "&lt;BR&gt;&lt;B&gt;MilliSeconds: &lt;/B&gt;$tt\n&lt;BR&gt;&lt;BR&gt;";&lt;br /&gt;   }&lt;br /&gt;   close(TMPFILE4);&lt;br /&gt;&lt;br /&gt;   $sender = new Mail::Sender {[from =&gt; 'firstname.lastname@xyzCompanyname.com'], [to =&gt; 'firstname.lastname@xyzCompanyname.com']};&lt;br /&gt;   (ref ($sender-&gt;MailFile( {from =&gt; 'firstname.lastname@xyzCompanyname.com', to =&gt; 'firstname.lastname@xyzCompanyname.com, firstname2.lastname2@xyzCompanyname.com', smtp=&gt; 'message.xyzCompanyname.com', subject=&gt;"XYZsite Prod Web Page Report - $tmpDate", msg =&gt; "XYZsite Prod Web Page Report - $tmpDate\n\n", file =&gt; "$tmpFile4"})) and print "Mail sent OK.") or die "$Mail::Sender::Error\n";&lt;br /&gt;&lt;br /&gt;   unlink "$tmpFile0";&lt;br /&gt;   unlink "$tmpFile1";&lt;br /&gt;   unlink "$tmpFile2";&lt;br /&gt;   unlink "$tmpFile3";&lt;br /&gt;   unlink "$tmpFile4";&lt;br /&gt;   unlink "$tmpFile5";&lt;br /&gt;   unlink "$tmpFile6";&lt;br /&gt;   unlink "$tmpFile7";&lt;br /&gt;&lt;br /&gt;   sub sendMailMessage {&lt;br /&gt;      my $serverName = shift @_;&lt;br /&gt;      my $fromAddress = shift @_;&lt;br /&gt;      my $toAddress = shift @_;&lt;br /&gt;      my $theMessage = shift @_;&lt;br /&gt;      my $theSubject = shift @_;&lt;br /&gt;      $smtp = Net::SMTP-&gt;new($serverName);&lt;br /&gt;      $smtp-&gt;mail($fromAddress);&lt;br /&gt;      $smtp-&gt;to($toAddress);&lt;br /&gt;      $smtp-&gt;data();&lt;br /&gt;      $smtp-&gt;datasend("To: $toAddress");&lt;br /&gt;      $smtp-&gt;datasend("\n");&lt;br /&gt;      $smtp-&gt;datasend("Subject: $theSubject \n");&lt;br /&gt;      $smtp-&gt;datasend("\n");&lt;br /&gt;      $smtp-&gt;datasend($theMessage);&lt;br /&gt;      $smtp-&gt;dataend();&lt;br /&gt;      $smtp-&gt;quit;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to generate a web page load report from Apache log:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;&lt;br /&gt;Add below like in the apache config's file.&lt;br /&gt;&lt;br /&gt;LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{User-Agent}i\" %T"&lt;br /&gt;Note the %T at the end. This is where those #'s come from. The "normal" apache config doesn't usually include that %T.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Shell Script:&lt;/strong&gt; gen_apache_webpage_load_report.sh (Schedule below script to runs daily from cron at 11:50pm after modifying email names, subject and log file location)&lt;br /&gt;&lt;br /&gt;$ cat gen_apache_webpage_load_report.sh&lt;br /&gt;&lt;br /&gt;#!/bin/ksh&lt;br /&gt;############################################################&lt;br /&gt;# File Name   : gen_apache_webpage_load_report.sh&lt;br /&gt;# Author      : Vijay Dumpa&lt;br /&gt;# Usage       : gen_apache_webpage_load_report.sh&lt;br /&gt;#&lt;br /&gt;# Modification History&lt;br /&gt;# Who      When     What&lt;br /&gt;# -------- -------- ----------------------------------------&lt;br /&gt;#&lt;br /&gt;#############################################################&lt;br /&gt;##&lt;br /&gt;# Set up environment for the job&lt;br /&gt;##&lt;br /&gt;#set -x&lt;br /&gt;TMPFILE0=/tmp/tmplist0.$$&lt;br /&gt;TMPFILE1=/tmp/tmplist1.$$&lt;br /&gt;TMPFILE2=/tmp/tmplist2.$$&lt;br /&gt;TMPFILE3=/tmp/tmplist3.$$&lt;br /&gt;TMPFILE4=/tmp/tmplist4.$$&lt;br /&gt;&lt;br /&gt;ALOG=/local/apache/logs/https/access_log.`date +%y%m%d`&lt;br /&gt;MAILEES=firstname.lastname@xyzCompanyname.com&lt;br /&gt;&lt;br /&gt;PLUSZERO=0&lt;br /&gt;PLUSFIVE=0&lt;br /&gt;PLUSTEN=0&lt;br /&gt;PLUSFIFTEEN=0&lt;br /&gt;PLUSTWENTY=0&lt;br /&gt;PLUSTWENTYFIVE=0&lt;br /&gt;PLUSTHIRTY=0&lt;br /&gt;PAGECNT=0&lt;br /&gt;&lt;br /&gt;# filter the original Apche access log to get the two required fields, and sort them by URL and then in numeric order per URL&lt;br /&gt;egrep -v '.gif|.css|.js|.jpg|.htm|.bmp' $ALOG | awk '{print $NF, " ", $7}' | awk -F\? '{print $1}' | sort -k 2,2 -k 1,1rn &gt; $TMPFILE0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;exec 3&lt;&amp;0 &lt; $TMPFILE0&lt;br /&gt;while read -r INPUT&lt;br /&gt; do&lt;br /&gt;  PAGECNT=`expr $PAGECNT + 1`&lt;br /&gt;  NUM=`echo $INPUT | awk '{print $1}'`&lt;br /&gt;&lt;br /&gt;  if [ $NUM -lt 6 ]; then&lt;br /&gt;    PLUSZERO=`expr $PLUSZERO + 1`&lt;br /&gt;  elif [ $NUM -lt 11 ]; then&lt;br /&gt;    PLUSFIVE=`expr $PLUSFIVE + 1`&lt;br /&gt;  elif [ $NUM -lt 16 ]; then&lt;br /&gt;    PLUSTEN=`expr $PLUSTEN + 1`&lt;br /&gt;  elif [ $NUM -lt 21 ]; then&lt;br /&gt;    PLUSFIFTEEN=`expr $PLUSFIFTEEN + 1`&lt;br /&gt;  elif [ $NUM -lt 26 ]; then&lt;br /&gt;    PLUSTWENTY=`expr $PLUSTWENTY + 1`&lt;br /&gt;  elif [ $NUM -lt 31 ]; then&lt;br /&gt;    PLUSTWENTYFIVE=`expr $PLUSTWENTYFIVE + 1`&lt;br /&gt;  elif [ $NUM -ge 31 ]; then&lt;br /&gt;    PLUSTHIRTY=`expr $PLUSTHIRTY + 1`&lt;br /&gt;  fi&lt;br /&gt; done&lt;br /&gt;exec 0&lt;&amp;3 3&lt;&amp;- &lt;br /&gt;&lt;br /&gt;# filter out the highest value for each URL and make a new list of the top 25&lt;br /&gt;uniq -f 1 $TMPFILE0 | sort -rn | head -25 &gt; $TMPFILE1 &lt;br /&gt;&lt;br /&gt;# sort the main list of all URLs and all times in numeric order, highest first&lt;br /&gt;sort -rn $TMPFILE0 &gt; $TMPFILE2&lt;br /&gt;&lt;br /&gt;# Get all of the timings for each page view, and then take the top 50 columns &lt;br /&gt;exec 3&lt;&amp;0 &lt; $TMPFILE1&lt;br /&gt;while read -r INPUT&lt;br /&gt; do&lt;br /&gt;   TMP1=`echo $INPUT | awk '{print $2}'` &lt;br /&gt;   TMP2=`grep " $TMP1" $TMPFILE2 | awk '{printf "%s, ",$1}'`&lt;br /&gt;   TMP3=`echo $TMP2 | cut -c 1-120 | awk -F, '{print $1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" "$10" "$11" "$12" "$13" "$14" "$15" "$16" "$17" "$18" "$19" "$20" "$21" "$22" "$23" "$24" "$25}'`&lt;br /&gt;   echo  $TMP3:$TMP1 &gt;&gt; $TMPFILE3&lt;br /&gt; done&lt;br /&gt;exec 0&lt;&amp;3 3&lt;&amp;-&lt;br /&gt;&lt;br /&gt;echo "Subject:"XYZsite" Prod web page report - `date`" &gt; $TMPFILE4&lt;br /&gt;echo "Content-Type: text/html; charset=\"US-ASCII\"" &gt;&gt; $TMPFILE4&lt;br /&gt;&lt;br /&gt;echo "&lt; HTML&gt;&lt;B&gt;Total Pages served    :&lt;/B&gt;$PAGECNT\n&lt;BR&gt;" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 0 to 5 secs   :&lt;/B&gt;$PLUSZERO (`echo $PLUSZERO $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 6 to 10 secs  :&lt;/B&gt;$PLUSFIVE (`echo $PLUSFIVE $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 11 to 15 secs :&lt;/B&gt;$PLUSTEN (`echo $PLUSTEN $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 16 to 20 secs :&lt;/B&gt;$PLUSFIFTEEN (`echo $PLUSFIFTEEN $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 21 to 25 secs :&lt;/B&gt;$PLUSTWENTY (`echo $PLUSTWENTY $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages 26 to 30 secs :&lt;/B&gt;$PLUSTWENTYFIVE (`echo $PLUSTWENTYFIVE $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)" &gt;&gt; $TMPFILE4&lt;br /&gt;echo "&lt;BR&gt;&lt;B&gt;Pages +31 secs      :&lt;/B&gt;$PLUSTHIRTY (`echo $PLUSTHIRTY $PAGECNT | awk '{printf "%.2f",(($1/$2)*100)}'`%)\n" &gt;&gt; $TMPFILE4&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Top 10 Page times of the top 25 Slow "XYZsite" Production Web Pages for `date`&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;" &gt;&gt; $TMPFILE4&lt;br /&gt;&lt;br /&gt;# re-sort the list with the slowest pages first&lt;br /&gt;sort -rn $TMPFILE3 | awk -F: '{print "&lt;B&gt;URL: "$2"\n&lt;BR&gt;Seconds: &lt;/B&gt;\n"$1"\n&lt;BR&gt;&lt;BR&gt;"}' &gt;&gt; $TMPFILE4&lt;br /&gt;&lt;br /&gt;cat $TMPFILE4 | /usr/lib/sendmail $MAILEES&lt;br /&gt;&lt;br /&gt;rm $TMPFILE0 $TMPFILE1 $TMPFILE2 $TMPFILE3 $TMPFILE4&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-7959252138706873453?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/7959252138706873453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=7959252138706873453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7959252138706873453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/7959252138706873453'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/12/trend-analysis.html' title='Database Historical Trend Analysis using OS/WEB Tiers'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5231037975286022308</id><published>2008-10-17T12:14:00.000-04:00</published><updated>2008-10-21T00:29:51.054-04:00</updated><title type='text'>How to Shrink the datafiles in Oracle</title><content type='html'>&lt;strong&gt;1. Script to generate and run to set the maxbytes of the datafiles and shrink the datafiles:&lt;/strong&gt;&lt;br /&gt;SET echo off head off serveroutput off termout off feedback off verify off space 0;&lt;br /&gt;SET linesize 150;&lt;br /&gt;SET pagesize 0;&lt;br /&gt;&lt;br /&gt;COLUMN value new_val blksize;&lt;br /&gt;SELECT VALUE&lt;br /&gt;  FROM v$parameter&lt;br /&gt; WHERE NAME = 'db_block_size'&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;SPOOL gen_setmaxbytes.sql&lt;br /&gt;SELECT 'spool gen_setmaxbytes.log'&lt;br /&gt;  FROM DUAL;&lt;br /&gt;SELECT    'alter database datafile '''&lt;br /&gt;       || file_name&lt;br /&gt;       || ''' autoextend on next 100m maxsize '&lt;br /&gt;       || BYTES / 1024 / 1024&lt;br /&gt;       || 'M;'&lt;br /&gt;  FROM dba_data_files&lt;br /&gt; WHERE maxbytes &lt; BYTES AND maxbytes &gt; 0&lt;br /&gt;UNION ALL&lt;br /&gt;SELECT    'alter database datafile '''&lt;br /&gt;       || file_name&lt;br /&gt;       || ''' autoextend on next 100m maxsize '&lt;br /&gt;       || BYTES / 1024 / 1024&lt;br /&gt;       || 'M;'&lt;br /&gt;  FROM dba_data_files&lt;br /&gt; WHERE maxbytes = 0&lt;br /&gt;UNION ALL&lt;br /&gt;SELECT    'alter database datafile '''&lt;br /&gt;       || file_name&lt;br /&gt;       || ''' resize '&lt;br /&gt;       || maxbytes / 1024 / 1024&lt;br /&gt;       || 'M;'&lt;br /&gt;  FROM dba_data_files&lt;br /&gt; WHERE maxbytes &lt; BYTES AND maxbytes &gt; 0&lt;br /&gt;/&lt;br /&gt;SELECT 'spool off;'&lt;br /&gt;  FROM DUAL;&lt;br /&gt;SPOOL off;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SPOOL gen_shrink_dbfiles.sql&lt;br /&gt;SELECT 'spool gen_shrink_dbfiles.log'&lt;br /&gt;  FROM DUAL;&lt;br /&gt;SELECT    'alter database datafile '''&lt;br /&gt;       || file_name&lt;br /&gt;       || ''' resize '&lt;br /&gt;       || CEIL ((NVL (hwm, 1) * &amp;&amp;blksize) / 1024 / 1024)&lt;br /&gt;       || 'm;' cmd&lt;br /&gt;  FROM dba_data_files a,&lt;br /&gt;       (SELECT   file_id, MAX (block_id + blocks - 1) hwm&lt;br /&gt;            FROM dba_extents&lt;br /&gt;        GROUP BY file_id) b&lt;br /&gt; WHERE a.file_id = b.file_id(+)&lt;br /&gt;   AND   CEIL (blocks * &amp;&amp;blksize / 1024 / 1024)&lt;br /&gt;       - CEIL ((NVL (hwm, 1) * &amp;&amp;blksize) / 1024 / 1024) &gt; 0&lt;br /&gt;/&lt;br /&gt;SELECT 'spool off;'&lt;br /&gt;  FROM DUAL;&lt;br /&gt;SPOOL off;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET echo on feedback on;&lt;br /&gt;&lt;br /&gt;@gen_setmaxbytes.sql&lt;br /&gt;@gen_shrink_dbfiles.sql&lt;br /&gt;&lt;br /&gt;EXIT;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Script to generate rebuild objects at the end of the given datafile:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Note: Replace the file name with actual datafile name; which you are not able to shrink after reorganization, because some objects have extents at the end of the datafile. Check and change the below script for partition tables.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT mst.altst&lt;br /&gt;  FROM (SELECT   'ALTER TABLE ' || owner || '.' || segment_name&lt;br /&gt;                 || ' MOVE;' altst,&lt;br /&gt;                 block_id bid&lt;br /&gt;            FROM dba_extents&lt;br /&gt;           WHERE file_id = (SELECT file_id&lt;br /&gt;                              FROM dba_data_files&lt;br /&gt;                             WHERE file_name = '/u01/oradata/ORASID/ts01.dbf')&lt;br /&gt;             AND segment_type = 'TABLE'&lt;br /&gt;        UNION&lt;br /&gt;        SELECT      'ALTER INDEX '&lt;br /&gt;                 || owner&lt;br /&gt;                 || '.'&lt;br /&gt;                 || segment_name&lt;br /&gt;                 || ' REBUILD;' altst,&lt;br /&gt;                 block_id bid&lt;br /&gt;            FROM dba_extents&lt;br /&gt;           WHERE file_id = (SELECT file_id&lt;br /&gt;                              FROM dba_data_files&lt;br /&gt;                             WHERE file_name = '/u01/oradata/ORASID/ts01.dbf')&lt;br /&gt;             AND segment_type = 'INDEX'&lt;br /&gt;        ORDER BY bid DESC) mst;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5231037975286022308?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5231037975286022308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5231037975286022308' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5231037975286022308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5231037975286022308'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/10/how-to-shrink-datafiles-in-oracle.html' title='How to Shrink the datafiles in Oracle'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-3983576873554720541</id><published>2008-10-03T18:09:00.000-04:00</published><updated>2008-10-22T10:52:20.122-04:00</updated><title type='text'>Database and Server Inventory Management using Oracle Application Express, or APEX (Oracle HTML DB):</title><content type='html'>&lt;strong&gt;1. Download Oracle Application Express:&lt;/strong&gt;&lt;br /&gt;http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Install rpm:&lt;/strong&gt;&lt;br /&gt;Login as root!!!&lt;br /&gt;&lt;br /&gt;rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;[root@dbasvr1 oraclexp]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm&lt;br /&gt;Preparing...                ########################################### [100%]&lt;br /&gt;   1:oracle-xe-univ         ########################################### [100%]&lt;br /&gt;Executing Post-install steps...&lt;br /&gt;&lt;br /&gt;You must run '/etc/init.d/oracle-xe configure' as the root user to&lt;br /&gt;configure the database.&lt;br /&gt;[root@dbasvr1 oraclexp]#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Run /etc/init.d/oracle-xe configure as the root user:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;[root@dbasvr1 oraclexp]# /etc/init.d/oracle-xe configure&lt;br /&gt;&lt;br /&gt;Oracle Database 10g Express Edition Configuration&lt;br /&gt;-------------------------------------------------&lt;br /&gt;This will configure on-boot properties of Oracle Database 10g Express&lt;br /&gt;Edition.  The following questions will determine whether the database should&lt;br /&gt;be starting upon system boot, the ports it will use, and the passwords that&lt;br /&gt;will be used for database accounts.  Press &lt;Enter&gt; to accept the defaults.&lt;br /&gt;Ctrl-C will abort.&lt;br /&gt;&lt;br /&gt;Specify the HTTP port that will be used for Oracle Application Express [8080]:&lt;br /&gt;&lt;br /&gt;Specify a port that will be used for the database listener [1521]:&lt;br /&gt;&lt;br /&gt;Port 1521 appears to be in use by another application. Please specify a different port.&lt;br /&gt;Specify a port that will be used for the database listener [1521]:1525&lt;br /&gt;&lt;br /&gt;Specify a password to be used for database accounts.  Note that the same&lt;br /&gt;password will be used for SYS and SYSTEM.  Oracle recommends the use of&lt;br /&gt;different passwords for each database account.  This can be done after&lt;br /&gt;initial configuration:         -- oracle&lt;br /&gt;Confirm the password:          -- oracle&lt;br /&gt;&lt;br /&gt;Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:y&lt;br /&gt;&lt;br /&gt;Starting Oracle Net Listener...Done&lt;br /&gt;Configuring Database...Done&lt;br /&gt;Starting Oracle Database 10g Express Edition Instance...Done&lt;br /&gt;Installation Completed Successfully.&lt;br /&gt;To access the Database Home Page go to "http://dbasvr1:8080/apex"&lt;br /&gt;[root@dbasvr1 oraclexp]#&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To start the database manually, run this command:&lt;/strong&gt;&lt;br /&gt;$ /etc/init.d/oracle-xe start&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;To stop the database manually, use the following command:&lt;/strong&gt;&lt;br /&gt;$ /etc/init.d/oracle-xe stop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Login and Create users:&lt;/strong&gt;&lt;br /&gt;Login as system user and goto Administration &gt; Manage Database Users and create below users.&lt;br /&gt;&lt;br /&gt;hp_dba/hp_dba&lt;br /&gt;vdumpa/vdumpa&lt;br /&gt;guest/guest&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. Create the database inventory table in hp_dba schema to store the information:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;create sequence hp_dba.db_inv_seq start with 1 increment by 1;&lt;br /&gt;&lt;br /&gt;create table hp_dba.db_inv(&lt;br /&gt;db_no   number(10) primary key,&lt;br /&gt;Business_Unit  varchar2(40),&lt;br /&gt;db_name   varchar2(20),&lt;br /&gt;instance_name  varchar2(20),&lt;br /&gt;server_name  varchar2(30),&lt;br /&gt;Server_config  varchar2(50),&lt;br /&gt;DB_version  varchar2(20),&lt;br /&gt;OS_version  varchar2(20),&lt;br /&gt;DB_Env   varchar2(30),&lt;br /&gt;DB_size   varchar2(20),&lt;br /&gt;SGA_size  varchar2(20),&lt;br /&gt;PGA_size  varchar2(20),&lt;br /&gt;backup_type  varchar2(40),&lt;br /&gt;backup_frequencey varchar2(40),&lt;br /&gt;physical_location varchar2(20),&lt;br /&gt;verified_date  date,&lt;br /&gt;verified_by  varchar2(40),&lt;br /&gt;Primary_DBA  varchar2(30),&lt;br /&gt;Secondary_DBA  varchar2(30),&lt;br /&gt;Customer_name  VARCHAR2(40),&lt;br /&gt;DB_Control_URL varchar2(100),&lt;br /&gt;Description  varchar2(100))&lt;br /&gt;tablespace users;&lt;br /&gt;&lt;br /&gt;grant select on hp_dba.db_inv to guest;&lt;br /&gt;grant select, insert, update, delete on hp_dba.db_inv to vdumpa;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE TRIGGER hp_dba.db_inv_BI&lt;br /&gt;  BEFORE INSERT&lt;br /&gt;  ON hp_dba.db_inv REFERENCING NEW AS NEW OLD AS OLD&lt;br /&gt;  FOR EACH ROW&lt;br /&gt;begin&lt;br /&gt;  if :new.DB_NO is null then&lt;br /&gt;    select db_inv_seq.nextval&lt;br /&gt;      into :new.DB_NO&lt;br /&gt;      from dual;&lt;br /&gt;  end if;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6. Login as hp_dba user to create Application:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a.&lt;/strong&gt; On the Database Home Page, click the Application Builder icon.&lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt; Click the Create button.&lt;br /&gt;&lt;strong&gt;c.&lt;/strong&gt; Under Create Application, select Create Application and click Next.&lt;br /&gt;&lt;strong&gt;d.&lt;/strong&gt; Under Create Application:&lt;br /&gt;   Name: Enter "dbinv".&lt;br /&gt;   Accept the remaining defaults(Application(100)).&lt;br /&gt;   Click Next.&lt;br /&gt;   Next, add pages to your application.&lt;br /&gt;&lt;strong&gt;e.&lt;/strong&gt; Under Add Page:&lt;br /&gt;   For Select Page Type, select Report and Form&lt;br /&gt;   Next to the Table Name field, click the up arrow, and then select db_inv &lt;br /&gt;   from the Search Dialog window.&lt;br /&gt;   Click Add Page.&lt;br /&gt;   Click Next.&lt;br /&gt;&lt;strong&gt;f. &lt;/strong&gt;On the Tabs panel, select Two Level of Tabs and click Next.&lt;br /&gt;&lt;strong&gt;g.&lt;/strong&gt; On the Shared Components panel, accept the default (No) and click Next.&lt;br /&gt;&lt;strong&gt;h. &lt;/strong&gt;For Authentication Scheme, Language, and User Language Preference Derived From, &lt;br /&gt;   accept the defaults and click Next.&lt;br /&gt;&lt;strong&gt;i.&lt;/strong&gt; For the theme, select Theme 2 click Next.&lt;br /&gt;&lt;strong&gt;j.&lt;/strong&gt; After you click Create, the following message displays at the top of the page:&lt;br /&gt;   Application created successfully.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7. Running Your New Application:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;a.&lt;/strong&gt; To run your application, Click the Run Application icon.&lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt; In the log in page, enter hp_dba for both the User Name and Password&lt;br /&gt;&lt;strong&gt;c.&lt;/strong&gt; Search/Edit/Create the values from this page.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;8. Public guest user access link:&lt;/strong&gt;&lt;br /&gt;   http://dbasvr1:8080/apex/f?p=100:1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;9. Backing Up the schema data:&lt;/strong&gt;&lt;br /&gt;EX: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs &gt; cat /etc/oratab&lt;br /&gt;XE:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server:N&lt;br /&gt;&lt;br /&gt;EX: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs &gt; . oraenv&lt;br /&gt;ORACLE_SID = [EX] ? XE&lt;br /&gt;&lt;br /&gt;XE: /home/oracle &gt; exp hp_dba/hp_dba file=exp_hp_dba.dmp&lt;br /&gt;&lt;br /&gt;Export: Release 10.2.0.1.0 - Production on Fri Oct 17 09:00:24 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production&lt;br /&gt;Export done in US7ASCII character set and AL16UTF16 NCHAR character set&lt;br /&gt;server uses AL32UTF8 character set (possible charset conversion)&lt;br /&gt;. exporting pre-schema procedural objects and actions&lt;br /&gt;. exporting foreign function library names for user HP_DBA&lt;br /&gt;. exporting PUBLIC type synonyms&lt;br /&gt;. exporting private type synonyms&lt;br /&gt;. exporting object type definitions for user HP_DBA&lt;br /&gt;About to export HP_DBA's objects ...&lt;br /&gt;. exporting database links&lt;br /&gt;. exporting sequence numbers&lt;br /&gt;. exporting cluster definitions&lt;br /&gt;. about to export HP_DBA's tables via Conventional Path ...&lt;br /&gt;. . exporting table                         DB_INV         37 rows exported&lt;br /&gt;EXP-00091: Exporting questionable statistics.&lt;br /&gt;. exporting synonyms&lt;br /&gt;. exporting views&lt;br /&gt;. exporting stored procedures&lt;br /&gt;. exporting operators&lt;br /&gt;. exporting referential integrity constraints&lt;br /&gt;. exporting triggers&lt;br /&gt;. exporting indextypes&lt;br /&gt;. exporting bitmap, functional and extensible indexes&lt;br /&gt;. exporting posttables actions&lt;br /&gt;. exporting materialized views&lt;br /&gt;. exporting snapshot logs&lt;br /&gt;. exporting job queues&lt;br /&gt;. exporting refresh groups and children&lt;br /&gt;. exporting dimensions&lt;br /&gt;. exporting post-schema procedural objects and actions&lt;br /&gt;. exporting statistics&lt;br /&gt;Export terminated successfully with warnings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-3983576873554720541?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/3983576873554720541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=3983576873554720541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3983576873554720541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3983576873554720541'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/10/new-way-of-database-andor-sever.html' title='Database and Server Inventory Management using Oracle Application Express, or APEX (Oracle HTML DB):'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-3880054562371922573</id><published>2008-07-02T17:49:00.000-04:00</published><updated>2008-10-22T10:55:09.993-04:00</updated><title type='text'>RAC unique backup and restore challenges using OEM Grid Control in 10g:</title><content type='html'>&lt;strong&gt;How different is to backup and restore the RAC database VS. single instance database?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Consider the architectural nature of the Oracle RAC cluster: &lt;br /&gt;In RAC setup, you have at least two different servers, oracle uses this hardware by creating two instances, &lt;br /&gt;one on each node, with their own instance memory area(SGA).&lt;br /&gt;Each instance has its own redo logs, but they exist on the shared disk and are accessible by all the nodes in the cluster.&lt;br /&gt;All controlfiles and datafiles are shared between the two/more instances in the cluster.&lt;br /&gt;&lt;br /&gt;RMAN perspective, this architecture creates interesting challenges for taking backups and restores, rman can connect to only a single node. &lt;br /&gt;This shouldn't pose any problems for taking backup, but we do have a interesting challenge when it comes to restore.&lt;br /&gt;In other words, we have to start the restore from the same node as backup was performed or need to use parms "ENV=(NB_ORA_CLIENT=atlt47)" in your allocate channel command.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CASE:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;br /&gt;In one of our application, customer pre-requisite is to set NLS_DATE_FORMAT to 'RRRR-MON-DD' (default is 'DD-MON-RR').&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Steps:&lt;br /&gt;a. &lt;/strong&gt;&lt;br /&gt;Setting the NLS_DATE_FORMAT to 'RRRR-MON-DD' and restarting the RAC database:&lt;br /&gt;SQL&gt; alter system set NLS_DATE_FORMAT='RRRR-MON-DD' scope=spfile sid='*';&lt;br /&gt;$ srvctl stop database -d DBName&lt;br /&gt;$ srvctl start database -d DBName&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;b.&lt;/strong&gt;&lt;br /&gt;Resetting the NLS_DATE_FORMAT to default: &lt;&lt;&lt;&lt;&lt; user set NLS_DATE_FORMAT to NULL, thinking resetting it to default value!!! and got oracle internal error.&lt;br /&gt;SQL&gt; alter system set NLS_DATE_FORMAT=NULL scope=spfile sid='*';&lt;br /&gt;&lt;br /&gt;$ srvctl stop database -d DBName&lt;br /&gt;$ srvctl start database -d DBName&lt;br /&gt;&lt;br /&gt;ORA-00600: internal error code, arguments: [kccsbck_first], [1], [2792458534], [], [], [], [], []&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1.&lt;/strong&gt;&lt;br /&gt;So user decided to restore the DB to just before step a backup (Yes, user did take full rman backup!!!)&lt;br /&gt;&lt;br /&gt;Important points to observe about the rman full backup:&lt;br /&gt;Backup was taken from OEM GRID on cluster database level, instead of instance level.&lt;br /&gt;In this case backup was taken from node 2(instance 2).&lt;br /&gt;RMAN backup configured to VTL's (Via VERITAS NetBackup for Oracle - Release 5.1).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt;&lt;br /&gt;User who scheduled a rman restore from OEM GRID, thinking that OEM GRID can automatically detect the backup performed node and restores it to point of time requested in the restore.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.&lt;br /&gt;What happened?&lt;/strong&gt;&lt;br /&gt;This time restore job connected to node 1(instance 1) and started the restore and recovery.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Did the restore successful?&lt;/strong&gt;&lt;br /&gt;Yes, but it restored the latest backup taken from the node 1(instance 1), which is 19 days old and it reset the logs to open the database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RMAN error log and restoring 19 days old backup from OEM GRID:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.&lt;br /&gt;&lt;br /&gt;SQL&gt; SQL&gt; Connected to an idle instance.&lt;br /&gt;SQL&gt; SQL&gt; ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 1157627904 bytes&lt;br /&gt;Fixed Size      2072224 bytes&lt;br /&gt;Variable Size    285213024 bytes&lt;br /&gt;Database Buffers   855638016 bytes&lt;br /&gt;Redo Buffers     14704640 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;SQL&gt; Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production&lt;br /&gt;With the Partitioning, Real Application Clusters, OLAP and Data Mining options&lt;br /&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.3.0 - Production on Sun Jun 29 16:26:28 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;connected to target database: ORADB (DBID=390676631, not open)&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;connected to recovery catalog database&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;echo set on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;2&gt; restore database;&lt;br /&gt;3&gt; recover database noredo;&lt;br /&gt;4&gt; }&lt;br /&gt;Starting restore at 29-JUN-08&lt;br /&gt;allocated channel: ORA_DISK_1&lt;br /&gt;channel ORA_DISK_1: sid=1077 instance=ORADB1 devtype=DISK&lt;br /&gt;allocated channel: ORA_DISK_2&lt;br /&gt;channel ORA_DISK_2: sid=1076 instance=ORADB1 devtype=DISK&lt;br /&gt;allocated channel: ORA_DISK_3&lt;br /&gt;channel ORA_DISK_3: sid=1075 instance=ORADB1 devtype=DISK&lt;br /&gt;allocated channel: ORA_DISK_4&lt;br /&gt;channel ORA_DISK_4: sid=1074 instance=ORADB1 devtype=DISK&lt;br /&gt;allocated channel: ORA_SBT_TAPE_1&lt;br /&gt;channel ORA_SBT_TAPE_1: sid=1073 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_1: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_2&lt;br /&gt;channel ORA_SBT_TAPE_2: sid=1072 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_2: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_3&lt;br /&gt;channel ORA_SBT_TAPE_3: sid=1071 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_3: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_4&lt;br /&gt;channel ORA_SBT_TAPE_4: sid=1070 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_4: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_5&lt;br /&gt;channel ORA_SBT_TAPE_5: sid=1069 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_5: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_6&lt;br /&gt;channel ORA_SBT_TAPE_6: sid=1068 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_6: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_7&lt;br /&gt;channel ORA_SBT_TAPE_7: sid=1067 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_7: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;allocated channel: ORA_SBT_TAPE_8&lt;br /&gt;channel ORA_SBT_TAPE_8: sid=1066 instance=ORADB1 devtype=SBT_TAPE&lt;br /&gt;channel ORA_SBT_TAPE_8: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;&lt;br /&gt;channel ORA_SBT_TAPE_2: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_2: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00005 to +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;channel ORA_SBT_TAPE_2: reading from backup piece 0qjk51um_1_1&lt;br /&gt;channel ORA_SBT_TAPE_1: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00006 to +INF_T1_BACKUP_01/qroa1inf/datafile/infinys_data1.ora&lt;br /&gt;channel ORA_SBT_TAPE_1: reading from backup piece 0sjk51un_1_1&lt;br /&gt;channel ORA_SBT_TAPE_3: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_3: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00002 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;channel ORA_SBT_TAPE_3: reading from backup piece 0pjk51um_1_1&lt;br /&gt;channel ORA_SBT_TAPE_4: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_4: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00004 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;channel ORA_SBT_TAPE_4: reading from backup piece 0rjk51un_1_1&lt;br /&gt;channel ORA_SBT_TAPE_5: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_5: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00003 to +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;channel ORA_SBT_TAPE_5: reading from backup piece 0ojk51um_1_1&lt;br /&gt;channel ORA_SBT_TAPE_6: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_6: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00001 to +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;channel ORA_SBT_TAPE_6: reading from backup piece 0njk51um_1_1&lt;br /&gt;ORA-19870: error reading backup piece 0sjk51un_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0sjk51un_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0sjk51un_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0qjk51um_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0qjk51um_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0qjk51um_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0pjk51um_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0pjk51um_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0pjk51um_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0rjk51un_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0rjk51un_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0rjk51un_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0ojk51um_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0ojk51um_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0ojk51um_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0njk51um_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0njk51um_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0njk51um_1_1&gt; not found in NetBackup catalog&lt;br /&gt;failover to previous backup&lt;br /&gt;&lt;br /&gt;channel ORA_SBT_TAPE_3: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_3: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00003 to +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;channel ORA_SBT_TAPE_3: reading from backup piece 0gjk2tut_1_1&lt;br /&gt;channel ORA_SBT_TAPE_1: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00004 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;channel ORA_SBT_TAPE_1: reading from backup piece 0jjk2tuu_1_1&lt;br /&gt;channel ORA_SBT_TAPE_2: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_2: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00005 to +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;channel ORA_SBT_TAPE_2: reading from backup piece 0ijk2tuu_1_1&lt;br /&gt;channel ORA_SBT_TAPE_4: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_4: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00006 to +INF_T1_BACKUP_01/qroa1inf/datafile/infinys_data1.ora&lt;br /&gt;channel ORA_SBT_TAPE_4: reading from backup piece 0kjk2tuu_1_1&lt;br /&gt;channel ORA_SBT_TAPE_5: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_5: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00002 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;channel ORA_SBT_TAPE_5: reading from backup piece 0hjk2tuu_1_1&lt;br /&gt;channel ORA_SBT_TAPE_6: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_6: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00001 to +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;channel ORA_SBT_TAPE_6: reading from backup piece 0fjk2tut_1_1&lt;br /&gt;ORA-19870: error reading backup piece 0jjk2tuu_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0jjk2tuu_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0jjk2tuu_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0ijk2tuu_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0ijk2tuu_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0ijk2tuu_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0gjk2tut_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0gjk2tut_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0gjk2tut_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0kjk2tuu_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0kjk2tuu_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0kjk2tuu_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0hjk2tuu_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0hjk2tuu_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0hjk2tuu_1_1&gt; not found in NetBackup catalog&lt;br /&gt;ORA-19870: error reading backup piece 0fjk2tut_1_1&lt;br /&gt;ORA-19507: failed to retrieve sequential file, handle="0fjk2tut_1_1", parms=""&lt;br /&gt;ORA-27029: skgfrtrv: sbtrestore returned error&lt;br /&gt;ORA-19511: Error received from media manager layer, error text:&lt;br /&gt;   Backup file &lt;0fjk2tut_1_1&gt; not found in NetBackup catalog&lt;br /&gt;failover to previous backup&lt;br /&gt;&lt;br /&gt;the filename for datafile 6 is missing in the control file&lt;br /&gt;channel ORA_SBT_TAPE_4: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_4: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00003 to +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;channel ORA_SBT_TAPE_4: reading from backup piece 09jjvff1_1_1&lt;br /&gt;channel ORA_SBT_TAPE_1: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00005 to +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;channel ORA_SBT_TAPE_1: reading from backup piece 0djjvff2_1_1&lt;br /&gt;channel ORA_SBT_TAPE_2: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_2: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00004 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;channel ORA_SBT_TAPE_2: reading from backup piece 0bjjvff1_1_1&lt;br /&gt;channel ORA_SBT_TAPE_3: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_3: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00002 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;channel ORA_SBT_TAPE_3: reading from backup piece 0ajjvff1_1_1&lt;br /&gt;channel ORA_SBT_TAPE_5: starting datafile backupset restore&lt;br /&gt;channel ORA_SBT_TAPE_5: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00001 to +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;channel ORA_SBT_TAPE_5: reading from backup piece 08jjvff1_1_1&lt;br /&gt;channel ORA_SBT_TAPE_1: restored backup piece 1&lt;br /&gt;piece handle=0djjvff2_1_1 tag=BACKUP_ORADB.WO_062708093125&lt;br /&gt;channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:03:25&lt;br /&gt;channel ORA_SBT_TAPE_2: restored backup piece 1&lt;br /&gt;piece handle=0bjjvff1_1_1 tag=BACKUP_ORADB.WO_062708093125&lt;br /&gt;channel ORA_SBT_TAPE_2: restore complete, elapsed time: 00:03:40&lt;br /&gt;channel ORA_SBT_TAPE_3: restored backup piece 1&lt;br /&gt;piece handle=0ajjvff1_1_1 tag=BACKUP_ORADB.WO_062708093125&lt;br /&gt;channel ORA_SBT_TAPE_3: restore complete, elapsed time: 00:03:40&lt;br /&gt;channel ORA_SBT_TAPE_4: restored backup piece 1&lt;br /&gt;piece handle=09jjvff1_1_1 tag=BACKUP_ORADB.WO_062708093125&lt;br /&gt;channel ORA_SBT_TAPE_4: restore complete, elapsed time: 00:03:40&lt;br /&gt;channel ORA_SBT_TAPE_5: restored backup piece 1&lt;br /&gt;piece handle=08jjvff1_1_1 tag=BACKUP_ORADB.WO_062708093125&lt;br /&gt;channel ORA_SBT_TAPE_5: restore complete, elapsed time: 00:03:40&lt;br /&gt;Finished restore at 29-JUN-08&lt;br /&gt;&lt;br /&gt;Starting recover at 29-JUN-08&lt;br /&gt;using channel ORA_DISK_1&lt;br /&gt;using channel ORA_DISK_2&lt;br /&gt;using channel ORA_DISK_3&lt;br /&gt;using channel ORA_DISK_4&lt;br /&gt;using channel ORA_SBT_TAPE_1&lt;br /&gt;using channel ORA_SBT_TAPE_2&lt;br /&gt;using channel ORA_SBT_TAPE_3&lt;br /&gt;using channel ORA_SBT_TAPE_4&lt;br /&gt;using channel ORA_SBT_TAPE_5&lt;br /&gt;using channel ORA_SBT_TAPE_6&lt;br /&gt;using channel ORA_SBT_TAPE_7&lt;br /&gt;using channel ORA_SBT_TAPE_8&lt;br /&gt;temporary file +INF_T1_BACKUP_01/qroa1inf/tempfile/temp.263.657026087 size altered in control file&lt;br /&gt;Finished recover at 29-JUN-08&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; exit;&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;br /&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.3.0 - Production on Sun Jun 29 16:31:36 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;connected to target database: ORADB (DBID=390676631, not open)&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;connected to recovery catalog database&lt;br /&gt;&lt;br /&gt;RMAN&gt; &lt;br /&gt;echo set on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; alter database open resetlogs;&lt;br /&gt;database opened&lt;br /&gt;new incarnation of database registered in recovery catalog&lt;br /&gt;starting full resync of recovery catalog&lt;br /&gt;full resync complete&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; exit;&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Action plan:&lt;/strong&gt;&lt;br /&gt;Connect to rman catalog (very important, default is NOCATALOG) and&lt;br /&gt;reset the database incarnation Key to PARENT(before resetlogs) from the node 2(rman backup performed node).&lt;br /&gt;Restore controlfile and database and recover the database to open.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;RMAN restore log:&lt;/strong&gt;&lt;br /&gt;atlt47 | ORADB2 | /u00/app/oracle/product/10.2.0/DB&lt;br /&gt;&gt; rman TARGET / CATALOG rman/rman@prman.world&lt;br /&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.3.0 - Production on Mon Jun 30 12:20:24 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;connected to target database: ORADB (not mounted)&lt;br /&gt;connected to recovery catalog database&lt;br /&gt;&lt;br /&gt;RMAN&gt; shutdown immediate;&lt;br /&gt;&lt;br /&gt;set DBID 390676631;&lt;br /&gt;&lt;br /&gt;startup nomount;&lt;br /&gt;&lt;br /&gt;Oracle instance shut down&lt;br /&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;executing command: SET DBID&lt;br /&gt;database name is "ORADB" and DBID is 390676631&lt;br /&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;connected to target database (not started)&lt;br /&gt;Oracle instance started&lt;br /&gt;&lt;br /&gt;Total System Global Area    1157627904 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size                     2072224 bytes&lt;br /&gt;Variable Size                285213024 bytes&lt;br /&gt;Database Buffers             855638016 bytes&lt;br /&gt;Redo Buffers                  14704640 bytes&lt;br /&gt;&lt;br /&gt;RMAN&gt; LIST INCARNATION OF DATABASE ORADB;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;List of Database Incarnations&lt;br /&gt;DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time&lt;br /&gt;------- ------- -------- ---------------- --- ---------- ----------&lt;br /&gt;4710871 4710872 ORADB 390676631        PARENT  1          10-JUN-08&lt;br /&gt;4710871 4931854 ORADB 390676631        CURRENT 1971243    29-JUN-08&lt;br /&gt;&lt;br /&gt;RMAN&gt; list incarnation;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;List of Database Incarnations&lt;br /&gt;DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time&lt;br /&gt;------- ------- -------- ---------------- --- ---------- ----------&lt;br /&gt;4710871 4710872 ORADB 390676631        PARENT  1          10-JUN-08&lt;br /&gt;4710871 4931854 ORADB 390676631        CURRENT 1971243    29-JUN-08&lt;br /&gt;&lt;br /&gt;-------------------------------------------- &lt;strong&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; giving the wrong(CURRENT) database incarnation Key.&lt;/strong&gt;&lt;br /&gt;RMAN&gt; reset database to incarnation 4931854;&lt;br /&gt;&lt;br /&gt;database reset to incarnation 4931854&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;2&gt; set until time "to_date('JUN 29 2008 12:21:00','Mon DD YYYY HH24:MI:SS')";&lt;br /&gt;3&gt; allocate channel d1 type 'SBT_TAPE';&lt;br /&gt;4&gt; allocate channel d2 type 'SBT_TAPE';&lt;br /&gt;5&gt; allocate channel d3 type 'SBT_TAPE';&lt;br /&gt;6&gt; allocate channel d4 type 'SBT_TAPE';&lt;br /&gt;7&gt; restore controlfile;&lt;br /&gt;8&gt; sql "alter database mount";&lt;br /&gt;9&gt; restore database;&lt;br /&gt;10&gt; recover database;&lt;br /&gt;11&gt; sql "alter database open resetlogs";&lt;br /&gt;12&gt; release channel d1;&lt;br /&gt;13&gt; release channel d2;&lt;br /&gt;14&gt; release channel d3;&lt;br /&gt;15&gt; release channel d4;&lt;br /&gt;16&gt; }&lt;br /&gt;&lt;br /&gt;executing command: SET until clause&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03002: failure of set command at 06/30/2008 13:29:08&lt;br /&gt;RMAN-06004: ORACLE error from recovery catalog database: RMAN-20207: UNTIL TIME or RECOVERY WINDOW is before RESETLOGS time&lt;br /&gt;--------------------------------------------&lt;br /&gt;&lt;br /&gt;RMAN&gt; reset database to incarnation 4710872;   &lt;strong&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; giving the correct(PARENT) database incarnation Key.&lt;/strong&gt;&lt;br /&gt;database reset to incarnation 4710872&lt;br /&gt;&lt;br /&gt;RMAN&gt; run {&lt;br /&gt;2&gt; set until time "to_date('JUN 29 2008 12:21:00','Mon DD YYYY HH24:MI:SS')";&lt;br /&gt;3&gt; allocate channel d1 type 'SBT_TAPE';&lt;br /&gt;4&gt; allocate channel d2 type 'SBT_TAPE';&lt;br /&gt;5&gt; allocate channel d3 type 'SBT_TAPE';&lt;br /&gt;6&gt; allocate channel d4 type 'SBT_TAPE';&lt;br /&gt;7&gt; restore controlfile;&lt;br /&gt;8&gt; sql "alter database mount";&lt;br /&gt;9&gt; restore database;&lt;br /&gt;10&gt; recover database;&lt;br /&gt;11&gt; sql "alter database open resetlogs";&lt;br /&gt;12&gt; release channel d1;&lt;br /&gt;13&gt; release channel d2;&lt;br /&gt;14&gt; release channel d3;&lt;br /&gt;15&gt; release channel d4;&lt;br /&gt;16&gt; }&lt;br /&gt;&lt;br /&gt;executing command: SET until clause&lt;br /&gt;&lt;br /&gt;released channel: ORA_DISK_1&lt;br /&gt;released channel: ORA_DISK_2&lt;br /&gt;released channel: ORA_DISK_3&lt;br /&gt;released channel: ORA_DISK_4&lt;br /&gt;released channel: ORA_SBT_TAPE_1&lt;br /&gt;released channel: ORA_SBT_TAPE_2&lt;br /&gt;released channel: ORA_SBT_TAPE_3&lt;br /&gt;released channel: ORA_SBT_TAPE_4&lt;br /&gt;released channel: ORA_SBT_TAPE_5&lt;br /&gt;released channel: ORA_SBT_TAPE_6&lt;br /&gt;released channel: ORA_SBT_TAPE_7&lt;br /&gt;released channel: ORA_SBT_TAPE_8&lt;br /&gt;allocated channel: d1&lt;br /&gt;channel d1: sid=1079 instance=ORADB2 devtype=SBT_TAPE&lt;br /&gt;channel d1: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;&lt;br /&gt;allocated channel: d2&lt;br /&gt;channel d2: sid=1080 instance=ORADB2 devtype=SBT_TAPE&lt;br /&gt;channel d2: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;&lt;br /&gt;allocated channel: d3&lt;br /&gt;channel d3: sid=1078 instance=ORADB2 devtype=SBT_TAPE&lt;br /&gt;channel d3: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;&lt;br /&gt;allocated channel: d4&lt;br /&gt;channel d4: sid=1077 instance=ORADB2 devtype=SBT_TAPE&lt;br /&gt;channel d4: VERITAS NetBackup for Oracle - Release 5.1 (2006040520)&lt;br /&gt;&lt;br /&gt;Starting restore at 30-JUN-08&lt;br /&gt;&lt;br /&gt;channel d1: starting datafile backupset restore&lt;br /&gt;channel d1: restoring control file&lt;br /&gt;channel d1: reading from backup piece 0tjk51un_1_1&lt;br /&gt;&lt;br /&gt;channel d1: restored backup piece 1&lt;br /&gt;piece handle=0tjk51un_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d1: restore complete, elapsed time: 00:03:35&lt;br /&gt;output filename=+INF_T1_DATA_01/qroa1inf/controlfile/current.290.658762389&lt;br /&gt;Finished restore at 30-JUN-08&lt;br /&gt;&lt;br /&gt;sql statement: alter database mount&lt;br /&gt;&lt;br /&gt;Starting restore at 30-JUN-08&lt;br /&gt;&lt;br /&gt;channel d2: starting datafile backupset restore&lt;br /&gt;channel d2: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00005 to +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;channel d2: reading from backup piece 0qjk51um_1_1&lt;br /&gt;channel d1: starting datafile backupset restore&lt;br /&gt;channel d1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00006 to +INF_T1_BACKUP_01/qroa1inf/datafile/infinys_data1.ora&lt;br /&gt;channel d1: reading from backup piece 0sjk51un_1_1&lt;br /&gt;channel d1: restored backup piece 1&lt;br /&gt;piece handle=0sjk51un_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d1: restore complete, elapsed time: 00:03:25&lt;br /&gt;channel d2: restored backup piece 1&lt;br /&gt;piece handle=0qjk51um_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d2: restore complete, elapsed time: 00:03:25&lt;br /&gt;channel d1: starting datafile backupset restore&lt;br /&gt;channel d1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00004 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;channel d1: reading from backup piece 0rjk51un_1_1&lt;br /&gt;channel d2: starting datafile backupset restore&lt;br /&gt;channel d2: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00002 to +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;channel d2: reading from backup piece 0pjk51um_1_1&lt;br /&gt;channel d1: restored backup piece 1&lt;br /&gt;piece handle=0rjk51un_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d1: restore complete, elapsed time: 00:03:25&lt;br /&gt;channel d2: restored backup piece 1&lt;br /&gt;piece handle=0pjk51um_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d2: restore complete, elapsed time: 00:03:25&lt;br /&gt;channel d1: starting datafile backupset restore&lt;br /&gt;channel d1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00003 to +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;channel d1: reading from backup piece 0ojk51um_1_1&lt;br /&gt;channel d1: restored backup piece 1&lt;br /&gt;piece handle=0ojk51um_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d1: restore complete, elapsed time: 00:03:35&lt;br /&gt;channel d1: starting datafile backupset restore&lt;br /&gt;channel d1: specifying datafile(s) to restore from backup set&lt;br /&gt;restoring datafile 00001 to +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;channel d1: reading from backup piece 0njk51um_1_1&lt;br /&gt;channel d1: restored backup piece 1&lt;br /&gt;piece handle=0njk51um_1_1 tag=BACKUP_ORADB.WO_062908121740&lt;br /&gt;channel d1: restore complete, elapsed time: 00:03:35&lt;br /&gt;Finished restore at 30-JUN-08&lt;br /&gt;&lt;br /&gt;Starting recover at 30-JUN-08&lt;br /&gt;&lt;br /&gt;starting media recovery&lt;br /&gt;&lt;br /&gt;released channel: d1&lt;br /&gt;released channel: d2&lt;br /&gt;released channel: d3&lt;br /&gt;released channel: d4&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03002: failure of recover command at 06/30/2008 13:47:58&lt;br /&gt;RMAN-06053: unable to perform media recovery because of missing log&lt;br /&gt;RMAN-06025: no backup of log thread 2 seq 13 lowscn 2607439 found to restore&lt;br /&gt;RMAN-06025: no backup of log thread 1 seq 26 lowscn 2723046 found to restore&lt;br /&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;RMAN&gt; alter database open;&lt;br /&gt;&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============&lt;br /&gt;RMAN-00571: ===========================================================&lt;br /&gt;RMAN-03002: failure of alter db command at 06/30/2008 13:49:38&lt;br /&gt;ORA-01589: must use RESETLOGS or NORESETLOGS option for database open&lt;br /&gt;&lt;br /&gt;RMAN&gt;  alter database open RESETLOGS;&lt;br /&gt;&lt;br /&gt;database opened&lt;br /&gt;new incarnation of database registered in recovery catalog&lt;br /&gt;starting full resync of recovery catalog&lt;br /&gt;full resync complete&lt;br /&gt;&lt;br /&gt;RMAN&gt; exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Side Note:&lt;/strong&gt;&lt;br /&gt;To avoid manual "alter database open RESETLOGS;" use below rman commands.&lt;br /&gt;&lt;br /&gt;recover database noredo; -- For NOARCHIVE LOG&lt;br /&gt;recover database;        -- For ARCHIVE LOG&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;P.S.&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;So, how is my list backupset command looks with NOCATALOG and CATALOG?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;atlt47 | ORADB2 | /u00/app/oracle/product/10.2.0/DB&gt; rman target / &lt;strong&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; NOCATALOG&lt;/strong&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.3.0 - Production on Mon Jun 30 11:01:30 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;connected to target database: ORADB (DBID=390676631, not open)&lt;br /&gt;&lt;br /&gt;RMAN&gt; list backupset;&lt;br /&gt;&lt;br /&gt;using target database control file instead of recovery catalog&lt;br /&gt;&lt;br /&gt;List of Backup Sets&lt;br /&gt;===================&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;1       Full    256.00K    SBT_TAPE    00:01:28     13-JUN-08&lt;br /&gt;        BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 06jircsb_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 1&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  5       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;2       Full    256.00K    SBT_TAPE    00:01:36     13-JUN-08&lt;br /&gt;        BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 07jircsb_1_1   Media:&lt;br /&gt;  SPFILE Included: Modification time: 13-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;3       Full    14.75M     SBT_TAPE    00:01:37     13-JUN-08&lt;br /&gt;        BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 05jircsb_1_1   Media:&lt;br /&gt;  Control File Included: Ckp SCN: 862074       Ckp time: 13-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4       Full    5.00M      SBT_TAPE    00:01:43     13-JUN-08&lt;br /&gt;        BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 04jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  4       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;5       Full    210.25M    SBT_TAPE    00:01:55     13-JUN-08&lt;br /&gt;        BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 03jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 5&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  3       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;6       Full    333.25M    SBT_TAPE    00:01:56     13-JUN-08&lt;br /&gt;        BP Key: 6   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 02jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 6&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  2       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;7       Full    356.50M    SBT_TAPE    00:01:58     13-JUN-08&lt;br /&gt;        BP Key: 7   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 01jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 7&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  1       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; exit&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;atlt47 | ORADB2 | /u00/app/oracle/product/10.2.0/DB&gt; rman target / &lt;strong&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; CATALOG&lt;/strong&gt;&lt;br /&gt;Recovery Manager: Release 10.2.0.3.0 - Production on Mon Jun 30 11:07:03 2008&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2005, Oracle.  All rights reserved.&lt;br /&gt;&lt;br /&gt;connected to target database: ORADB (DBID=390676631, not open)&lt;br /&gt;&lt;br /&gt;RMAN&gt; connect catalog rman/rman@prman.world                 &lt;strong&gt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; CATALOG&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connected to recovery catalog database&lt;br /&gt;&lt;br /&gt;RMAN&gt; list backup;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;List of Backup Sets&lt;br /&gt;===================&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728914 Full    256.00K    SBT_TAPE    00:01:28     13-JUN-08&lt;br /&gt;        BP Key: 4728921   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 06jircsb_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4728914&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  5       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728915 Full    256.00K    SBT_TAPE    00:01:36     13-JUN-08&lt;br /&gt;        BP Key: 4728922   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 07jircsb_1_1   Media:&lt;br /&gt;  SPFILE Included: Modification time: 13-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728916 Full    14.75M     SBT_TAPE    00:01:37     13-JUN-08&lt;br /&gt;        BP Key: 4728923   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 05jircsb_1_1   Media:&lt;br /&gt;  Control File Included: Ckp SCN: 862074       Ckp time: 13-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728917 Full    5.00M      SBT_TAPE    00:01:43     13-JUN-08&lt;br /&gt;        BP Key: 4728924   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 04jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4728917&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  4       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728918 Full    210.25M    SBT_TAPE    00:01:55     13-JUN-08&lt;br /&gt;        BP Key: 4728925   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 03jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4728918&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  3       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728919 Full    333.25M    SBT_TAPE    00:01:56     13-JUN-08&lt;br /&gt;        BP Key: 4728926   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 02jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4728919&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  2       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4728920 Full    356.50M    SBT_TAPE    00:01:58     13-JUN-08&lt;br /&gt;        BP Key: 4728927   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_061308050625&lt;br /&gt;        Handle: 01jircsa_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4728920&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  1       Full 862074     13-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904245 Full    256.00K    SBT_TAPE    00:01:17     27-JUN-08&lt;br /&gt;        BP Key: 4904253   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 0djjvff2_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4904245&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  5       Full 1971242    27-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904246 Full    14.75M     SBT_TAPE    00:01:21     27-JUN-08&lt;br /&gt;        BP Key: 4904254   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 0cjjvff1_1_1   Media:&lt;br /&gt;  Control File Included: Ckp SCN: 1971242      Ckp time: 27-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904247 Full    256.00K    SBT_TAPE    00:01:26     27-JUN-08&lt;br /&gt;        BP Key: 4904255   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 0ejjvff2_1_1   Media:&lt;br /&gt;  SPFILE Included: Modification time: 27-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904248 Full    21.25M     SBT_TAPE    00:01:31     27-JUN-08&lt;br /&gt;        BP Key: 4904256   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 0bjjvff1_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4904248&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  4       Full 1971242    27-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904249 Full    333.25M    SBT_TAPE    00:01:45     27-JUN-08&lt;br /&gt;        BP Key: 4904257   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 0ajjvff1_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4904249&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  2       Full 1971242    27-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904250 Full    344.00M    SBT_TAPE    00:01:47     27-JUN-08&lt;br /&gt;        BP Key: 4904258   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 09jjvff1_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4904250&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  3       Full 1971242    27-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4904251 Full    362.00M    SBT_TAPE    00:01:47     27-JUN-08&lt;br /&gt;        BP Key: 4904259   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062708093125&lt;br /&gt;        Handle: 08jjvff1_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4904251&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  1       Full 1971242    27-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920736 Full    14.75M     SBT_TAPE    00:01:32     28-JUN-08&lt;br /&gt;        BP Key: 4920745   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0ljk2tuu_1_1   Media:&lt;br /&gt;  Control File Included: Ckp SCN: 2589364      Ckp time: 28-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920737 Full    256.00K    SBT_TAPE    00:01:42     28-JUN-08&lt;br /&gt;        BP Key: 4920746   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0mjk2tuu_1_1   Media:&lt;br /&gt;  SPFILE Included: Modification time: 28-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920738 Full    155.25M    SBT_TAPE    00:01:46     28-JUN-08&lt;br /&gt;        BP Key: 4920747   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0jjk2tuu_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920738&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  4       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920739 Full    124.50M    SBT_TAPE    00:01:52     28-JUN-08&lt;br /&gt;        BP Key: 4920748   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0ijk2tuu_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920739&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  5       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920740 Full    347.50M    SBT_TAPE    00:01:55     28-JUN-08&lt;br /&gt;        BP Key: 4920749   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0gjk2tut_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920740&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  3       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920741 Full    256.00K    SBT_TAPE    00:01:56     28-JUN-08&lt;br /&gt;        BP Key: 4920750   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0kjk2tuu_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920741&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  6       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/infinys_data1.ora&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920742 Full    333.25M    SBT_TAPE    00:01:58     28-JUN-08&lt;br /&gt;        BP Key: 4920751   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0hjk2tuu_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920742&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  2       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4920743 Full    471.00M    SBT_TAPE    00:02:02     28-JUN-08&lt;br /&gt;        BP Key: 4920752   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062808045704&lt;br /&gt;        Handle: 0fjk2tut_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4920743&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  1       Full 2589364    28-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929973 Full    14.75M     SBT_TAPE    00:01:23     29-JUN-08&lt;br /&gt;        BP Key: 4929982   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0tjk51un_1_1   Media:&lt;br /&gt;  Control File Included: Ckp SCN: 2780259      Ckp time: 29-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929974 Full    256.00K    SBT_TAPE    00:01:31     29-JUN-08&lt;br /&gt;        BP Key: 4929983   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0ujk51un_1_1   Media:&lt;br /&gt;  SPFILE Included: Modification time: 29-JUN-08&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929975 Full    256.00K    SBT_TAPE    00:01:32     29-JUN-08&lt;br /&gt;        BP Key: 4929984   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0sjk51un_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929975&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  6       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/infinys_data1.ora&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929976 Full    137.00M    SBT_TAPE    00:01:40     29-JUN-08&lt;br /&gt;        BP Key: 4929985   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0qjk51um_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929976&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  5       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/users.265.657026093&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929977 Full    333.25M    SBT_TAPE    00:01:41     29-JUN-08&lt;br /&gt;        BP Key: 4929986   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0pjk51um_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929977&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  2       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs1.261.657026085&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929978 Full    155.25M    SBT_TAPE    00:01:42     29-JUN-08&lt;br /&gt;        BP Key: 4929987   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0rjk51un_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929978&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  4       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/undotbs2.264.657026091&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929979 Full    348.25M    SBT_TAPE    00:01:49     29-JUN-08&lt;br /&gt;        BP Key: 4929988   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0ojk51um_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929979&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  3       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/sysaux.262.657026087&lt;br /&gt;&lt;br /&gt;BS Key  Type LV Size       Device Type Elapsed Time Completion Time&lt;br /&gt;------- ---- -- ---------- ----------- ------------ ---------------&lt;br /&gt;4929980 Full    471.25M    SBT_TAPE    00:01:52     29-JUN-08&lt;br /&gt;        BP Key: 4929989   Status: AVAILABLE  Compressed: NO  Tag: BACKUP_ORADB.WO_062908121740&lt;br /&gt;        Handle: 0njk51um_1_1   Media:&lt;br /&gt;  List of Datafiles in backup set 4929980&lt;br /&gt;  File LV Type Ckp SCN    Ckp Time  Name&lt;br /&gt;  ---- -- ---- ---------- --------- ----&lt;br /&gt;  1       Full 2780259    29-JUN-08 +INF_T1_BACKUP_01/qroa1inf/datafile/system.260.657026077&lt;br /&gt;&lt;br /&gt;RMAN&gt;&lt;br /&gt;&lt;br /&gt;RMAN&gt; exit&lt;br /&gt;&lt;br /&gt;Recovery Manager complete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-3880054562371922573?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/3880054562371922573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=3880054562371922573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3880054562371922573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/3880054562371922573'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/07/rac-unique-backup-and-restore.html' title='RAC unique backup and restore challenges using OEM Grid Control in 10g:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5466492957697741715</id><published>2008-05-31T11:48:00.001-04:00</published><updated>2011-08-18T16:51:38.165-04:00</updated><title type='text'>ASM could not mount diskgroup or see the disks:</title><content type='html'>&lt;strong&gt;What might have caused it? What are my options to fix or recover?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What might have caused it?:&lt;/strong&gt;&lt;br /&gt;a.&lt;br /&gt;asm_diskstring and/or asm_diskgroups init parameters are not set correctly&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;OS Disks/Devices ownership&lt;br /&gt;&lt;br /&gt;c.&lt;br /&gt;OS Disks/Devices permissions&lt;br /&gt;&lt;br /&gt;d.&lt;br /&gt;Check if Physical Disks/Devices exist or visible at OS level&lt;br /&gt;&lt;br /&gt;e.&lt;br /&gt;Make sure oracle ASMLib rpm's are installed. - Linux&lt;br /&gt;&lt;br /&gt;f.&lt;br /&gt;Make sure all the disks can be listed&lt;br /&gt;&lt;br /&gt;g.&lt;br /&gt;Make sure all the disks can be queried&lt;br /&gt;&lt;br /&gt;h.&lt;br /&gt;Make sure permission and ownership of /var/opt/oracle directory.&lt;br /&gt;&lt;br /&gt;i.&lt;br /&gt;Make sure that there are no duplicate paths or names that point to the same physical disk&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Specific to RAC:&lt;/strong&gt;&lt;br /&gt;j.&lt;br /&gt;Make sure disk name and underlying logical device id or LUN id is consistent across all the nodes&lt;br /&gt;&lt;br /&gt;k.&lt;br /&gt;Make sure /proc/partitions file is consistent (no missing entries) across the nodes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What are my options to fix or recover?: Let's talk about all the options mentioned above.&lt;/strong&gt;&lt;br /&gt;a.&lt;br /&gt;asm_diskstring and/or asm_diskgroups init parameters are not set correctly&lt;br /&gt;&lt;br /&gt;Raw device:&lt;br /&gt;ALTER SYSTEM SET asm_diskstring = '/dev/raw/raw*, /dev/raw/raw1[1-5]' scope=BOTH sid='*';&lt;br /&gt;&lt;br /&gt;ASMLib:&lt;br /&gt;ALTER SYSTEM SET asm_diskstring = 'ORCL:*' scope=BOTH sid='*';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ALTER SYSTEM SET asm_diskgroups = 'ORADB_DATA, ORADB_IDX, ORADB_BACKUP, ORADB_ARC' scope=spfile sid='*';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;OS Disks/Devices ownership&lt;br /&gt;&lt;br /&gt;oracle:dba for non OCR and Voting Disk.&lt;br /&gt;&lt;br /&gt;root:dba for OCR.&lt;br /&gt;oracle:dba for Voting Disk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;c.&lt;br /&gt;OS Disks/Devices permissions&lt;br /&gt;&lt;br /&gt;660 - for non OCR and Voting Disk.&lt;br /&gt;&lt;br /&gt;640 - for OCR.&lt;br /&gt;644 - for Voting Disk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;d.&lt;br /&gt;Check if Physical Disks/Devices exist or visible at OS level&lt;br /&gt;&lt;br /&gt;Raw device:&lt;br /&gt;/dev/raw&lt;br /&gt;&lt;br /&gt;ASMLib:&lt;br /&gt;/dev/oracleasm/disks&lt;br /&gt;&lt;br /&gt;Side Note: For more information, please refer to my other note on "ASM SAN migration Case Study: - How to find mapping of ASM disks to Physical Devices?"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;e.&lt;br /&gt;Make sure oracle ASMLib rpm's are installed. - Linux&lt;br /&gt;&lt;br /&gt;ASMLib only!!&lt;br /&gt;&lt;br /&gt;Check:&lt;br /&gt;rpm -qa|grep asm&lt;br /&gt;oracleasmlib-2.0.2-1&lt;br /&gt;oracleasm-support-2.0.3-1&lt;br /&gt;oracleasm-2.6.9-42.ELsmp-2.0.3-1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;f.&lt;br /&gt;Make sure all the disks can be listed&lt;br /&gt;&lt;br /&gt;/etc/init.d/oracleasm listdisks&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;g.&lt;br /&gt;Make sure all the disks can be queried&lt;br /&gt;&lt;br /&gt;List all the disks:&lt;br /&gt;for i in `cd /dev/oracleasm/disks;ls *`;&lt;br /&gt;do&lt;br /&gt;  /etc/init.d/oracleasm querydisk $i 2&gt;/dev/null&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Look for any missing label's:&lt;br /&gt;for i in `ls /dev/emcpower*1`;&lt;br /&gt;do&lt;br /&gt;  /etc/init.d/oracleasm querydisk $i 2&gt;/dev/null | grep "\"\"$"&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;$/dev/oracleasm/disks&gt; ls -lt AO_6011_0972&lt;br /&gt;brw-rw----  1 oracle dba 120, 641 Mar 21 17:03 AO_6011_0972&lt;br /&gt;&lt;br /&gt;$/dev/oracleasm/disks&gt; /etc/init.d/oracleasm querydisk AO_6011_0972&lt;br /&gt;Disk "AO_6011_0972" is a valid ASM disk on device [120, 641]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Side Note 1: When you create ASM disks, its best practice to follow some kind of naming convention.&lt;br /&gt;Why?&lt;/strong&gt;&lt;br /&gt;For example, easy to recreate missing labels or easy to identify physical storage.&lt;br /&gt;&lt;br /&gt;CLARiiON:&lt;br /&gt;$ ls -lt /dev/emcpowerem&lt;br /&gt;brwxrwx---  1 oracle dba 120, 2272 Mar 18 10:04 /dev/emcpowerem&lt;br /&gt;$ ls -lt /dev/emcpowerem1&lt;br /&gt;brwxrwx---  1 oracle dba 120, 2273 Apr 24 17:32 /dev/emcpowerem1&lt;br /&gt;$ ls -lt /dev/oracleasm/disks/EM*&lt;br /&gt;brw-rw----  1 oracle dba 120, 2273 Mar 18 10:46 /dev/oracleasm/disks/&lt;strong&gt;EM_5438_1227&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;# /sbin/powermt display dev=&lt;strong&gt;emcpowerem&lt;/strong&gt;&lt;br /&gt;Pseudo name=emcpower&lt;strong&gt;em&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;CLARiiON ID&lt;/strong&gt;=APM0004300&lt;strong&gt;5438&lt;/strong&gt; [d03_ORADB_Dev]&lt;br /&gt;Logical device ID=60060160272013007325DC0E5FF4DC11 [&lt;strong&gt;LUN 1227&lt;/strong&gt;]&lt;br /&gt;state=alive; policy=CLAROpt; priority=0; queued-IOs=0&lt;br /&gt;Owner: default=SP B, current=SP B&lt;br /&gt;==============================================================================&lt;br /&gt;---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---&lt;br /&gt;### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs Errors&lt;br /&gt;==============================================================================&lt;br /&gt;   1 lpfc                      sdabf     SP B1     active  alive      0      0&lt;br /&gt;   1 lpfc                      sdacp     SP A1     active  alive      0      0&lt;br /&gt;   1 lpfc                      sdadz     SP B0     active  alive      0      0&lt;br /&gt;   1 lpfc                      sdafj     SP A0     active  alive      0      0&lt;br /&gt;   2 lpfc                      sdagt     SP B2     active  alive      0      0&lt;br /&gt;   2 lpfc                      sdaid     SP A2     active  alive      0      0&lt;br /&gt;   2 lpfc                      sdajn     SP B3     active  alive      0      0&lt;br /&gt;   2 lpfc                      sdakx     SP A3     active  alive      0      0&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Naming Standards:&lt;br /&gt;For CLARiiON: [emcpower Id]_[CLARiiON Id(last 4 dig)]_[LUN Id]&lt;br /&gt;For EMC DMX : [emcpower Id]_[Symmetrix Id(last 4 dig)]_[Logical device Id]&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EMC DMX:&lt;/strong&gt;&lt;br /&gt;$ /dev&gt; ls -lt emcpoweray&lt;br /&gt;brwxrwx---  1 oracle dba 120, 800 Apr 22 05:46 emcpoweray&lt;br /&gt;$ /dev&gt; /etc/init.d/oracleasm listdisks | grep AY&lt;br /&gt;&lt;strong&gt;AY_0469_0BB9&lt;/strong&gt;&lt;br /&gt;$ /dev&gt; /sbin/powermt display dev=&lt;strong&gt;emcpoweray&lt;/strong&gt;&lt;br /&gt;Pseudo name=emcpower&lt;strong&gt;ay&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Symmetrix ID&lt;/strong&gt;=00018788&lt;strong&gt;0469&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Logical device ID=0BB9&lt;/strong&gt;&lt;br /&gt;state=alive; policy=SymmOpt; priority=0; queued-IOs=0&lt;br /&gt;==============================================================================&lt;br /&gt;---------------- Host ---------------   - Stor -   -- I/O Path -  -- Stats ---&lt;br /&gt;### HW Path                 I/O Paths    Interf.   Mode    State  Q-IOs Errors&lt;br /&gt;==============================================================================&lt;br /&gt;   1 lpfc                      sdbg      FA  3cA   active  alive      0      0&lt;br /&gt;   2 lpfc                      sddv      FA 14cA   active  alive      0      0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Side Note 2: Always take backup of all ASMLib disk headers.&lt;br /&gt;&lt;br /&gt;for i in `cd /dev/oracleasm/disks/;ls *`;&lt;br /&gt;do&lt;br /&gt;  dd if=/dev/oracleasm/disks/$i of=/tmp/$i.dump bs=4096 count=1&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;h.&lt;br /&gt;Make sure permission and ownership of /var/opt/oracle directory.&lt;br /&gt;&lt;br /&gt;oracle:dba and relax the permissions&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;i.&lt;br /&gt;Make sure that there are no duplicate paths or names that point to the same physical disk&lt;br /&gt;Such duplication result in the below error in alert log file.&lt;br /&gt;&lt;br /&gt;ORA-15020: discovered duplicate ASM disk ""&lt;br /&gt;&lt;br /&gt;We can detect this using this command: "/sbin/powermt display dev=emcpowerem"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;j.&lt;br /&gt;Make sure disk name and underlying logical device id or LUN id is consistent across the nodes&lt;br /&gt;&lt;br /&gt;Some times, disk name pointing to logical device id or LUN id on one node is different from other nodes.&lt;br /&gt;&lt;br /&gt;We can detect this using this command: "/sbin/powermt display dev=emcpowerem"&lt;br /&gt;We can correct this using this command: "emcpadm rename -s emcpoweram -t emcpowerah"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;k.&lt;br /&gt;Make sure /proc/partitions file is consistent(no missing entries) across the nodes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Case 1:&lt;br /&gt;ASMLib could not see SAN storage after reboot or missing ASMLib labels?:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to create the kfed utility?:&lt;/strong&gt;&lt;br /&gt;from DB home:&lt;br /&gt;$ cd $ORACLE_HOME/rdbms/lib&lt;br /&gt;$ make -f ins_rdbms.mk ikfed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;We can recreate missing labels with below command:&lt;/strong&gt;&lt;br /&gt;# /etc/init.d/oracleasm force-renamedisk /dev/emcpoweray1 AY_0469_0BB9&lt;br /&gt;&lt;br /&gt;Side Note: We can also look at ASM labels using kfed tool, kfed tool might have been used to tweak the headers. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;kfed help in 10.2.0.3:&lt;br /&gt;$ kfed help=y&lt;br /&gt;as/mlib         ASM Library [asmlib='lib']&lt;br /&gt;aun/um          AU number to examine or update [AUNUM=number]&lt;br /&gt;aus/z           Allocation Unit size in bytes [AUSZ=number]&lt;br /&gt;blkn/um         Block number to examine or update [BLKNUM=number]&lt;br /&gt;blks/z          Metadata block size in bytes [BLKSZ=number]&lt;br /&gt;ch/ksum         Update checksum before each write [CHKSUM=YES/NO]&lt;br /&gt;cn/t            Count of AUs to process [CNT=number]&lt;br /&gt;d/ev            ASM device to examine or update [DEV=string]&lt;br /&gt;o/p             KFED operation type [OP=READ/WRITE/MERGE/NEW/FORM/FIND/STRUCT]&lt;br /&gt;p/rovnm         Name for provisioning purposes [PROVNM=string]&lt;br /&gt;te/xt           File name for translated block text [TEXT=string]&lt;br /&gt;ty/pe           ASM metadata block type number [TYPE=number]&lt;br /&gt;KFED-01000: USAGE: kfed &lt;op&gt; [&lt;dev&gt;] [&lt;text&gt;] [&lt;options&gt;]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;e.g.:&lt;br /&gt;$ ORACLE_ASM_HOME/bin/kfed read /dev/oracleasm/disks/&lt;strong&gt;AY_0469_0BB9&lt;/strong&gt;&lt;br /&gt;kfbh.endian:                          1 ; 0x000: 0x01&lt;br /&gt;kfbh.hard:                          130 ; 0x001: 0x82&lt;br /&gt;kfbh.type:                            1 ; 0x002: KFBTYP_DISKHEAD&lt;br /&gt;kfbh.datfmt:                          1 ; 0x003: 0x01&lt;br /&gt;kfbh.block.blk:                       0 ; 0x004: T=0 NUMB=0x0&lt;br /&gt;kfbh.block.obj:              2147483650 ; 0x008: TYPE=0x8 NUMB=0x2&lt;br /&gt;kfbh.check:                  2426726764 ; 0x00c: 0x90a4e96c&lt;br /&gt;kfbh.fcn.base:                        0 ; 0x010: 0x00000000&lt;br /&gt;kfbh.fcn.wrap:                        0 ; 0x014: 0x00000000&lt;br /&gt;kfbh.spare1:                          0 ; 0x018: 0x00000000&lt;br /&gt;kfbh.spare2:                          0 ; 0x01c: 0x00000000&lt;br /&gt;kfdhdb.driver.provstr:ORCLDISKAY_0469_0BB9 ; 0x000: length=20&lt;br /&gt;kfdhdb.driver.reserved[0]:    811555137 ; 0x008: 0x305f5941&lt;br /&gt;kfdhdb.driver.reserved[1]:   1597584948 ; 0x00c: 0x5f393634&lt;br /&gt;kfdhdb.driver.reserved[2]:    960643632 ; 0x010: 0x39424230&lt;br /&gt;kfdhdb.driver.reserved[3]:            0 ; 0x014: 0x00000000&lt;br /&gt;kfdhdb.driver.reserved[4]:            0 ; 0x018: 0x00000000&lt;br /&gt;kfdhdb.driver.reserved[5]:            0 ; 0x01c: 0x00000000&lt;br /&gt;kfdhdb.compat:                168820736 ; 0x020: 0x0a100000&lt;br /&gt;kfdhdb.dsknum:                        2 ; 0x024: 0x0002&lt;br /&gt;kfdhdb.grptyp:                        1 ; 0x026: KFDGTP_EXTERNAL&lt;br /&gt;kfdhdb.hdrsts:                        3 ; 0x027: KFDHDR_MEMBER&lt;br /&gt;&lt;strong&gt;kfdhdb.dskname:            AY_0469_0BB9 ; 0x028: length=12&lt;br /&gt;kfdhdb.grpname:      ORADB_T1_BACKUP_01 ; 0x048: length=18&lt;/strong&gt;&lt;br /&gt;kfdhdb.fgname:             AY_0469_0BB9 ; 0x068: length=12&lt;br /&gt;kfdhdb.capname:                         ; 0x088: length=0&lt;br /&gt;kfdhdb.crestmp.hi:             32902473 ; 0x0a8: HOUR=0x9 DAYS=0xa MNTH=0x3 YEAR=0x7d8&lt;br /&gt;kfdhdb.crestmp.lo:           1396390912 ; 0x0ac: USEC=0x0 MSEC=0x2cf SECS=0x33 MINS=0x14&lt;br /&gt;kfdhdb.mntstmp.hi:             32904078 ; 0x0b0: HOUR=0xe DAYS=0x1c MNTH=0x4 YEAR=0x7d8&lt;br /&gt;kfdhdb.mntstmp.lo:           1783004160 ; 0x0b4: USEC=0x0 MSEC=0x19f SECS=0x24 MINS=0x1a&lt;br /&gt;kfdhdb.secsize:                     512 ; 0x0b8: 0x0200&lt;br /&gt;kfdhdb.blksize:                    4096 ; 0x0ba: 0x1000&lt;br /&gt;kfdhdb.ausize:                  1048576 ; 0x0bc: 0x00100000&lt;br /&gt;kfdhdb.mfact:                    113792 ; 0x0c0: 0x0001bc80&lt;br /&gt;kfdhdb.dsksize:                   17263 ; 0x0c4: 0x0000436f&lt;br /&gt;kfdhdb.pmcnt:                         2 ; 0x0c8: 0x00000002&lt;br /&gt;kfdhdb.fstlocn:                       1 ; 0x0cc: 0x00000001&lt;br /&gt;kfdhdb.altlocn:                       2 ; 0x0d0: 0x00000002&lt;br /&gt;kfdhdb.f1b1locn:                      0 ; 0x0d4: 0x00000000&lt;br /&gt;kfdhdb.redomirrors[0]:                0 ; 0x0d8: 0x0000&lt;br /&gt;kfdhdb.redomirrors[1]:                0 ; 0x0da: 0x0000&lt;br /&gt;kfdhdb.redomirrors[2]:                0 ; 0x0dc: 0x0000&lt;br /&gt;kfdhdb.redomirrors[3]:                0 ; 0x0de: 0x0000&lt;br /&gt;kfdhdb.dbcompat:              168820736 ; 0x0e0: 0x0a100000&lt;br /&gt;kfdhdb.grpstmp.hi:             32902473 ; 0x0e4: HOUR=0x9 DAYS=0xa MNTH=0x3 YEAR=0x7d8&lt;br /&gt;kfdhdb.grpstmp.lo:           1396293632 ; 0x0e8: USEC=0x0 MSEC=0x270 SECS=0x33 MINS=0x14&lt;br /&gt;kfdhdb.ub4spare[0]:                   0 ; 0x0ec: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[1]:                   0 ; 0x0f0: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[2]:                   0 ; 0x0f4: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[3]:                   0 ; 0x0f8: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[4]:                   0 ; 0x0fc: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[5]:                   0 ; 0x100: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[6]:                   0 ; 0x104: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[7]:                   0 ; 0x108: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[8]:                   0 ; 0x10c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[9]:                   0 ; 0x110: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[10]:                  0 ; 0x114: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[11]:                  0 ; 0x118: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[12]:                  0 ; 0x11c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[13]:                  0 ; 0x120: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[14]:                  0 ; 0x124: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[15]:                  0 ; 0x128: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[16]:                  0 ; 0x12c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[17]:                  0 ; 0x130: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[18]:                  0 ; 0x134: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[19]:                  0 ; 0x138: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[20]:                  0 ; 0x13c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[21]:                  0 ; 0x140: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[22]:                  0 ; 0x144: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[23]:                  0 ; 0x148: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[24]:                  0 ; 0x14c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[25]:                  0 ; 0x150: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[26]:                  0 ; 0x154: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[27]:                  0 ; 0x158: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[28]:                  0 ; 0x15c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[29]:                  0 ; 0x160: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[30]:                  0 ; 0x164: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[31]:                  0 ; 0x168: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[32]:                  0 ; 0x16c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[33]:                  0 ; 0x170: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[34]:                  0 ; 0x174: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[35]:                  0 ; 0x178: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[36]:                  0 ; 0x17c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[37]:                  0 ; 0x180: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[38]:                  0 ; 0x184: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[39]:                  0 ; 0x188: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[40]:                  0 ; 0x18c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[41]:                  0 ; 0x190: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[42]:                  0 ; 0x194: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[43]:                  0 ; 0x198: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[44]:                  0 ; 0x19c: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[45]:                  0 ; 0x1a0: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[46]:                  0 ; 0x1a4: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[47]:                  0 ; 0x1a8: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[48]:                  0 ; 0x1ac: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[49]:                  0 ; 0x1b0: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[50]:                  0 ; 0x1b4: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[51]:                  0 ; 0x1b8: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[52]:                  0 ; 0x1bc: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[53]:                  0 ; 0x1c0: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[54]:                  0 ; 0x1c4: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[55]:                  0 ; 0x1c8: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[56]:                  0 ; 0x1cc: 0x00000000&lt;br /&gt;kfdhdb.ub4spare[57]:                  0 ; 0x1d0: 0x00000000&lt;br /&gt;kfdhdb.acdb.aba.seq:                  0 ; 0x1d4: 0x00000000&lt;br /&gt;kfdhdb.acdb.aba.blk:                  0 ; 0x1d8: 0x00000000&lt;br /&gt;kfdhdb.acdb.ents:                     0 ; 0x1dc: 0x0000&lt;br /&gt;kfdhdb.acdb.ub2spare:                 0 ; 0x1de: 0x0000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Case 2:&lt;br /&gt;Logical device id or LUN id is different across the nodes?:&lt;/strong&gt;&lt;br /&gt;Please refer to above session j for fix&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Case 3:&lt;br /&gt;Missing disk(can't mount diskgroup/drop diskgroup/delete disk)?:&lt;br /&gt;&lt;br /&gt;Problem:&lt;br /&gt;Why am I getting following errors, when I am doing "alter diskgroup ORADB_DATA_DG mount;" command?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;ORA-15032: not all alterations performed&lt;br /&gt;ORA-15040: diskgroup is incomplete&lt;br /&gt;ORA-15042: ASM disk "7" is missing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Consider all the above mentioned missing disk possibilities to fix the problem. If it's permanent disk failures, please refer below "Recovering the disks from permanent disk failures? session"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I&lt;br /&gt;Recovering the disks from permanent disk failures?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;10g:&lt;br /&gt;Method 1.&lt;/strong&gt;&lt;br /&gt;Use DD command to clear disk header and delete the disk and create the disk, which will make the disks as candidates and add back to ASM diskgroup.&lt;br /&gt;&lt;br /&gt;dd if=/dev/zero of=[raw device] bs=1024 count=4       -- for raw device&lt;br /&gt;or&lt;br /&gt;dd if=/dev/zero of=[emcpower device] bs=1024 count=4  -- for emcpower device&lt;br /&gt;&lt;br /&gt;as root only!!!&lt;br /&gt;/etc/init.d/oracleasm deletedisk [ASM disk name]&lt;br /&gt;/etc/init.d/oracleasm createdisk [ASM disk name] [emcpower device]&lt;br /&gt;&lt;br /&gt;/etc/init.d/oracleasm scandisks&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Method 2.&lt;/strong&gt;&lt;br /&gt;create diskgroup &lt;new diskgroup name&gt; EXTERNAL REDUNDANCY&lt;br /&gt;disk '&lt;1'st missing disk name&gt;' force, '&lt;2'nd missing disk name&gt;' force;&lt;br /&gt;&lt;br /&gt;Now the question is how do I drop the original diskgroup?&lt;br /&gt;When you dd or force all the disks to use new diskgroup, old ASM diskgroup will not exist any longer. byeee, byee bye&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;11g:&lt;/strong&gt;&lt;br /&gt;drop diskgroup &lt;diskgroup name&gt; force including contents; -- Drop the diskgroup completely, to recreate the diskgroup.&lt;br /&gt;&lt;br /&gt;alter diskgroup &lt;diskgroup name&gt; mount force; -- This is useful when you have missing disk or disks&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Side Note: You can not use the FORCE flag when dropping a disk from an external redundancy diskgroup.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5466492957697741715?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5466492957697741715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5466492957697741715' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5466492957697741715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5466492957697741715'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/05/asm-could-not-mount-or-see-diskgroup.html' title='ASM could not mount diskgroup or see the disks:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-1801962883403653670</id><published>2008-03-28T17:52:00.000-04:00</published><updated>2008-05-15T14:56:08.733-04:00</updated><title type='text'>Oracle masala at work:</title><content type='html'>Oracle masala at work:&lt;br /&gt;1. How to find Session level parameter value:&lt;br /&gt;2. How to look at OSWatcher(OSW) output in GUI mode:&lt;br /&gt;3. ORACLE_HOME information from oracle data dictionary:&lt;br /&gt;4. Services did not automatically restart after RMAN COLD backup for RAC database:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1.&lt;br /&gt;How to find Session level parameter value:&lt;br /&gt;&lt;br /&gt;set serveroutput on size 999999;&lt;br /&gt;DECLARE&lt;br /&gt;&lt;br /&gt;i      BINARY_INTEGER;&lt;br /&gt;pname  v$parameter.name%TYPE;&lt;br /&gt;intval BINARY_INTEGER;&lt;br /&gt;strval v$parameter.value%TYPE;&lt;br /&gt;x      BINARY_INTEGER;&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  pname := 'db_file_multiblock_read_count';&lt;br /&gt;  x := dbms_utility.get_parameter_value(pname, intval, strval);&lt;br /&gt;&lt;br /&gt;  IF x = 0 THEN -- integer or boolean&lt;br /&gt;    dbms_output.put_line('IntVal: ' || TO_CHAR(intval));&lt;br /&gt;  ELSE&lt;br /&gt;    dbms_output.put_line('StrVal: ' || strval);&lt;br /&gt;    dbms_output.put_line('IntVal: ' || TO_CHAR(intval));&lt;br /&gt;  END IF;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;V$SES_OPTIMIZER_ENV view for optimizer parameters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2.&lt;br /&gt;How to look at OSWatcher(OSW) output in GUI mode:&lt;br /&gt;&lt;br /&gt;a.&lt;br /&gt;Set the PATH and DISPLAY envernoment variables:&lt;br /&gt;&lt;br /&gt;$ export PATH=$ORACLE_HOME/jre/1.4.2/bin:$PATH&lt;br /&gt;$ export DISPLAY=xx.xx.xx.xxx:0&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;Run the oswg.jar file pointing to osw archive directory:&lt;br /&gt;&lt;br /&gt;$ java -jar -Xmx256m oswg.jar -i /u00/app/oracle/osw/archive&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.&lt;br /&gt;ORACLE_HOME information from oracle data dictionary:&lt;br /&gt;&lt;br /&gt;select substr(file_spec,   1,   instr(file_spec,   '/',   -1,   2) -1) as ORACLE_HOME&lt;br /&gt;from dba_libraries&lt;br /&gt;where library_name = 'DBMS_SUMADV_LIB';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4.&lt;br /&gt;Services did not automatically restart after RMAN COLD backup for RAC database:&lt;br /&gt;&lt;br /&gt;Use "host" command in rman script to start the services, to start the services on correct preferred and available nodes &lt;br /&gt;use "sleep" command to start all the instances before starting the services.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;HOST '(sleep 180; date; srvctl start service -d ODS;) &amp;';&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-1801962883403653670?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/1801962883403653670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=1801962883403653670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1801962883403653670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1801962883403653670'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/03/oracle-masala-at-work.html' title='Oracle masala at work:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5002898666452097893</id><published>2008-02-27T13:59:00.000-05:00</published><updated>2008-02-28T16:04:03.301-05:00</updated><title type='text'>Which oracle version has what Oracle Compression:</title><content type='html'>&lt;strong&gt;8i:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Can's:&lt;/strong&gt;&lt;br /&gt;IOT compression&lt;br /&gt;Unique and non-Unique index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Can'ts:&lt;/strong&gt;&lt;br /&gt;No table compression&lt;br /&gt;No Materialized Views compression&lt;br /&gt;No Bitmap index compression&lt;br /&gt;No LOB compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compression occurs only when:&lt;/strong&gt;&lt;br /&gt;Direct Path SQL*Loader&lt;br /&gt;CREATE TABLE AS SELECT... (CTAS)&lt;br /&gt;Parallel or serial INSERT statement with an APPEND hit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;9i:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Can's:&lt;/strong&gt;&lt;br /&gt;Table compression&lt;br /&gt;Materialized Views compression&lt;br /&gt;IOT compression&lt;br /&gt;Unique and Non-Unique index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Can'ts:&lt;/strong&gt;&lt;br /&gt;Adding a column&lt;br /&gt;Dropping a column&lt;br /&gt;No table compression with more than 255 columns&lt;br /&gt;No Bitmap index compression&lt;br /&gt;No LOB compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compression occurs only when:&lt;/strong&gt;&lt;br /&gt;Direct Path SQL*Loader&lt;br /&gt;CREATE TABLE AS SELECT... (CTAS)&lt;br /&gt;Parallel or serial INSERT statement with an APPEND hit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;10g:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Can's:&lt;/strong&gt;&lt;br /&gt;Adding a column&lt;br /&gt;Table compression&lt;br /&gt;Materialized Views compression&lt;br /&gt;IOT compression&lt;br /&gt;Unique and Non-Unique index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Can'ts:&lt;/strong&gt;&lt;br /&gt;Dropping a column&lt;br /&gt;No table compression with more than 255 columns&lt;br /&gt;No LOB compression (only with  utl_compress package)&lt;br /&gt;No Bitmap index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compression occurs only when:&lt;/strong&gt;&lt;br /&gt;Direct Path SQL*Loader&lt;br /&gt;CREATE TABLE AS SELECT... (CTAS)&lt;br /&gt;Parallel or serial INSERT statement with an APPEND hit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;11g:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Can's:&lt;/strong&gt;&lt;br /&gt;Dropping a column&lt;br /&gt;Adding a column&lt;br /&gt;Table compression (Row-level compression in a block)&lt;br /&gt;Materialized Views compression&lt;br /&gt;IOT compression&lt;br /&gt;Unique and Non-Unique index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Can'ts:&lt;/strong&gt;&lt;br /&gt;No LOB compression (only with  utl_compress package)&lt;br /&gt;No Bitmap index compression&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compression occurs only when:&lt;/strong&gt;&lt;br /&gt;Direct Path SQL*Loader&lt;br /&gt;CREATE TABLE AS SELECT... (CTAS)&lt;br /&gt;Parallel or serial INSERT statement with an APPEND hit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What is Oracle Advanced Compression in 11g?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;OLTP compression (Normal DML's also included)&lt;br /&gt;Compression for Unstructured data like documents, spreadsheets and XML files&lt;br /&gt;RMAN compression&lt;br /&gt;Data Pump DATA compression&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to test the performance impact between compress and no compress tables?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CREATE TABLE comp_test_1 (&lt;br /&gt;  id    NUMBER(10),&lt;br /&gt;  data  VARCHAR2(50)&lt;br /&gt;)&lt;br /&gt;TABLESPACE users;&lt;br /&gt;&lt;br /&gt;CREATE TABLE comp_test_2 (&lt;br /&gt;  id    NUMBER(10),&lt;br /&gt;  data  VARCHAR2(50)&lt;br /&gt;)&lt;br /&gt;TABLESPACE users &lt;br /&gt;compress;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET SERVEROUTPUT ON SIZE UNLIMITED&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  l_loops  NUMBER := 100000;&lt;br /&gt;  l_data   VARCHAR2(50);&lt;br /&gt;  l_start  NUMBER;&lt;br /&gt;BEGIN&lt;br /&gt;  EXECUTE IMMEDIATE 'TRUNCATE TABLE comp_test_1';&lt;br /&gt;  EXECUTE IMMEDIATE 'TRUNCATE TABLE comp_test_2';&lt;br /&gt;  &lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    INSERT INTO comp_test_1 (id, data)&lt;br /&gt;    VALUES (i, 'Data for ' || i);&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Normal Insert   : ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;  &lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    INSERT INTO comp_test_2 (id, data)&lt;br /&gt;    VALUES (i, 'Data for ' || i);&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Compressed Insert: ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;&lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    UPDATE comp_test_1&lt;br /&gt;      set data = 'VDUMPA'&lt;br /&gt;    WHERE  id = i;&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Normal Update    : ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;  &lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    UPDATE comp_test_2&lt;br /&gt;      set data = 'VDUMPA'&lt;br /&gt;    WHERE  id = i;&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Uncompressed Update : ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;  &lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    SELECT data&lt;br /&gt;    INTO   l_data&lt;br /&gt;    FROM   comp_test_1&lt;br /&gt;    WHERE  id = i;&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Normal Query    : ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;  &lt;br /&gt;  l_start := DBMS_UTILITY.get_time;&lt;br /&gt;  FOR i IN 1 .. l_loops LOOP&lt;br /&gt;    SELECT data&lt;br /&gt;    INTO   l_data&lt;br /&gt;    FROM   comp_test_2&lt;br /&gt;    WHERE  id = i;&lt;br /&gt;  END LOOP;&lt;br /&gt;  DBMS_OUTPUT.put_line('Uncompressed Query : ' || (DBMS_UTILITY.get_time - l_start));&lt;br /&gt;END;&lt;br /&gt;/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5002898666452097893?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5002898666452097893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5002898666452097893' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5002898666452097893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5002898666452097893'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/02/which-oracle-version-has-what-oracle.html' title='Which oracle version has what Oracle Compression:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-8698837789605501762</id><published>2008-02-25T14:10:00.001-05:00</published><updated>2009-08-17T11:37:23.585-04:00</updated><title type='text'>How to delete jobs stay in 'Running' status in OEM Grid Control?</title><content type='html'>&lt;strong&gt;Problem Description:&lt;/strong&gt;&lt;br /&gt;Job stays in 'Running' status, never complete and can't delete from OEM Grid Control.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. How to find the job_id:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connect sysman@poem&lt;br /&gt;select job_id&lt;br /&gt;  from mgmt_job &lt;br /&gt;where job_name = 'BACKUP_ODS_ARCH_2HRS' &lt;br /&gt;and job_owner = 'SYSMAN'; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. How to stop running job:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connect sysman@poem&lt;br /&gt;exec mgmt_job_engine.stop_all_executions_with_id('459582F20C8B6AF4E0403E0ACECC4DCB',TRUE);&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. How to delete the job:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connect sysman@poem&lt;br /&gt;exec mgmt_job_engine.delete_job('BACKUP_ODS_ARCH_2HRS','SYSMAN');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reference:&lt;br /&gt;Note:430626.1&lt;br /&gt;Note:404211.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-8698837789605501762?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/8698837789605501762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=8698837789605501762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8698837789605501762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8698837789605501762'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/02/how-to-delete-jobs-stay-in-running.html' title='How to delete jobs stay in &apos;Running&apos; status in OEM Grid Control?'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-8956044071363199564</id><published>2008-01-10T17:12:00.000-05:00</published><updated>2008-01-23T19:37:34.163-05:00</updated><title type='text'>ASM access through ftp and html using XDB from Oracle 10gR2:</title><content type='html'>&lt;strong&gt;1. Set up the Oracle XML DB access to the ASM folders:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;@?/rdbms/admin/catxdbdbca 7777 8080&lt;br /&gt;&lt;br /&gt;Note: &lt;br /&gt;a. This script takes two parameters (port numbers) for the FTP and HTTP services respectively.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Look for the datafiles you want to ftp to other DB:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select file_name from dba_data_files&lt;br /&gt;  2  where tablespace_name = 'USERS';&lt;br /&gt;&lt;br /&gt;FILE_NAME&lt;br /&gt;-----------------------------------------------&lt;br /&gt;+ORADB_DBF_DG/oradb/datafile/users.272.583155107&lt;br /&gt;&lt;br /&gt;SQL&gt; create tablespace TTS datafile '+ORADB_DBF_DG/oradb/datafile/tts_01.dbf' SIZE 50M;&lt;br /&gt;&lt;br /&gt;Tablespace created.&lt;br /&gt;&lt;br /&gt;SQL&gt; select file_name from dba_data_files&lt;br /&gt;  2  where tablespace_name = 'TTS';&lt;br /&gt;&lt;br /&gt;FILE_NAME&lt;br /&gt;--------------------------------------&lt;br /&gt;+ORADB_DBF_DG/oradb/datafile/tts_01.dbf&lt;br /&gt;&lt;br /&gt;SQL&gt; alter tablespace tts read only;&lt;br /&gt;&lt;br /&gt;Tablespace altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. How do I access ASM files using ftp:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From the local PC:&lt;/strong&gt;&lt;br /&gt;C:\ASM_FTP_TEST&gt;ftp&lt;br /&gt;ftp&gt; open atlxd215 7777&lt;br /&gt;Connected to atlxd215.&lt;br /&gt;220- atlxd215&lt;br /&gt;Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.&lt;br /&gt;220 atlxd215 FTP Server (Oracle XML DB/Oracle Database) ready.&lt;br /&gt;User (atlxd215:(none)): system&lt;br /&gt;331 pass required for SYSTEM&lt;br /&gt;Password:&lt;br /&gt;230 SYSTEM logged in&lt;br /&gt;ftp&gt; bye&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;From the server:&lt;/strong&gt;&lt;br /&gt;atlxd215 | ORADB | /sys&lt;br /&gt;&gt; ftp&lt;br /&gt;ftp&gt; open atlxd215 7777&lt;br /&gt;Connected to atlxd215.&lt;br /&gt;220- atlxd215&lt;br /&gt;Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.&lt;br /&gt;220 atlxd215 FTP Server (Oracle XML DB/Oracle Database) ready.&lt;br /&gt;530  Please login with USER and PASS.&lt;br /&gt;530  Please login with USER and PASS.&lt;br /&gt;KERBEROS_V4 rejected as an authentication type&lt;br /&gt;Name (atlxd215:oracle): system&lt;br /&gt;331 pass required for SYSTEM&lt;br /&gt;Password:&lt;br /&gt;230 SYSTEM logged in&lt;br /&gt;Remote system type is Unix.&lt;br /&gt;ftp&gt; bye&lt;br /&gt;221 QUIT Goodbye.&lt;br /&gt;atlxd215 | ORADB | /sys&lt;br /&gt;&lt;br /&gt;Note's: &lt;br /&gt;a. All the asm diskgroup directories should be under /sys/asm directory.&lt;br /&gt;b. Use system DB account to login&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. How to access from the browser:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connect / as sysdba&lt;br /&gt;execute dbms_xdb.sethttpport(8080);&lt;br /&gt;execute dbms_xdb.setftpport(7777);&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for FTP type the url : ftp://atlxd215:7777/&lt;br /&gt;for HTTP type the url: http://atlxd215:8080/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-8956044071363199564?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/8956044071363199564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=8956044071363199564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8956044071363199564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8956044071363199564'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/01/asm-access-through-ftp-and-html-using.html' title='ASM access through ftp and html using XDB from Oracle 10gR2:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-6191803923005447185</id><published>2008-01-08T16:43:00.000-05:00</published><updated>2008-01-08T16:49:37.751-05:00</updated><title type='text'>Sample Automated Table Compression procedures:</title><content type='html'>&lt;strong&gt;1. Procedure to compress partition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE procedure compress_tab_par&lt;br /&gt;   (tab_name varchar2, own_name varchar2 DEFAULT 'EDW')&lt;br /&gt;is&lt;br /&gt;init_size  number;&lt;br /&gt;final_size number;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line('Table Partitions compression for ' || own_name || '.' || tab_name || ' started...');&lt;br /&gt; DBMS_OUTPUT.put_line(' ');&lt;br /&gt;&lt;br /&gt; select sum(bytes/1024/1024) i_size_MB&lt;br /&gt;        into init_size&lt;br /&gt;   from user_extents&lt;br /&gt; where segment_name = tab_name;&lt;br /&gt;&lt;br /&gt;/* Step1 - Make Indexes partitions Unusable */&lt;br /&gt; begin&lt;br /&gt;    for x1 in ( select index_name, partition_name&lt;br /&gt;                  from user_ind_partitions&lt;br /&gt;                where index_name in (select index_name&lt;br /&gt;                                      from user_indexes&lt;br /&gt;                                     where table_name = tab_name&lt;br /&gt;                                      and index_type = 'BITMAP')&lt;br /&gt;                  and status = 'USABLE')&lt;br /&gt;&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x1.index_name||' MODIFY PARTITION '||x1.partition_name||' UNUSABLE';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Making Index partitions Unusable COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step2 - Alter table Partitions to compress */&lt;br /&gt;begin&lt;br /&gt;    for x2 in ( select table_name, partition_name&lt;br /&gt;                  from user_tab_partitions&lt;br /&gt;                where table_name = tab_name)&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER TABLE '||x2.table_name||' MODIFY PARTITION '||x2.partition_name||' COMPRESS';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Modifying Table partitions to compress COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /* Step3 - Table partitions compress */&lt;br /&gt; begin&lt;br /&gt;    for x3 in ( select table_name, partition_name&lt;br /&gt;                  from user_tab_partitions&lt;br /&gt;                where table_name = tab_name)&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER TABLE '||x3.table_name||' MOVE PARTITION '||x3.partition_name||' COMPRESS NOPARALLEL';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Table partitions compress COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step4 - Rebuild the Indexes partitions */&lt;br /&gt;begin&lt;br /&gt;    for x4 in ( select index_name, partition_name&lt;br /&gt;                  from user_ind_partitions&lt;br /&gt;                where index_name in (select index_name&lt;br /&gt;                                      from user_indexes&lt;br /&gt;                                     where table_name = tab_name)&lt;br /&gt;                    and status = 'UNUSABLE')&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x4.index_name||' REBUILD PARTITION '||x4.partition_name||' PARALLEL 8 NOLOGGING';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Rebuild the Indexes partitions COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step5 - Analyze the table and indexes */&lt;br /&gt; dbms_stats.gather_table_stats(ownname=&gt; own_name, tabname=&gt; tab_name, estimate_percent =&gt; 0.001, method_opt=&gt; 'FOR ALL COLUMNS SIZE 1', cascade=&gt; TRUE, degree=&gt; 8);&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line('DBMS stats COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; select sum(bytes/1024/1024) f_size_MB&lt;br /&gt;        into final_size&lt;br /&gt;    from user_extents&lt;br /&gt;  where segment_name = tab_name;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table initial Size in MB is: '||init_size||' MB');&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table final Size in MB is:   '||final_size||' MB');&lt;br /&gt; DBMS_OUTPUT.put_line(' NOTE: don''t forget to resize the datafiles !!!!!!!!!!');&lt;br /&gt; DBMS_OUTPUT.put_line('Table Partitions compression for ' || own_name || '.' || tab_name || ' completed.');&lt;br /&gt;&lt;br /&gt;EXCEPTION&lt;br /&gt;      WHEN NO_DATA_FOUND THEN&lt;br /&gt;         raise_application_error(-20101,sqlerrm);&lt;br /&gt;      WHEN OTHERS THEN&lt;br /&gt;         raise_application_error(-20102,sqlerrm);&lt;br /&gt;&lt;br /&gt;end compress_tab_par;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Procedure to compress Subpartition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE procedure compress_tab_subpar&lt;br /&gt;   (tab_name varchar2, own_name varchar2 DEFAULT 'EDW')&lt;br /&gt;is&lt;br /&gt;init_size  number;&lt;br /&gt;final_size number;&lt;br /&gt;&lt;br /&gt;begin &lt;br /&gt; &lt;br /&gt; select sum(bytes/1024/1024) i_size_MB&lt;br /&gt;        into init_size&lt;br /&gt;   from user_extents&lt;br /&gt; where segment_name = tab_name;&lt;br /&gt; &lt;br /&gt;/* Step1 - Making Indexes partitions Unusable */ &lt;br /&gt; begin&lt;br /&gt;    for x1 in ( select index_name, subpartition_name &lt;br /&gt;                  from user_ind_subpartitions &lt;br /&gt;                where index_name in (select index_name &lt;br /&gt;                                      from user_indexes &lt;br /&gt;                                     where table_name = tab_name))&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x1.index_name||' MODIFY SUBPARTITION '||x1.subpartition_name||' UNUSABLE';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Making Index subpartitions Unusable COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step2 - Alter table to compress */ &lt;br /&gt; execute immediate 'ALTER TABLE '||tab_name||' COMPRESS';&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Altering the table to compress has been COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /* Step3 - Modifying table partitions compress */ &lt;br /&gt; begin&lt;br /&gt;    for x2 in ( select table_name, partition_name&lt;br /&gt;                  from user_tab_subpartitions &lt;br /&gt;                where table_name = tab_name)&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER TABLE '||x2.table_name||' MODIFY PARTITION '||x2.partition_name||' COMPRESS NOPARALLEL';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Modifying table partitions to compress COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step4 - Table subpartitions compress */ &lt;br /&gt; begin&lt;br /&gt;    for x3 in ( select table_name, subpartition_name&lt;br /&gt;                  from user_tab_subpartitions &lt;br /&gt;                where table_name = tab_name)&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER TABLE '||x3.table_name||' MOVE SUBPARTITION '||x3.subpartition_name||' NOPARALLEL';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Table subpartitions compress COMPLETED.');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;/* Step5 - Rebuild the Indexes partitions */ &lt;br /&gt;begin&lt;br /&gt;    for x4 in ( select index_name, subpartition_name &lt;br /&gt;                  from user_ind_subpartitions &lt;br /&gt;                where index_name in (select index_name &lt;br /&gt;                                      from user_indexes &lt;br /&gt;                                     where table_name = tab_name))&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x4.index_name||' REBUILD SUBPARTITION '||x4.subpartition_name||' PARALLEL 8';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Rebuild the Indexes partitions COMPLETED.');&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;/* Step6 - Analyze the table and indexes*/  &lt;br /&gt; dbms_stats.gather_table_stats(ownname=&gt; own_name, tabname=&gt; tab_name, estimate_percent =&gt; 0.001, method_opt=&gt; 'FOR ALL COLUMNS SIZE 1', cascade=&gt; TRUE, degree=&gt; 8);&lt;br /&gt; &lt;br /&gt; DBMS_OUTPUT.put_line('DBMS stats COMPLETED.');&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; select sum(bytes/1024/1024) f_size_MB &lt;br /&gt;        into final_size &lt;br /&gt;    from user_extents&lt;br /&gt;  where segment_name = tab_name;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table initial Size in MB is: '||init_size||' MB');&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table final Size in MB is:   '||final_size||' MB');&lt;br /&gt; DBMS_OUTPUT.put_line(' Note: Hai don''t forget to resize the datafiles !!!!!!!!!!');&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;EXCEPTION&lt;br /&gt;      WHEN NO_DATA_FOUND THEN&lt;br /&gt;         raise_application_error(-20101,sqlerrm);&lt;br /&gt;      WHEN OTHERS THEN&lt;br /&gt;         raise_application_error(-20102,sqlerrm);&lt;br /&gt;&lt;br /&gt;end compress_tab_subpar;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Procedure to Back out compressed partition table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE procedure EDW.nocompress_tab_par&lt;br /&gt;   (tab_name varchar2, own_name varchar2 DEFAULT 'EDW')&lt;br /&gt;is&lt;br /&gt;init_size  number;&lt;br /&gt;final_size number;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt; select sum(bytes/1024/1024) i_size_MB&lt;br /&gt;        into init_size&lt;br /&gt;   from user_extents&lt;br /&gt; where segment_name = tab_name;&lt;br /&gt;&lt;br /&gt;/* Step1 - Alter table Partitions to NOcompress */&lt;br /&gt;begin&lt;br /&gt;    for x3 in ( select table_name, partition_name&lt;br /&gt;                  from user_tab_partitions&lt;br /&gt;                where table_name = tab_name)&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER TABLE '||x3.table_name||' MOVE PARTITION '||x3.partition_name||' NOCOMPRESS';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Table partitions NOcompress COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step2 - Make Indexes partitions Unusable */&lt;br /&gt; begin&lt;br /&gt;    for x1 in ( select index_name, partition_name&lt;br /&gt;                  from user_ind_partitions&lt;br /&gt;                where index_name in (select index_name&lt;br /&gt;                                      from user_indexes&lt;br /&gt;                                     where table_name = tab_name&lt;br /&gt;                                      and index_type = 'BITMAP')&lt;br /&gt;                  and status = 'USABLE')&lt;br /&gt;&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x1.index_name||' MODIFY PARTITION '||x1.partition_name||' UNUSABLE';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Making Index partitions Unusable COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step3 - Alter table to NOcompress */&lt;br /&gt; execute immediate 'ALTER TABLE '||tab_name||' NOCOMPRESS';&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Altering the table to NOcompress has been COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step4 - Rebuild the Indexes partitions */&lt;br /&gt;begin&lt;br /&gt;    for x4 in ( select index_name, partition_name&lt;br /&gt;                  from user_ind_partitions&lt;br /&gt;                where index_name in (select index_name&lt;br /&gt;                                      from user_indexes&lt;br /&gt;                                     where table_name = tab_name)&lt;br /&gt;                    and status = 'UNUSABLE')&lt;br /&gt;     loop&lt;br /&gt;       execute immediate 'ALTER INDEX '||x4.index_name||' REBUILD PARTITION '||x4.partition_name||' PARALLEL 8 NOLOGGING';&lt;br /&gt;     end loop;&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' Rebuild the Indexes partitions COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Step5 - Analyze the table and indexes */&lt;br /&gt; dbms_stats.gather_table_stats(ownname=&gt; own_name, tabname=&gt; tab_name, estimate_percent =&gt; 0.001, method_opt=&gt; 'FOR ALL COLUMNS SIZE 1', cascade=&gt; TRUE, degree=&gt; 4);&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line('DBMS stats COMPLETED.');&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; select sum(bytes/1024/1024) f_size_MB&lt;br /&gt;        into final_size&lt;br /&gt;    from user_extents&lt;br /&gt;  where segment_name = tab_name;&lt;br /&gt;&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table initial Size in MB is: '||init_size||' MB');&lt;br /&gt; DBMS_OUTPUT.put_line(' '||tab_name||' table final Size in MB is:   '||final_size||' MB');&lt;br /&gt;&lt;br /&gt;EXCEPTION&lt;br /&gt;      WHEN NO_DATA_FOUND THEN&lt;br /&gt;         raise_application_error(-20101,sqlerrm);&lt;br /&gt;      WHEN OTHERS THEN&lt;br /&gt;         raise_application_error(-20102,sqlerrm);&lt;br /&gt;&lt;br /&gt;end nocompress_tab_par;&lt;br /&gt;/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-6191803923005447185?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/6191803923005447185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=6191803923005447185' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6191803923005447185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/6191803923005447185'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/01/sample-automated-table-compression.html' title='Sample Automated Table Compression procedures:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-1343059304433543801</id><published>2008-01-04T13:17:00.000-05:00</published><updated>2008-01-04T13:19:14.305-05:00</updated><title type='text'>ASM SAN migration Case Study:</title><content type='html'>&lt;strong&gt;Problem: &lt;/strong&gt;&lt;br /&gt;I need to remove 3 old SAN disks(size of 150 G each) from my ASM database without any down time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Server, OS and DB details:&lt;/strong&gt;&lt;br /&gt;OS:  RHEL 4 Update 4 (64 bit)&lt;br /&gt;DB:  10.2.0.3.0&lt;br /&gt;Server: DELL PowerEdgeTM  2950(16G Memory, 4 CPU's(Intel(R) Xeon(R) CPU  5160  @ 3.00GHz))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Procedure:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;1. Make sure you have free disks available to add to the ASM diskgroup, before dropping the disk's:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;On ASM instance:&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;&lt;br /&gt;set linesize 200;&lt;br /&gt;col path format a20;&lt;br /&gt;&lt;br /&gt;select NAME, PATH, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, TOTAL_MB, FREE_MB&lt;br /&gt;  from v$asm_disk;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Add new ASM disks to the diskgroup:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;alter diskgroup ORADB_DATA01_DG add disk 'ORCL:H_1253_1521';&lt;br /&gt;alter diskgroup ORADB_DATA01_DG add disk 'ORCL:H_1253_1522';&lt;br /&gt;alter diskgroup ORADB_DATA01_DG add disk 'ORCL:H_1253_1523';&lt;br /&gt;&lt;br /&gt;alter diskgroup ORADB_DATA01_DG REBALANCE POWER 10; or&lt;br /&gt;alter system set asm_power_limit=10 scope=memory;&lt;br /&gt;&lt;br /&gt;-- Check the rebalance operation&lt;br /&gt;select * from v$asm_operation;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Time taken to rebalance the diskgroup: app. 90 min.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Identify the disks to drop from the diskgroup:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;set linesize 200;&lt;br /&gt;col path format a20;&lt;br /&gt;&lt;br /&gt;select NAME, PATH, MOUNT_STATUS, HEADER_STATUS, MODE_STATUS, TOTAL_MB, FREE_MB&lt;br /&gt;  from v$asm_disk;&lt;br /&gt;&lt;br /&gt;ALTER DISKGROUP ORADB_DATA01_DG DROP DISK B_1530_1091;&lt;br /&gt;ALTER DISKGROUP ORADB_DATA01_DG DROP DISK C_1530_1090;&lt;br /&gt;ALTER DISKGROUP ORADB_DATA01_DG DROP DISK D_1530_1081;&lt;br /&gt;&lt;br /&gt;alter diskgroup ORADB_DATA01_DG REBALANCE POWER 10; or&lt;br /&gt;alter system set asm_power_limit=10 scope=memory;&lt;br /&gt;&lt;br /&gt;-- Check the rebalance operation&lt;br /&gt;select * from v$asm_operation;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Time taken to rebalance the diskgroup: app. 90 min.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Physically removing the disks from the server:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;as root only!!!&lt;br /&gt;&lt;br /&gt;/etc/init.d/oracleasm deletedisk B_1530_1091&lt;br /&gt;/etc/init.d/oracleasm deletedisk C_1530_1090&lt;br /&gt;/etc/init.d/oracleasm deletedisk D_1530_1081&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to find mapping of ASM disks to Physical Devices?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;a.&lt;br /&gt;atlxd215 | +ASM | /dev&lt;br /&gt;&gt; /etc/init.d/oracleasm querydisk H_1253_1521&lt;br /&gt;Disk "H_1253_1521" is a valid ASM disk on device [120, 113]&lt;br /&gt;&lt;br /&gt;b.&lt;br /&gt;atlxd215 | +ASM | /dev&lt;br /&gt;&gt; ls -l /dev | grep 120 | grep 113&lt;br /&gt;brwxrwx---  1 oracle   dba      120, 113 Oct  1 10:55 emcpowerh1&lt;br /&gt;&lt;br /&gt;[or] &lt;br /&gt;&lt;br /&gt;atlxd215 | +ASM | /dev&lt;br /&gt;&gt; cd oracleasm&lt;br /&gt;atlxd215 | +ASM | /dev/oracleasm&lt;br /&gt;&gt; cd disks&lt;br /&gt;&lt;br /&gt;atlxd215 | +ASM | /dev/oracleasm/disks&lt;br /&gt;&gt; ls -lt&lt;br /&gt;total 0&lt;br /&gt;brw-rw----  1 oracle dba 120, 177 Oct  1 11:04 L_1253_1561&lt;br /&gt;brw-rw----  1 oracle dba 120, 161 Oct  1 11:04 K_1253_1560&lt;br /&gt;brw-rw----  1 oracle dba 120, 145 Oct  1 11:04 J_1253_1541&lt;br /&gt;brw-rw----  1 oracle dba 120, 129 Oct  1 11:03 I_1253_1540&lt;br /&gt;brw-rw----  1 oracle dba 120, 113 Oct  1 11:03 H_1253_1521&lt;br /&gt;brw-rw----  1 oracle dba 120,  97 Oct  1 11:03 G_1253_1520&lt;br /&gt;brw-rw----  1 oracle dba 120,  81 Oct  1 11:03 F_1253_1501&lt;br /&gt;brw-rw----  1 oracle dba 120,  65 Oct  1 10:59 E_1253_1500&lt;br /&gt;&lt;br /&gt;c. &lt;br /&gt;If you are using multi-path, you will need an additional step to map the physical device to the multi-path device:&lt;br /&gt;&lt;br /&gt;as root only!!!&lt;br /&gt;&lt;br /&gt;# /sbin/powermt display dev=emcpowerh1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-1343059304433543801?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/1343059304433543801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=1343059304433543801' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1343059304433543801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1343059304433543801'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2008/01/asm-san-migration-case-study.html' title='ASM SAN migration Case Study:'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-1388769123415930603</id><published>2007-12-31T16:23:00.000-05:00</published><updated>2007-12-31T16:27:01.768-05:00</updated><title type='text'>How do I use selected columns with query parameter in Data Pump (Yes, External Tables).</title><content type='html'>&lt;strong&gt;1. Create a test user and grants:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;sqlplus / as sysdba&lt;br /&gt;&lt;br /&gt;create user test identified by test&lt;br /&gt;default tablespace users temporary tablespace temp;&lt;br /&gt;&lt;br /&gt;grant connect , resource to test;&lt;br /&gt;grant  create any directory to test;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Create a table and insert some records:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;connect test/test&lt;br /&gt;&lt;br /&gt;create table cur_objs(obj_id number, obj_name varchar2(128), cdate date, status varchar2(7));&lt;br /&gt;&lt;br /&gt;insert into cur_objs&lt;br /&gt;select object_id, object_name, created, status from all_objects;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;insert into cur_objs&lt;br /&gt;select * from cur_objs;&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;SQL&gt; select count(1) from cur_objs;&lt;br /&gt;&lt;br /&gt;  COUNT(1)&lt;br /&gt;----------&lt;br /&gt;     69020&lt;br /&gt;&lt;br /&gt;SQL&gt; SELECT count(1) FROM cur_objs&lt;br /&gt;WHERE status = 'VALID'&lt;br /&gt;  AND obj_name like '%DBMS%';&lt;br /&gt;  2    3&lt;br /&gt;  COUNT(1)&lt;br /&gt;----------&lt;br /&gt;       760&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Create an Oracle directory and the data pump external table:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;-- Check if the directory is valid:&lt;br /&gt;$ cd /backup_ORADB/oracle/ORADB/data_ext&lt;br /&gt;$ ls -lt&lt;br /&gt;total 0&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;SQL&gt; CREATE DIRECTORY data_ext_dir AS '/backup_ORADB/oracle/ORADB/data_ext';&lt;br /&gt;&lt;br /&gt;Directory created.&lt;br /&gt;&lt;br /&gt;SQL&gt; DROP TABLE extract_cur_objs;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Table dropped.&lt;br /&gt;&lt;br /&gt;SQL&gt; CREATE TABLE extract_cur_objs&lt;br /&gt;  2  ORGANIZATION EXTERNAL&lt;br /&gt;  3  (TYPE ORACLE_DATAPUMP&lt;br /&gt;  4   DEFAULT DIRECTORY data_ext_dir&lt;br /&gt;  5   LOCATION ('extract_cur_objs1.exp', 'extract_cur_objs2.exp', 'extract_cur_objs3.exp')&lt;br /&gt;  6  )&lt;br /&gt;  7  PARALLEL 3 REJECT LIMIT 0&lt;br /&gt;  8  AS&lt;br /&gt;  9  SELECT obj_id, obj_name FROM cur_objs&lt;br /&gt; 10  WHERE status = 'VALID'&lt;br /&gt; 11    AND obj_name like '%DBMS%';&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SQL&gt; !ls -lt [eE]*&lt;br /&gt;-rw-r-----  1 oracle dba 24576 Dec 29 14:00 extract_cur_objs1.exp&lt;br /&gt;-rw-r-----  1 oracle dba 12288 Dec 29 14:00 extract_cur_objs3.exp&lt;br /&gt;-rw-r-----  1 oracle dba 16384 Dec 29 14:00 extract_cur_objs2.exp&lt;br /&gt;-rw-r-----  1 oracle dba    41 Dec 29 14:00 EXTRACT_CUR_OBJS_10019.log&lt;br /&gt;-rw-r-----  1 oracle dba    41 Dec 29 14:00 EXTRACT_CUR_OBJS_10021.log&lt;br /&gt;-rw-r-----  1 oracle dba    41 Dec 29 14:00 EXTRACT_CUR_OBJS_10017.log&lt;br /&gt;-rw-r-----  1 oracle dba    41 Dec 29 14:00 EXTRACT_CUR_OBJS_9997.log&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Attaching the files:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;DROP TABLE attach_files_cur_objs;&lt;br /&gt;&lt;br /&gt;CREATE TABLE attach_files_cur_objs(&lt;br /&gt; obj_id number, &lt;br /&gt; obj_name varchar2(128))&lt;br /&gt;ORGANIZATION EXTERNAL&lt;br /&gt;(TYPE ORACLE_DATAPUMP &lt;br /&gt; DEFAULT DIRECTORY data_ext_dir &lt;br /&gt; LOCATION ('extract_cur_objs1.exp', 'extract_cur_objs2.exp', 'extract_cur_objs3.exp')&lt;br /&gt;)&lt;br /&gt;PARALLEL 3 REJECT LIMIT 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Side Note: impdp utility may not work with these files.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-1388769123415930603?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/1388769123415930603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=1388769123415930603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1388769123415930603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/1388769123415930603'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2007/12/how-do-i-use-selected-columns-with.html' title='How do I use selected columns with query parameter in Data Pump (Yes, External Tables).'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-5967324684790985431</id><published>2007-12-27T12:04:00.000-05:00</published><updated>2007-12-27T12:10:34.143-05:00</updated><title type='text'>Database Migration from Sun(File system) to Linux(ASM and RAC)</title><content type='html'>&lt;strong&gt;a. Create a tablespace MIG_SUN_TO_LINUX and a object:&lt;/strong&gt;&lt;br /&gt;   &lt;br /&gt;   sqlplus / as sysdba&lt;br /&gt;   CREATE TABLESPACE MIG_SUN_TO_LINUX DATAFILE '/u01_ORADB/oradata/ORADB/mig_sun_to_linux_01.dbf' SIZE 100M;&lt;br /&gt;   &lt;br /&gt;   CONNECT ORADBDEV1/xxxxx@ORADB&lt;br /&gt;   DROP TABLE EMP;&lt;br /&gt;   CREATE TABLE EMP (ENO NUMBER(10), ENAME VARCHAR2(50)) &lt;br /&gt;   TABLESPACE MIG_SUN_TO_LINUX;&lt;br /&gt;   &lt;br /&gt;   INSERT INTO EMP VALUES(10000001, 'VJ');&lt;br /&gt;   INSERT INTO EMP VALUES(10000002, 'ASHRAY');&lt;br /&gt;   COMMIT;&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;&lt;strong&gt;b. Use TTS procedure to move the tablesapce files:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   sqlplus / as sysdba&lt;br /&gt;   EXEC DBMS_TTS.TRANSPORT_SET_CHECK(ts_list =&gt; 'MIG_SUN_TO_LINUX', incl_constraints =&gt; TRUE);&lt;br /&gt;   SELECT * FROM transport_set_violations;&lt;br /&gt;   &lt;br /&gt;   ALTER TABLESPACE MIG_SUN_TO_LINUX READ ONLY;&lt;br /&gt;&lt;br /&gt;   exp USERID=\"sys/xxxxx@oradb AS SYSDBA\" TRANSPORT_TABLESPACE=y TABLESPACES=MIG_SUN_TO_LINUX FILE=MIG_SUN_TO_LINUX.dmp&lt;br /&gt;   &lt;br /&gt;   scp MIG_SUN_TO_LINUX.dmp atlxd215:/export/home/oracle&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;c. Use RMAN to convert the datafiles from SUN to LINUX format:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   rman target / nocatalog&lt;br /&gt;   &lt;br /&gt;   CONVERT TABLESPACE MIG_SUN_TO_LINUX&lt;br /&gt;      TO PLATFORM = "Linux IA (64-bit)"&lt;br /&gt;      DB_FILE_NAME_CONVERT = "/u01_ORADB/oradata/ORADB/mig_sun_to_linux_01.dbf" , "/backup_ORADB/oracle/ORADB/mig/mig_sun_to_linux_01.dbf"&lt;br /&gt;      PARALLELISM=5;&lt;br /&gt;&lt;br /&gt;Side note: If your linux is 32bit? Change TO PLATFORM = "Linux IA (64-bit)" above command to TO PLATFORM = "Linux IA (32-bit)"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;d. ftp or scp the MIG_SUN_TO_LINUX tablespace file to destination RAC server(eg:. copy the datafiles under /u00/mig_area/oradb directory):&lt;/strong&gt;&lt;br /&gt;   &lt;br /&gt;   scp /backup_ORADB/oracle/ORADB/mig/mig_sun_to_linux_01.dbf atlxd215:/u00/mig_area/oradb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;e. copy file from disk to ASM using DBMS_FILE_TRANSFER:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   -- Create the source and destination directory objects.&lt;br /&gt;   CREATE OR REPLACE DIRECTORY sour_db_files_dir AS '/u00/mig_area/oradb';&lt;br /&gt;   CREATE OR REPLACE DIRECTORY dest_db_files_dir AS '+ORADB_DATA01_DG/oradb/datafile';&lt;br /&gt;&lt;br /&gt;   -- Copy the file to ASM disk group.&lt;br /&gt;   BEGIN&lt;br /&gt;       DBMS_FILE_TRANSFER.COPY_FILE(&lt;br /&gt;        source_directory_object      =&gt; 'sour_db_files_dir',&lt;br /&gt;        source_file_name             =&gt; 'mig_sun_to_linux_01.dbf',&lt;br /&gt;        destination_directory_object =&gt; 'dest_db_files_dir',&lt;br /&gt;        destination_file_name        =&gt; 'mig_sun_to_linux_01.dbf');&lt;br /&gt;   END;&lt;br /&gt;   /&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;f. Attach the file to target DB (Linux) - imp:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   imp USERID=\"sys/xxxxx@oradb AS SYSDBA\" FROMUSER=ORADBDEV1 TOUSER=ORADBTEST1 TRANSPORT_TABLESPACE=y DATAFILES='+ORADB_DATA01_DG/oradb/datafile/mig_sun_to_linux_01.dbf' TABLESPACES=MIG_SUN_TO_LINUX FILE=/export/home/oracle/MIG_SUN_TO_LINUX.dmp&lt;br /&gt;&lt;br /&gt;      &lt;br /&gt;&lt;strong&gt;g. Make the tablespace to read write:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   ALTER TABLESPACE MIG_SUN_TO_LINUX READ WRITE;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-5967324684790985431?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/5967324684790985431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=5967324684790985431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5967324684790985431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/5967324684790985431'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2007/12/database-migration-from-sunfile-system.html' title='Database Migration from Sun(File system) to Linux(ASM and RAC)'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4161953958134414599.post-8752777759836874331</id><published>2007-12-24T23:36:00.000-05:00</published><updated>2007-12-26T18:34:40.912-05:00</updated><title type='text'>How to convert partition table into Interval Partitioning table in 11g</title><content type='html'>&lt;strong&gt;&lt;strong&gt;&lt;strong&gt;1. Create dummy tablespaces and user:&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;br /&gt;create tablespace testa11_data datafile size 10m autoextend on maxsize 2000m;&lt;br /&gt;create tablespace testa11_index datafile size 10m autoextend on maxsize 2000m;&lt;br /&gt;&lt;br /&gt;create tablespace testb11_data datafile size 10m autoextend on maxsize 2000m;&lt;br /&gt;&lt;br /&gt;create user vj identified by vj&lt;br /&gt;default tablespace testa11_data;&lt;br /&gt;grant connect, resource to vj;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Create a partition table and local index:&lt;/strong&gt;&lt;br /&gt;connect vj/vj&lt;br /&gt;drop table emp;&lt;br /&gt;create table emp(eno number(1), ename varchar2(10), sal number(6), join_date date)&lt;br /&gt;PARTITION BY RANGE (join_date) (&lt;br /&gt;PARTITION emp_dec06 VALUES LESS THAN (TO_DATE('01-JAN-2007','DD-MON-YYYY'))&lt;br /&gt;TABLESPACE testa11_data,&lt;br /&gt;PARTITION emp_jan07 VALUES LESS THAN (TO_DATE('01-FEB-2007','DD-MON-YYYY'))&lt;br /&gt;TABLESPACE testa11_data,&lt;br /&gt;PARTITION emp_feb07 VALUES LESS THAN (TO_DATE('01-MAR-2007','DD-MON-YYYY'))&lt;br /&gt;TABLESPACE testa11_data);&lt;br /&gt;&lt;br /&gt;create index idx1_eno_emp on emp(eno)&lt;br /&gt;local&lt;br /&gt;tablespace testa11_index;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3. Check and note the partition and tablespace names:&lt;/strong&gt;&lt;br /&gt;select * from emp;&lt;br /&gt;&lt;br /&gt;col table_name for a20;&lt;br /&gt;col partition_name for a20;&lt;br /&gt;col tablespace_name for a20;&lt;br /&gt;col index_name for a20;&lt;br /&gt;select table_name, partition_name, tablespace_name&lt;br /&gt;  from dba_tab_partitions&lt;br /&gt;  where table_name = 'EMP';&lt;br /&gt;&lt;br /&gt;select index_name, partition_name, tablespace_name&lt;br /&gt;  from dba_ind_partitions&lt;br /&gt;where index_name = 'IDX1_ENO_EMP';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4. Insert data:&lt;/strong&gt;&lt;br /&gt;insert into emp values(1,'VJ',100,'20-JAN-2007');&lt;br /&gt;insert into emp values(2,'BJ',200,'20-FEB-2007');&lt;br /&gt;insert into emp values(3,'JJ',300,'20-MAR-2007'); -- this insert will fail, because there is no March data partition.&lt;br /&gt;insert into emp values(4,'PJ',400,'20-APR-2007'); -- this insert will fail, because there is no April data partition.&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5. -- 11g trick&lt;/strong&gt;&lt;br /&gt;alter table emp set interval(numtoyminterval(1,'MONTH')); -- Setting up the interval for the table.&lt;br /&gt;alter table emp set store in (testb11_data); -- All upcoming partitions data will be assigned to new tablespace (testb11_data).&lt;br /&gt;&lt;br /&gt;insert into emp values(3,'JJ',300,'20-MAR-2007');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;insert into emp values(4,'PJ',400,'20-APR-2007');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;select table_name, partition_name, tablespace_name&lt;br /&gt;  from dba_tab_partitions&lt;br /&gt;  where table_name = 'EMP';&lt;br /&gt;&lt;br /&gt;select index_name, partition_name, tablespace_name&lt;br /&gt;  from dba_ind_partitions&lt;br /&gt;where index_name = 'IDX1_ENO_EMP';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create tablespace testb11_index datafile size 10m autoextend on maxsize 2000m;&lt;br /&gt;&lt;br /&gt;alter index idx1_eno_emp set store in (testb11_index); -- Assigning new tablespace for new index partitions.&lt;br /&gt;insert into emp values(5,'RJ',500,'20-MAY-2007');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;alter index idx1_eno_emp modify DEFAULT ATTRIBUTES tablespace testb11_index;&lt;br /&gt;insert into emp values(6,'RJ',600,'20-JUN-2007');&lt;br /&gt;commit;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Great 11g partition feature improvement. The thing I like about this is, not only creates new table and index partitions and also allocates existing index tablespace to index partitions. No rebuild index partitions required to modify the correct tablespace!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4161953958134414599-8752777759836874331?l=vijaydumpa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vijaydumpa.blogspot.com/feeds/8752777759836874331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4161953958134414599&amp;postID=8752777759836874331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8752777759836874331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4161953958134414599/posts/default/8752777759836874331'/><link rel='alternate' type='text/html' href='http://vijaydumpa.blogspot.com/2007/12/how-to-convert-partition-table-into.html' title='How to convert partition table into Interval Partitioning table in 11g'/><author><name>Vijay R. Dumpa</name><uri>http://www.blogger.com/profile/05400068852161662003</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_B8O_vAvD2W8/SblrhipOH7I/AAAAAAAAAAM/rLr49i9CuMI/S220/Vijay+008.jpg'/></author><thr:total>0</thr:total></entry></feed>
