<?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-6664820370469214432</id><updated>2011-07-08T05:54:52.146-07:00</updated><category term='The purpose of this post to educate Starter DBA&apos;s / Junior DBA&apos;s as to how easy it is to create a database :)'/><title type='text'>Invincible DBA!</title><subtitle type='html'>Important: Topics which are discussed here are my own views / findings and do not necessarily match with anybody else nor with Oracle either. Please test them from your side before you apply.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-8552493532217609914</id><published>2010-09-06T20:48:00.000-07:00</published><updated>2010-09-06T20:53:48.280-07:00</updated><title type='text'>Purging trace and dump files with 11g ADRCI</title><content type='html'>&lt;p&gt;In previous versions of Oracle prior to 11g, we had to use our own  housekeeping scripts to purge the udump, cdump and bdump directories.&lt;/p&gt; &lt;p&gt;In Oracle 11g, we now have the ADR (Automatic Diagnostic Repository) which is defined by the diagnostic_dest parameter.&lt;/p&gt; &lt;p&gt;So how are unwanted trace and core dump files cleaned out in 11g automatically?&lt;/p&gt; &lt;p&gt;This is done by the MMON background process.&lt;/p&gt; &lt;p&gt;There are two time attributes which are used to manage the retention  of information in ADR. Both attributes correspond to a number of hours  after which the MMON  background process purges the expired ADR data.&lt;/p&gt; &lt;p&gt;LONGP_POLICY (long term) defaults to 365 days and relates to things like Incidents and Health Monitor warnings.&lt;/p&gt; &lt;p&gt;SHORTP_POLICY (short term) defaults to 30 days and relates to things like trace and core dump files&lt;/p&gt; &lt;p&gt;The ADRCI command show control will show us what the current purge settings are as shown below.&lt;br /&gt;&lt;/p&gt;adrci&gt; &lt;strong&gt;show control&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;ADR Home = /u01/app/oracle/diag/rdbms/ttrlwiki/ttrlwiki:&lt;br /&gt;*************************************************************************&lt;br /&gt;ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME&lt;br /&gt;-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ----------------------------------------&lt;br /&gt;1095473802           720                  8760                 2010-07-07 08:46:56.405618 +08:00        2010-08-22 22:14:11.443356 +08:00                                                 1                    2                    76                   1                    2010-07-07 08:46:56.405618 +08:00&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;In this case it is set to the defaults of 720 hours (30 days) for the  Short Term and 8760 hours (One year)  for the long term category. &lt;p&gt;We can change this by using the ADRCI command ‘set control’ &lt;/p&gt; &lt;p&gt;In this example we are changing the retention to 15 days for the Short Term policy attribute (note it is defined in Hours)&lt;/p&gt;&lt;pre&gt;adrci&gt; &lt;strong&gt;set control (SHORTP_POLICY =360)&lt;/strong&gt;&lt;br /&gt;adrci&gt; &lt;strong&gt;show control&lt;/strong&gt;&lt;br /&gt;ADR Home = /u01/app/oracle/diag/rdbms/ttrlwiki/ttrlwiki:&lt;br /&gt;*************************************************************************&lt;br /&gt;ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME&lt;br /&gt;-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ----------------------------------------&lt;br /&gt;1095473802           360                  8760                 2010-08-27 09:36:09.385370 +08:00        2010-08-22 22:14:11.443356 +08:00                                                 1                    2                    76                   1                    2010-07-07 08:46:56.405618 +08:00&lt;span style="font-family: Georgia,serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;We can also manually purge information from the ADR using the ‘purge’ command from ADRCI  (&lt;strong&gt;note this is defined in minutes and not hours&lt;/strong&gt;!). &lt;/p&gt; &lt;p&gt;In this example we are purging all trace files older than 6 days. We see that the LAST_MANUPRG_TIME column is now populated.&lt;/p&gt;&lt;pre&gt;&lt;span style="font-family: Georgia,serif;"&gt;&lt;/span&gt;adrci&gt; &lt;strong&gt;purge -age 8640 -type TRACE  &lt;/strong&gt;&lt;br /&gt;adrci&gt; &lt;strong&gt;show control&lt;/strong&gt;&lt;br /&gt;ADR Home = /u01/app/oracle/diag/rdbms/ttrlwiki/ttrlwiki:&lt;br /&gt;*************************************************************************&lt;br /&gt;ADRID                SHORTP_POLICY        LONGP_POLICY         LAST_MOD_TIME                            LAST_AUTOPRG_TIME                        LAST_MANUPRG_TIME                        ADRDIR_VERSION       ADRSCHM_VERSION      ADRSCHMV_SUMMARY     ADRALERT_VERSION     CREATE_TIME&lt;br /&gt;-------------------- -------------------- -------------------- ---------------------------------------- ---------------------------------------- ---------------------------------------- -------------------- -------------------- -------------------- -------------------- ----------------------------------------&lt;br /&gt;1095473802           360                  8760                 2010-08-27 09:36:09.385370 +08:00        2010-08-22 22:14:11.443356 +08:00        2010-08-27 09:50:07.399853 +08:00        1                    2                    76                   1                    2010-07-07 08:46:56.405618 +08:00&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-8552493532217609914?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/8552493532217609914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=8552493532217609914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8552493532217609914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8552493532217609914'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/purging-trace-and-dump-files-with-11g.html' title='Purging trace and dump files with 11g ADRCI'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-8473950006301831759</id><published>2010-09-06T20:46:00.000-07:00</published><updated>2010-09-06T20:47:20.799-07:00</updated><title type='text'>Using DBMS_XPLAN to obtain the EXPLAIN PLAN of a SQL Statement</title><content type='html'>&lt;div class="post-bodycopy clearfix"&gt;&lt;p&gt;Very often we run AWR, ASH and  ADDM reports which does highlight the Top SQL statements by disk reads,  CPU usage and elapsed time. But an important piece of information is  missing which is the Explain Plan. &lt;/p&gt; &lt;p&gt;Using GUI tools like Enterprise Manager will enable us to drill down  to the Explain Plan from an individual SQL statement, but how do we do  it from the command line?&lt;/p&gt; &lt;p&gt;The answer is simply using &lt;strong&gt;DBMS_XPLAN.DISPLAY_AWR &lt;/strong&gt;and provide to it as a parameter the SQL_ID in question (which can be picked up from the AWR or ASH report). &lt;/p&gt; &lt;p&gt;For example in the ASH report we see this section related to the Top SQL &lt;/p&gt; &lt;pre&gt;Top SQL with Top Events     DB/Inst: FILESDB/filesdb  (Jul 19 13:23 to 13:38)&lt;br /&gt;&lt;br /&gt;                                                       Sampled #&lt;br /&gt;                SQL ID             Planhash        of Executions     % Activity&lt;br /&gt;----------------------- -------------------- -------------------- --------------&lt;br /&gt;Event                          % Event Top Row Source                    % RwSrc&lt;br /&gt;------------------------------ ------- --------------------------------- -------&lt;br /&gt;         &lt;strong&gt;a9j69t1bh6982&lt;/strong&gt;           2008213504                    1           8.33&lt;br /&gt;SQL*Net more data to client       8.33 TABLE ACCESS - FULL                  8.33&lt;br /&gt;SELECT x."CUST_ID",x."CUST_FIRST_NAME",x."CUST_LAST_NAME",x."CUST_GENDER",x."CUS&lt;br /&gt;T_YEAR_OF_BIRTH",x."CUST_MARITAL_STATUS",x."CUST_STREET_ADDRESS",x."CUST_POSTAL_&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;We obtain the SQL_ID which is “a9j69t1bh6982″ and now to view the  Explain Plan for this SQL statement we provide it as a parameter to the  query as shown below.&lt;/p&gt; &lt;pre&gt;SQL&gt; set linesize 120&lt;br /&gt;SQL&gt; set pagesize 500&lt;br /&gt;SQL&gt; select * from TABLE(dbms_xplan.display_awr('&lt;strong&gt;a9j69t1bh6982&lt;/strong&gt;'));&lt;br /&gt;&lt;br /&gt;PLAN_TABLE_OUTPUT&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;SQL_ID a9j69t1bh6982&lt;br /&gt;--------------------&lt;br /&gt;SELECT x."CUST_ID",x."CUST_FIRST_NAME",x."CUST_LAST_NAME",x."CUST_GENDER&lt;br /&gt;",x."CUST_YEAR_OF_BIRTH",x."CUST_MARITAL_STATUS",x."CUST_STREET_ADDRESS"&lt;br /&gt;,x."CUST_POSTAL_CODE",x."CUST_CITY",x."CUST_CITY_ID",x."CUST_STATE_PROVI&lt;br /&gt;NCE",x."CUST_STATE_PROVINCE_ID",x."COUNTRY_ID",x."CUST_MAIN_PHONE_NUMBER&lt;br /&gt;",x."CUST_INCOME_LEVEL",x."CUST_CREDIT_LIMIT",x."CUST_EMAIL",x."CUST_TOT&lt;br /&gt;AL",x."CUST_TOTAL_ID",x."CUST_SRC_ID",x."CUST_EFF_FROM",x."CUST_EFF_TO",&lt;br /&gt;x."CUST_VALID" FROM "SH"."CUSTOMERS" x&lt;br /&gt;&lt;br /&gt;Plan hash value: 2008213504&lt;br /&gt;&lt;br /&gt;PLAN_TABLE_OUTPUT&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time     |&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;|   0 | SELECT STATEMENT  |           |       |       |   414 (100)|          |&lt;br /&gt;|   1 |  TABLE ACCESS FULL| CUSTOMERS | 55500 |  9755K|   414   (1)| 00:00:05 |&lt;br /&gt;-------------------------------------------------------------------------------&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;We can see that the query is performing a full table scan of the  Customers table – something which is not very evident just my reading  the AWR or ASH report.&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-8473950006301831759?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/8473950006301831759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=8473950006301831759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8473950006301831759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8473950006301831759'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/using-dbmsxplan-to-obtain-explain-plan.html' title='Using DBMS_XPLAN to obtain the EXPLAIN PLAN of a SQL Statement'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-8721554859686958228</id><published>2010-09-06T20:44:00.000-07:00</published><updated>2010-09-06T20:45:48.298-07:00</updated><title type='text'>Useful GoldenGate commands - SHELL, OBEY, HELP, HISTORY,VERSIONS</title><content type='html'>&lt;div class="post-bodycopy clearfix"&gt;&lt;p&gt;There are a number of other useful GoldenGate commands which we can run from the GGSCI interface.&lt;/p&gt; &lt;p&gt;The GoldenGate Reference Guide has information in more detail, but I  have tried out a few and found some to be very useful which I am  highlighting below. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;HISTORY&lt;/strong&gt;:  To view a list of the most recently issued GGSCI commands since the GGSCI session started&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 4&gt;&lt;strong&gt; history&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;GGSCI Command History&lt;/p&gt; &lt;p&gt;    1: show all&lt;br /&gt;    2: info all&lt;br /&gt;    3: start extract ext3&lt;br /&gt;    4: history&lt;/p&gt; &lt;p&gt;&lt;strong&gt;! &lt;/strong&gt;: Use the ! command to execute a previous GGSCI command without modifications.&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 3&gt;&lt;strong&gt; info extract ext3&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EXTRACT    EXT3      Last Started 2010-07-21 14:29   Status RUNNING&lt;br /&gt;Checkpoint Lag       01:07:22 (updated 00:00:02 ago)&lt;br /&gt;Log Read Checkpoint  Oracle Redo Logs&lt;br /&gt;                     2010-07-21 13:22:28  Seqno 188, RBA 49576960&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 4&gt;&lt;strong&gt; !&lt;/strong&gt;&lt;br /&gt;info extract ext3&lt;/p&gt; &lt;p&gt;EXTRACT    EXT3      Last Started 2010-07-21 14:29   Status RUNNING&lt;br /&gt;Checkpoint Lag       01:07:22 (updated 00:00:04 ago)&lt;br /&gt;Log Read Checkpoint  Oracle Redo Logs&lt;br /&gt;                     2010-07-21 13:22:28  Seqno 188, RBA 49576960&lt;/p&gt; &lt;p&gt;We can also use a combination of “!” and HISTORY to run a particular command listed in the history.&lt;br /&gt;For example, to run the command 3 listed in the history, we can just run “! 3″.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;VERSIONS&lt;/strong&gt;: to display operating system and database version information. Use DBLOGIN to connect to the database first&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 11&gt; &lt;strong&gt;dblogin userid ggs_owner, password ggs_owner&lt;/strong&gt;&lt;br /&gt;Successfully logged into database.&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 12&gt;  &lt;strong&gt;versions&lt;/strong&gt;&lt;br /&gt;Operating System:&lt;br /&gt;Linux&lt;br /&gt;Version #1 SMP Mon Mar 29 20:19:03 EDT 2010, Release 2.6.18-194.el5PAE&lt;br /&gt;Node: linux01.oncalldba.com&lt;br /&gt;Machine: i686&lt;/p&gt; &lt;p&gt;Database:&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 – Production&lt;br /&gt;PL/SQL Release 11.1.0.6.0 – Production&lt;br /&gt;CORE    11.1.0.6.0      Production&lt;br /&gt;TNS for Linux: Version 11.1.0.6.0 – Production&lt;br /&gt;NLSRTL Version 11.1.0.6.0 – Production&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SHELL&lt;/strong&gt;:  to execute shell commands from within the GGSCI interface.&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 13&gt; &lt;strong&gt;shell ls -l /home/oracle/goldengate/dirdat/&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;total 50588&lt;br /&gt;-rw-rw-rw- 1 oracle oinstall     985 Jul 16 14:57 lt000000&lt;br /&gt;-rw-rw-rw- 1 oracle oinstall 9999629 Jul 19 13:09 lt000001&lt;/p&gt; &lt;p&gt;&lt;strong&gt;HELP&lt;/strong&gt;:  to obtain information about a GoldenGate  command. The basic command returns a list of command categories and the  associated commands&lt;/p&gt; &lt;p&gt;GGSCI (linux01.oncalldba.com) 15&gt; &lt;strong&gt;help&lt;/strong&gt;&lt;/p&gt; &lt;pre&gt;GGSCI Command    Summary&lt;br /&gt;SUBDIRS          CREATE SUBDIRS&lt;br /&gt;ER               INFO ER, KILL ER, LAG ER, SEND ER, STATUS ER,&lt;br /&gt;                START ER, STATS ER, STOP ER&lt;br /&gt;EXTRACT          ADD, ALTER, CLEANUP, DELETE, INFO, KILL,&lt;br /&gt;                LAG, SEND, START, STATS, STATUS, STOP&lt;br /&gt;EXTTRAIL         ADD, ALTER, DELETE, INFO&lt;br /&gt;GGSEVT           VIEW&lt;br /&gt;MANAGER          INFO, REFRESH, SEND, START, STOP, STATUS&lt;br /&gt;MARKER           INFO&lt;br /&gt;PARAMS           EDIT, VIEW&lt;br /&gt;REPLICAT         ADD, ALTER, CLEANUP, DELETE, INFO, KILL,&lt;br /&gt;                LAG, SEND, START, STATS, STATUS, STOP&lt;br /&gt;REPORT           VIEW&lt;br /&gt;RMTTRAIL         ADD, ALTER, DELETE, INFO&lt;br /&gt;TRACETABLE       ADD, DELETE, INFO&lt;br /&gt;TRANDATA         ADD, DELETE, INFO&lt;br /&gt;Database         DBLOGIN, LIST TABLES,&lt;br /&gt;                ENCRYPT PASSWORD&lt;br /&gt;DDL              DUMPDDL&lt;br /&gt;CHECKPOINTTABLE  ADD CHECKPOINTTABLE, DELETE CHECKPOINTTABLE,&lt;br /&gt;                CLEANUP CHECKPOINTTABLE, INFO CHECKPOINTTABLE&lt;br /&gt;Miscellaneous    FC, HELP, HISTORY, INFO ALL, INFO MARKER, OBEY,&lt;br /&gt;                SET, SHELL, SHOW, VERSIONS, !&lt;br /&gt;&lt;br /&gt;For help on a specific command, type HELP  [command] [object]&lt;br /&gt;&lt;br /&gt;Example: HELP ADD REPLICAT&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;strong&gt;OBEY&lt;/strong&gt;: to process a file that contains a list of  GoldenGate commands. OBEY is useful for executing commands that are  frequently used in sequence.&lt;/p&gt; &lt;p&gt;Suppose we want to run some Goldengate commands and execute those from a Unix shell script which can be called via say cron.&lt;/p&gt; &lt;p&gt;So we have a start_goldgate.sh shell script which will use the GGSCI  command OBEY to call a text file which has the Goldengate commands which  we would like to run in sequence.&lt;/p&gt; &lt;p&gt;[oracle@linux01 goldengate]$ &lt;strong&gt;cat start_goldgate.sh&lt;/strong&gt;&lt;br /&gt;cd /home/oracle/goldengate&lt;br /&gt;./ggsci &lt; EOF&lt;br /&gt;&lt;strong&gt;OBEY /home/oracle/goldengate/startup.txt&lt;/strong&gt;&lt;br /&gt;EOF&lt;/p&gt; &lt;p&gt;[oracle@linux01 goldengate]$ &lt;strong&gt;cat startup.txt&lt;/strong&gt;&lt;br /&gt;START MANAGER&lt;br /&gt;START EXTRACT EXT3&lt;br /&gt;START EXTRACT DPUMP&lt;br /&gt;INFO ALL&lt;/p&gt; &lt;p&gt;[oracle@linux01 goldengate]$ &lt;strong&gt;./start_goldgate.sh&lt;/strong&gt;&lt;/p&gt; &lt;pre&gt;Oracle GoldenGate Command Interpreter for Oracle&lt;br /&gt;Version 10.4.0.19 Build 002&lt;br /&gt;Linux, x86, 32bit (optimized), Oracle 11 on Sep 29 2009 08:50:50&lt;br /&gt;&lt;br /&gt;Copyright (C) 1995, 2009, Oracle and/or its affiliates.  All rights reserved.&lt;br /&gt;&lt;br /&gt;GGSCI (linux01.oncalldba.com) 1&gt;&lt;br /&gt;GGSCI (linux01.oncalldba.com) 2&gt; START MANAGER&lt;br /&gt;&lt;br /&gt;Manager started.&lt;br /&gt;&lt;br /&gt;GGSCI (linux01.oncalldba.com) 3&gt; START EXTRACT EXT3&lt;br /&gt;&lt;br /&gt;EXTRACT EXT3 is already running.&lt;br /&gt;&lt;br /&gt;GGSCI (linux01.oncalldba.com) 4&gt; START EXTRACT DPUMP&lt;br /&gt;&lt;br /&gt;EXTRACT DPUMP is already running.&lt;br /&gt;&lt;br /&gt;GGSCI (linux01.oncalldba.com) 5&gt; INFO ALL&lt;br /&gt;&lt;br /&gt;Program     Status      Group       Lag           Time Since Chkpt&lt;br /&gt;&lt;br /&gt;MANAGER     RUNNING&lt;br /&gt;EXTRACT     RUNNING     DPUMP       00:00:00      00:00:01&lt;br /&gt;EXTRACT     ABENDED     EXT2        00:00:00      172:36:58&lt;br /&gt;EXTRACT     RUNNING     EXT3        00:00:00      00:00:04&lt;br /&gt;&lt;/pre&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-8721554859686958228?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/8721554859686958228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=8721554859686958228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8721554859686958228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8721554859686958228'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/useful-goldengate-commands-shell-obey.html' title='Useful GoldenGate commands - SHELL, OBEY, HELP, HISTORY,VERSIONS'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-6345387109215522900</id><published>2010-09-06T20:40:00.000-07:00</published><updated>2010-09-06T20:44:01.259-07:00</updated><title type='text'>Oracle GoldenGate - how to connect to a particular database if there are multiple databases on the source or target server</title><content type='html'>&lt;h1&gt;&lt;span style="font-size:100%;"&gt;Oracle GoldenGate - how to connect to a particular database if there are multiple databases on the source or target server&lt;/span&gt;&lt;/h1&gt;Steps to connect to GoldenGate if there are a number of databases running on  the source server or on the target server. Or there could be a case  where we have installed GoldenGate for Oracle 10g and we have both 10g  as well as 11g Oracle Homes on the same machine and we want to connect  to the Oracle 10g environment in particular.&lt;br /&gt;&lt;br /&gt;We can do that in 2 ways, as far as my knowledge goes. Below are the steps: &lt;p&gt;1) Either set the right environment using .oraenv&lt;br /&gt;or&lt;br /&gt;2) Specify the right TNS alias in the Manager, Extract or Replicat parameter file where we have used the USERID keyword&lt;/p&gt; &lt;p&gt;For example, just to illustrate the same, I wrongly set the  ORACLE_SID variable to a nonexistent value. The manager process will not  start since it will try to connect with the username and password used  in the manager parameter file to the LOCAL database for which the  environment has been now set up and since the ORACLE_SID is wrong, there  is no database running on the server with that SID. &lt;/p&gt; &lt;p&gt;$ &lt;strong&gt;export ORACLE_SID=xyz&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;GGSCI (vixen) 2&gt; &lt;strong&gt;start manager&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Manager started.&lt;/p&gt; &lt;p&gt;GGSCI (vixen) 3&gt; &lt;strong&gt;status manager&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Manager is DOWN!&lt;/p&gt; &lt;p&gt;This is what we will see in the GoldenGate logs:&lt;/p&gt; &lt;p&gt;&lt;em&gt;2010-08-19 11:04:37  GGS ERROR       182  OCI Error beginning session (status = 1034-ORA-01034: ORACLE not available&lt;br /&gt;ORA-27101: shared memory realm does not exist&lt;br /&gt;SVR4 Error: 2: No such file or directory).&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;2010-08-19 11:04:37  GGS ERROR       190  PROCESS ABENDING.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;To use a TNS alias, make sure that we are able to do a tnsping as  well as connect via SQL*PLUS using that alias before we launch GGSCI. &lt;/p&gt; &lt;p&gt;In the relevant parameter file (in this example an extract parameter  file) we just add the TNS alias to the USERID as shown below:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;USERID ggs_owner@levengr2, PASSWORD ggs_owner&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;If the TNS connection is not defined properly, we can expect to see an error like this in the log file:&lt;/p&gt; &lt;p&gt;&lt;em&gt;2010-08-19 11:09:46  GGS ERROR       182  OCI Error during  OCIServerAttach (status = 12154-ORA-12154: TNS:could not resolve the  connect identifier specified)&lt;br /&gt;.&lt;br /&gt;2010-08-19 11:09:46  GGS ERROR       190  PROCESS ABENDING&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;We can also use the same TNS alias method when we use DBLOGIN keyword to establish a database connection via GoldenGate &lt;/p&gt; &lt;p&gt;GGSCI (devastator) 2&gt; &lt;strong&gt;dblogin userid ggs_owner@levengr2, password ggs_owner&lt;/strong&gt;&lt;br /&gt;Successfully logged into database.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-6345387109215522900?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/6345387109215522900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=6345387109215522900' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6345387109215522900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6345387109215522900'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/oracle-goldengate-how-to-connect-to.html' title='Oracle GoldenGate - how to connect to a particular database if there are multiple databases on the source or target server'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-6084782870216024751</id><published>2010-09-06T20:36:00.000-07:00</published><updated>2010-09-06T20:39:41.922-07:00</updated><title type='text'>Using GoldenGate to replicate between databases on same host</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Steps to set up GoldenGate when both the source and target database are physically located on the same server:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Basically all we have do is to &lt;strong&gt;set up TNS aliases to connect to the source and target databases &lt;/strong&gt;and  make sure that before we do launch GGSCI, we are able to connect to  both source and target databases from say SQL*PLUS in the environment  from where we are running the GoldenGate software via GGSCI. &lt;p&gt;If both the source and target databases are Oracle, it would make  more sense to perform the initial load using Oracle utilities like say  Import/Export, Data Pump, SQL Loader etc because the performance of  those utilities are far better as compared to the GoldenGate initial  load. I think GoldenGate should come into the picture after the initial  data load is done to keep the online changes taking place after that  synchronized between source and target.&lt;/p&gt; &lt;p&gt;However just to demonstrate the concept, I will be performing an  initial data load using GoldenGate. The source database is an Oracle 11g  R2 database ‘ora11g’ and the target database is ‘ora10g’, both running  on  Solaris 10 box, sun01.&lt;/p&gt; &lt;p&gt;While we could have idealy have two separate GoldenGate installations  on the same machine – one for the Oracle 11g database and one for the  Oracle 10g database, I am testing the same using a single GoldenGate for  Oracle 11g on 64 bit Solaris software installation.&lt;/p&gt; &lt;p&gt;Note however, that I have setup the GoldenGate schema in both source  as well as target database and granted the required roles and privileges  as well as ensure that the GGS_OWNER schema has got the required  privileges on the SYSTEM.MYOBJECTS table which we are replicating here.&lt;/p&gt; &lt;p&gt;sun01:/export/home/oracle/goldengate $ ./ggsci&lt;/p&gt; &lt;p&gt;Oracle GoldenGate Command Interpreter for Oracle&lt;br /&gt;Version 10.4.0.19 Build 002&lt;br /&gt;&lt;strong&gt;Solaris, sparc, 64bit (optimized), Oracle 11 &lt;/strong&gt;on Sep 18 2009 12:50:18&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SOURCE&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;GGSCI (sun01) 9&gt; dblogin userid &lt;strong&gt;ggs_owner@ora11g&lt;/strong&gt;, password ggs_owner&lt;br /&gt;Successfully logged into database.&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 10&gt; versions&lt;br /&gt;Operating System:&lt;br /&gt;SunOS&lt;br /&gt;Version Generic_141444-09, Release 5.10&lt;br /&gt;Node: sun01&lt;br /&gt;Machine: sun4v&lt;/p&gt; &lt;p&gt;Database:&lt;br /&gt;Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production&lt;br /&gt;PL/SQL Release 11.2.0.1.0 – Production&lt;br /&gt;CORE    11.2.0.1.0      Production&lt;br /&gt;TNS for Solaris: Version 11.2.0.1.0 – Production&lt;br /&gt;NLSRTL Version 11.2.0.1.0 – Production&lt;/p&gt; &lt;p&gt;&lt;strong&gt;TARGET&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;GGSCI (sun01) 7&gt; dblogin userid &lt;strong&gt;ggs_owner@ora10g&lt;/strong&gt;, password ggs_owner&lt;br /&gt;Successfully logged into database.&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 8&gt; versions&lt;br /&gt;Operating System:&lt;br /&gt;SunOS&lt;br /&gt;Version Generic_141444-09, Release 5.10&lt;br /&gt;Node: sun01&lt;br /&gt;Machine: sun4v&lt;/p&gt; &lt;p&gt;Database:&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bi&lt;br /&gt;PL/SQL Release 10.2.0.4.0 – Production&lt;br /&gt;CORE    10.2.0.4.0      Production&lt;br /&gt;TNS for Solaris: Version 10.2.0.4.0 – Production&lt;br /&gt;NLSRTL Version 10.2.0.4.0 – Production&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SOURCE&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;ADD EXTRACT load1, SOURCEISTABLE&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;edit params load1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EXTRACT load1&lt;br /&gt;&lt;strong&gt;USERID ggs_owner@ora11g&lt;/strong&gt;, PASSWORD ggs_owner&lt;br /&gt;RMTHOST sun01, MGRPORT 7809&lt;br /&gt;RMTTASK replicat, GROUP load2&lt;br /&gt;TABLE system.myobjects;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;TARGET&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;ADD REPLICAT load2, SPECIALRUN&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;edit params load2&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;REPLICAT load2&lt;br /&gt;&lt;strong&gt;USERID ggs_owner@ora10g&lt;/strong&gt;, PASSWORD ggs_owner&lt;br /&gt;ASSUMETARGETDEFS&lt;br /&gt;MAP system.myobjects, TARGET system.myobjects;&lt;/p&gt; &lt;p&gt;SOURCE&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 10&gt; &lt;strong&gt;start  extract load1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;After the extract starts we can see that the extract process is  already reading records from the source table which is SYSTEM.MYOBJECTS&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 10&gt; &lt;strong&gt;info extract load1&lt;/strong&gt;&lt;br /&gt;EXTRACT    LOAD1     Last Started 2010-08-24 10:22   Status RUNNING&lt;br /&gt;Checkpoint Lag       Not Available&lt;br /&gt;Log Read Checkpoint  Table SYSTEM.MYOBJECTS&lt;br /&gt;                     2010-08-24 10:23:21  Record 12269&lt;br /&gt;Task                 SOURCEISTABLE&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 12&gt; &lt;strong&gt;info extract load1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EXTRACT    LOAD1     Last Started 2010-08-24 10:22   Status RUNNING&lt;br /&gt;Checkpoint Lag       Not Available&lt;br /&gt;Log Read Checkpoint  Table SYSTEM.MYOBJECTS&lt;br /&gt;                     2010-08-24 10:24:03  Record 26004&lt;br /&gt;Task                 SOURCEISTABLE&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 13&gt; &lt;strong&gt;info extract load1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EXTRACT    LOAD1     Last Started 2010-08-24 10:22   Status RUNNING&lt;br /&gt;Checkpoint Lag       Not Available&lt;br /&gt;Log Read Checkpoint  Table SYSTEM.MYOBJECTS&lt;br /&gt;                     2010-08-24 10:24:45  Record 40207&lt;br /&gt;Task                 SOURCEISTABLE&lt;/p&gt; &lt;p&gt;&lt;strong&gt;TARGET &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;On the target we can see that the Replicat process is also running –  we did not have to explicitly start this initial load replicat process&lt;/p&gt; &lt;p&gt;GGSCI (sun01) 9&gt; &lt;strong&gt;info replicat load2&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;REPLICAT   LOAD2     Initialized   2010-08-24 10:21   Status RUNNING&lt;br /&gt;Checkpoint Lag       00:00:00 (updated 00:02:06 ago)&lt;br /&gt;Log Read Checkpoint  Not Available&lt;br /&gt;Task                 SPECIALRUN&lt;/p&gt; &lt;p&gt;Once the initial load process has completed, we will see that both the extract as well as the replicat process has stopped.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;SOURCE&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;GGSCI (sun01) 22&gt; &lt;strong&gt;info extract load1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;EXTRACT    LOAD1     Last Started 2010-08-24 10:22   Status STOPPED&lt;br /&gt;Checkpoint Lag       Not Available&lt;br /&gt;Log Read Checkpoint  Table SYSTEM.MYOBJECTS&lt;br /&gt;                     2010-08-24 10:26:30  Record 76358&lt;br /&gt;Task                 SOURCEISTABLE&lt;/p&gt; &lt;p&gt;&lt;strong&gt;TARGET&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;GGSCI (sun01) 23&gt; &lt;strong&gt;send replicat load2 getlag&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;ERROR: REPLICAT LOAD2 not currently running.&lt;/p&gt; &lt;p&gt;&lt;strong&gt; Let us know test the same by connecting to the target database on the same machine&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;sun01:/export/home/oracle/goldengate $ &lt;strong&gt;sqlplus system@ora10g&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;SQL*Plus: Release 11.2.0.1.0 Production on Tue Aug 24 10:27:45 2010&lt;/p&gt; &lt;p&gt;Copyright (c) 1982, 2009, Oracle.  All rights reserved.&lt;/p&gt; &lt;p&gt;Enter password:&lt;/p&gt; &lt;p&gt;Connected to:&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production&lt;br /&gt;With the Partitioning, OLAP, Data Mining and Real Application Testing options&lt;/p&gt; &lt;p&gt;SQL&gt; select count(*) from myobjects;&lt;/p&gt; &lt;p&gt;  COUNT(*)&lt;br /&gt;———-&lt;br /&gt;     76358&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-6084782870216024751?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/6084782870216024751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=6084782870216024751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6084782870216024751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6084782870216024751'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/using-goldengate-to-replicate-between.html' title='Using GoldenGate to replicate between databases on same host'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-8136100573693744995</id><published>2010-09-05T19:38:00.000-07:00</published><updated>2010-09-05T19:45:57.184-07:00</updated><title type='text'>PART II: Oracle Database Upgrade &amp; ASM Upgrade</title><content type='html'>PART II: Oracle Database Upgrade &amp;amp; ASM Upgrade&lt;br /&gt;&lt;br /&gt;I don’t have separate ASM home. I’m keeping ASM in ORACLE_HOME itself; So Now going to continue my database &amp;amp; asm upgrade.&lt;br /&gt;1. From oracle user you need to exeucte “runInstaller” then you will get below screen shot.&lt;br /&gt;2. Please make sure your ORACLE_HOME in your path.&lt;br /&gt;3. Please check any listener running from all nodes; (Else it’s will create problem)&lt;br /&gt;4. Please check any database/asm instance running (If yes; pls shutdown those instance)&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;[oracle@linux1 bin]$ ps -ef | grep pmon&lt;br /&gt;oracle 11993 22392 0 13:16 pts/2 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ps -ef | grep lsn&lt;br /&gt;oracle 5155 1 0 11:06 ? 00:00:08&lt;br /&gt;/u01/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX1 -inherit&lt;br /&gt;oracle 12000 22392 0 13:16 pts/2 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ lsnrctl stop LISTENER_LINUX1&lt;br /&gt;LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-JUL-2009 13:16:42&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2005, Oracle. All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to&lt;br /&gt;&lt;br /&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux1-vip.gen.com)(PORT=1521)(IP=FIRST)))&lt;br /&gt;&lt;br /&gt;The command completed successfully&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ps -ef | grep LISTENER_LINUX2&lt;br /&gt;oracle 12726 1 0 13:29 ? 00:00:01&lt;br /&gt;/u01/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX2 -inherit&lt;br /&gt;oracle 14894 8929 0 13:36 pts/1 00:00:00 grep LISTENER_LINUX2&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ lsnrctl stop LISTENER_LINUX2&lt;br /&gt;LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 19-JUL-2009 13:36:35&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2005, Oracle. All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to&lt;br /&gt;&lt;br /&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux2-vip.gen.com)(PORT=1521)(IP=FIRST)))&lt;br /&gt;&lt;br /&gt;The command completed successfully&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ps -ef | grep pmon&lt;br /&gt;&lt;br /&gt;oracle 14993 8929 9 13:36 pts/1 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;oracle 15002 8929 0 13:36 pts/1 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Before upgrade cluster status &amp;amp; Listener status&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# ./crs_stat -t&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Name Type Target State Host&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;ora.devdb.db application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....b1.inst application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....b2.inst application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora...._taf.cs application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db1.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db2.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....SM1.asm application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....X1.lsnr application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.gsd application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.ons application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.vip application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....SM2.asm application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....X2.lsnr application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.gsd application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.ons application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.vip application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;oracle 8117 1 0 03:17 ? 00:00:02&lt;br /&gt;&lt;br /&gt;/u01/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX1 -inherit&lt;br /&gt;&lt;br /&gt;oracle 12039 10732 0 03:28 pts/3 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ lsnrctl stop LISTENER_LINUX1&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 25-JUL-2009 03:28:18&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2007, Oracle. All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to&lt;br /&gt;&lt;br /&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux1-vip.gen.com)(PORT=1521)(IP=FIRST)))&lt;br /&gt;&lt;br /&gt;The command completed successfully&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;oracle 12085 10732 0 03:28 pts/3 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ps -ef | grep pmon&lt;br /&gt;&lt;br /&gt;oracle 8024 1 0 03:17 ? 00:00:03 asm_pmon_+ASM1&lt;br /&gt;&lt;br /&gt;oracle 12162 10732 0 03:28 pts/3 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 ~]$ cd /u01/oracle/product/10.2.0/crs/bin/&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;oracle 7134 1 0 03:19 ? 00:00:01&lt;br /&gt;&lt;br /&gt;/u01/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_LINUX2 -inherit&lt;br /&gt;&lt;br /&gt;oracle 10678 10552 0 03:29 pts/2 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ lsnrctl stop LISTENER_LINUX2&lt;br /&gt;&lt;br /&gt;LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 25-JUL-2009 03:29:45&lt;br /&gt;&lt;br /&gt;Copyright (c) 1991, 2007, Oracle. All rights reserved.&lt;br /&gt;&lt;br /&gt;Connecting to&lt;br /&gt;&lt;br /&gt;(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux2-vip.gen.com)(PORT=1521)(IP=FIRST)))&lt;br /&gt;&lt;br /&gt;The command completed successfully&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ps -ef | grep pmon&lt;br /&gt;&lt;br /&gt;oracle 10784 1 21 03:29 ? 00:00:00 asm_pmon_+ASM2&lt;br /&gt;&lt;br /&gt;oracle 10806 10552 0 03:30 pts/2 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;This is TWO Nodes cluster; that’s why you will get your cluster nodes names list.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3:&lt;/span&gt;&lt;br /&gt;If you want register you CSI Nr then you can otherwise ignore this slide&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4:&lt;/span&gt;&lt;br /&gt;This is pre-request checking steps; in case any thing wrong here you will come to know all the details.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5:&lt;/span&gt;&lt;br /&gt;Once successfully completed your pre-request then continue the patch installation on cluster.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6:&lt;/span&gt;&lt;br /&gt;Now you need to execute below script for all nodes (Using root user)&lt;br /&gt;/u01/oracle/product/10.2.0/db_1/root.sh&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# /u01/oracle/product/10.2.0/db_1/root.sh&lt;br /&gt;&lt;br /&gt;Running Oracle10 root.sh script...&lt;br /&gt;&lt;br /&gt;The following environment variables are set as:&lt;br /&gt;&lt;br /&gt;ORACLE_OWNER= oracle&lt;br /&gt;&lt;br /&gt;ORACLE_HOME= /u01/oracle/product/10.2.0/db_1&lt;br /&gt;&lt;br /&gt;Enter the full pathname of the local bin directory: [/usr/local/bin]:&lt;br /&gt;&lt;br /&gt;The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying dbhome to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying oraenv to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying coraenv to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;Entries will be added to the /etc/oratab file as needed by&lt;br /&gt;&lt;br /&gt;Database Configuration Assistant when a database is created&lt;br /&gt;&lt;br /&gt;Finished running generic part of root.sh script.&lt;br /&gt;&lt;br /&gt;Now product-specific root actions will be performed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linux2 bin]# /u01/oracle/product/10.2.0/db_1/root.sh&lt;br /&gt;&lt;br /&gt;Running Oracle10 root.sh script...&lt;br /&gt;&lt;br /&gt;The following environment variables are set as:&lt;br /&gt;&lt;br /&gt;ORACLE_OWNER= oracle&lt;br /&gt;&lt;br /&gt;ORACLE_HOME= /u01/oracle/product/10.2.0/db_1&lt;br /&gt;&lt;br /&gt;Enter the full pathname of the local bin directory: [/usr/local/bin]:&lt;br /&gt;&lt;br /&gt;The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying dbhome to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying oraenv to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)&lt;br /&gt;&lt;br /&gt;[n]: y&lt;br /&gt;&lt;br /&gt;Copying coraenv to /usr/local/bin ...&lt;br /&gt;&lt;br /&gt;Entries will be added to the /etc/oratab file as needed by&lt;br /&gt;&lt;br /&gt;Database Configuration Assistant when a database is created&lt;br /&gt;&lt;br /&gt;Finished running generic part of root.sh script.&lt;br /&gt;&lt;br /&gt;Now product-specific root actions will be performed.&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ . oraenv&lt;br /&gt;&lt;br /&gt;ORACLE_SID = [devdb1] ? devdb&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ export ORACLE_SID=devdb1&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ sqlplus '/as sysdba'&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 03:38:20 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2007, Oracle. All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to an idle instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; startup nomount&lt;br /&gt;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 285212672 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 1267044 bytes&lt;br /&gt;&lt;br /&gt;Variable Size 100666012 bytes&lt;br /&gt;&lt;br /&gt;Database Buffers 176160768 bytes&lt;br /&gt;&lt;br /&gt;Redo Buffers 7118848 bytes&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show parameter clus&lt;br /&gt;&lt;br /&gt;NAME TYPE VALUE&lt;br /&gt;&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;&lt;br /&gt;cluster_database boolean TRUE&lt;br /&gt;&lt;br /&gt;cluster_database_instances integer 2&lt;br /&gt;&lt;br /&gt;cluster_interconnects string&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; alter system set cluster_database=FALSE scope=spfile;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; shutdown&lt;br /&gt;&lt;br /&gt;ORA-01507: database not mounted&lt;br /&gt;&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; exit&lt;br /&gt;&lt;br /&gt;Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production&lt;br /&gt;&lt;br /&gt;With the Partitioning, Real Application Clusters, OLAP, Data Mining&lt;br /&gt;&lt;br /&gt;and Real Application Testing options&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ sqlplus '/as sysdba'&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 03:40:20 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2007, Oracle. All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to an idle instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; startup upgrade&lt;br /&gt;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 285212672 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 1267044 bytes&lt;br /&gt;&lt;br /&gt;Variable Size 100666012 bytes&lt;br /&gt;&lt;br /&gt;Database Buffers 176160768 bytes&lt;br /&gt;&lt;br /&gt;Redo Buffers 7118848 bytes&lt;br /&gt;&lt;br /&gt;Database mounted.&lt;br /&gt;&lt;br /&gt;Database opened.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show parameter cluster&lt;br /&gt;&lt;br /&gt;NAME TYPE VALUE&lt;br /&gt;&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;&lt;br /&gt;cluster_database boolean FALSE&lt;br /&gt;&lt;br /&gt;cluster_database_instances integer 1&lt;br /&gt;&lt;br /&gt;cluster_interconnects string&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; spool /u01/patch.log&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; @$ORACLE_HOME/rdbms/admin/catupgrd.sql&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;..&lt;br /&gt;&lt;br /&gt;......&lt;br /&gt;&lt;br /&gt;No errors.&lt;br /&gt;&lt;br /&gt;No errors.&lt;br /&gt;&lt;br /&gt;TIMESTAMP&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;COMP_TIMESTAMP RUL 2009-07-25 11:54:47&lt;br /&gt;&lt;br /&gt;DBUA_TIMESTAMP RUL VALID 2009-07-25 11:54:47&lt;br /&gt;&lt;br /&gt;TIMESTAMP&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;COMP_TIMESTAMP UPGRD_END 2009-07-25 11:54:50&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Oracle Database 10.2 Upgrade Status Utility 07-25-2009 11:54:50&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Component Status Version HH:MM:SS&lt;br /&gt;&lt;br /&gt;Oracle Database Server VALID 10.2.0.4.0 01:23:50&lt;br /&gt;&lt;br /&gt;JServer JAVA Virtual Machine VALID 10.2.0.4.0 00:15:05&lt;br /&gt;&lt;br /&gt;Oracle XDK VALID 10.2.0.4.0 00:02:21&lt;br /&gt;&lt;br /&gt;Oracle Database Java Packages VALID 10.2.0.4.0 00:02:39&lt;br /&gt;&lt;br /&gt;Oracle Text VALID 10.2.0.4.0 00:01:48&lt;br /&gt;&lt;br /&gt;Oracle XML Database VALID 10.2.0.4.0 00:11:57&lt;br /&gt;&lt;br /&gt;Oracle Real Application Clusters VALID 10.2.0.4.0 00:00:22&lt;br /&gt;&lt;br /&gt;Oracle Workspace Manager VALID 10.2.0.4.3 00:04:23&lt;br /&gt;&lt;br /&gt;Oracle Data Mining VALID 10.2.0.4.0 00:03:23&lt;br /&gt;&lt;br /&gt;OLAP Analytic Workspace VALID 10.2.0.4.0 00:03:25&lt;br /&gt;&lt;br /&gt;OLAP Catalog VALID 10.2.0.4.0 00:08:07&lt;br /&gt;&lt;br /&gt;Oracle OLAP API VALID 10.2.0.4.0 00:06:20&lt;br /&gt;&lt;br /&gt;Oracle interMedia VALID 10.2.0.4.0 00:31:09&lt;br /&gt;&lt;br /&gt;Spatial VALID 10.2.0.4.0 00:13:33&lt;br /&gt;&lt;br /&gt;Oracle Expression Filter VALID 10.2.0.4.0 00:02:04&lt;br /&gt;&lt;br /&gt;Oracle Enterprise Manager VALID 10.2.0.4.0 00:12:57&lt;br /&gt;&lt;br /&gt;Oracle Rule Manager VALID 10.2.0.4.0 00:01:11&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Total Upgrade Time: 03:24:44&lt;br /&gt;&lt;br /&gt;DOC&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;DOC&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;DOC&gt;&lt;br /&gt;&lt;br /&gt;DOC&gt; The above PL/SQL lists the SERVER components in the upgraded&lt;br /&gt;&lt;br /&gt;DOC&gt; database, along with their current version and status.&lt;br /&gt;&lt;br /&gt;DOC&gt;&lt;br /&gt;&lt;br /&gt;DOC&gt; Please review the status and version columns and look for&lt;br /&gt;&lt;br /&gt;DOC&gt; any errors in the spool log file. If there are errors in the spool&lt;br /&gt;&lt;br /&gt;DOC&gt; file, or any components are not VALID or not the current version,&lt;br /&gt;&lt;br /&gt;DOC&gt; consult the Oracle Database Upgrade Guide for troubleshooting&lt;br /&gt;&lt;br /&gt;DOC&gt; recommendations.&lt;br /&gt;&lt;br /&gt;DOC&gt;&lt;br /&gt;&lt;br /&gt;DOC&gt; Next shutdown immediate, restart for normal operation, and then&lt;br /&gt;&lt;br /&gt;DOC&gt; run utlrp.sql to recompile any invalid application objects.&lt;br /&gt;&lt;br /&gt;DOC&gt;&lt;br /&gt;&lt;br /&gt;DOC&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;DOC&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;DOC&gt;#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; shutdown immediate&lt;br /&gt;&lt;br /&gt;Database closed.&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; startup&lt;br /&gt;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 285212672 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 1267044 bytes&lt;br /&gt;&lt;br /&gt;Variable Size 146803356 bytes&lt;br /&gt;&lt;br /&gt;Database Buffers 130023424 bytes&lt;br /&gt;&lt;br /&gt;Redo Buffers 7118848 bytes&lt;br /&gt;&lt;br /&gt;Database mounted.&lt;br /&gt;&lt;br /&gt;Database opened.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; @$ORACLE_HOME/rdbms/admin/utlrp.sql&lt;br /&gt;&lt;br /&gt;TIMESTAMP&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;COMP_TIMESTAMP UTLRP_BGN 2009-07-25 12:12:32&lt;br /&gt;&lt;br /&gt;DOC&gt; The following PL/SQL block invokes UTL_RECOMP to recompile invalid&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;.......&lt;br /&gt;&lt;br /&gt;ERRORS DURING RECOMPILATION&lt;br /&gt;&lt;br /&gt;---------------------------&lt;br /&gt;&lt;br /&gt;0&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show parameter cluster&lt;br /&gt;&lt;br /&gt;NAME TYPE VALUE&lt;br /&gt;&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;&lt;br /&gt;cluster_database boolean FALSE&lt;br /&gt;&lt;br /&gt;cluster_database_instances integer 1&lt;br /&gt;&lt;br /&gt;cluster_interconnects string&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; alter system set cluster_database=TRUE scope=spfile;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; alter system set cluster_database=TRUE scope=spfile;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; shutdown&lt;br /&gt;&lt;br /&gt;Database closed.&lt;br /&gt;&lt;br /&gt;Database dismounted.&lt;br /&gt;&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; startup&lt;br /&gt;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area 285212672 bytes&lt;br /&gt;&lt;br /&gt;Fixed Size 1267044 bytes&lt;br /&gt;&lt;br /&gt;Variable Size 163580572 bytes&lt;br /&gt;&lt;br /&gt;Database Buffers 113246208 bytes&lt;br /&gt;&lt;br /&gt;Redo Buffers 7118848 bytes&lt;br /&gt;&lt;br /&gt;Database mounted.&lt;br /&gt;&lt;br /&gt;Database opened.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; show parameter cluster&lt;br /&gt;&lt;br /&gt;NAME TYPE VALUE&lt;br /&gt;&lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;&lt;br /&gt;cluster_database boolean TRUE&lt;br /&gt;&lt;br /&gt;cluster_database_instances integer 2&lt;br /&gt;&lt;br /&gt;cluster_interconnects string&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ./srvctl start instance -d devdb -i devdb1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ./crs_stat -t&lt;br /&gt;&lt;br /&gt;Name Type Target State Host&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;ora.devdb.db application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....b1.inst application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....b2.inst application ONLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora...._taf.cs application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db1.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db2.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....SM1.asm application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....X1.lsnr application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.gsd application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.ons application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.vip application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....SM2.asm application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....X2.lsnr application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.gsd application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.ons application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.vip application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ ./srvctl start instance -d devdb -i devdb2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux1 bin]$ ./crs_stat -t&lt;br /&gt;&lt;br /&gt;Name Type Target State Host&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;ora.devdb.db application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....b1.inst application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....b2.inst application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora...._taf.cs application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db1.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db2.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....SM1.asm application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....X1.lsnr application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.gsd application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.ons application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.vip application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....SM2.asm application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....X2.lsnr application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.gsd application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.ons application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.vip application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ . oraenv&lt;br /&gt;&lt;br /&gt;ORACLE_SID = [devdb] ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 bin]$ sqlplus "/as sysdba"&lt;br /&gt;&lt;br /&gt;SQL*Plus: Release 10.2.0.4.0 - Production on Sat Jul 25 12:45:02 2009&lt;br /&gt;&lt;br /&gt;Copyright (c) 1982, 2007, Oracle. All Rights Reserved.&lt;br /&gt;&lt;br /&gt;Connected to an idle instance.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; conn sys@devdb1 as sysdba&lt;br /&gt;&lt;br /&gt;Enter password:&lt;br /&gt;&lt;br /&gt;Connected.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from v$version where rownum=1;&lt;br /&gt;&lt;br /&gt;BANNER&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; conn sys@devdb2 as sysdba&lt;br /&gt;&lt;br /&gt;Enter password:&lt;br /&gt;&lt;br /&gt;Connected.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from v$version where rownum=1;&lt;br /&gt;&lt;br /&gt;BANNER&lt;br /&gt;&lt;br /&gt;----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-8136100573693744995?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/8136100573693744995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=8136100573693744995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8136100573693744995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/8136100573693744995'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/part-ii-oracle-database-upgrade-asm.html' title='PART II: Oracle Database Upgrade &amp; ASM Upgrade'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-3764348904063303461</id><published>2010-09-05T19:25:00.000-07:00</published><updated>2010-09-05T19:36:35.129-07:00</updated><title type='text'>Real Application Cluster database upgrade from 10.2.0.1 to 10.2.0.4</title><content type='html'>Real Application Cluster database upgrade from 10.2.0.1 to 10.2.0.4&lt;br /&gt;&lt;br /&gt;Database Version: 10.2.0.1&lt;br /&gt;Operating System: Ret Hat linux 4 As &amp;amp; Vmware 5&lt;br /&gt;Storage Type : ASM &amp;amp; RAW Storage&lt;br /&gt;Pre-Request for upgrade:&lt;br /&gt;&lt;br /&gt;Before upgrading any database we need take complete cold backup for database. Also we need to take backup of ORACLE_HOME, ORACLE_BASE &amp;amp; ORACLE_CRS_HOME&lt;br /&gt;&lt;br /&gt;* In my case I have taken ORACLE_HOME &amp;amp; ORACLE_CRS_HOME backup’s using (for all nodes)&lt;br /&gt;&lt;br /&gt;cd /u01/before_patch_backup&lt;br /&gt;&lt;br /&gt;tar -cvf oracle_base_jul19.tar $ORACLE_BASE&lt;br /&gt;&lt;br /&gt;tar -cvf oracle_home_jul19.tar $ORACLE_HOME&lt;br /&gt;&lt;br /&gt;tar -cvf oracle_crs_home_jul19.tar $ORACLE_CRS_HOME&lt;br /&gt;&lt;br /&gt;* Form storage level we need take backup’s. I used “dd” command for taking OCR &amp;amp; VOTING disk backups.&lt;br /&gt;* Also using I have taken complete RMAN backup for my database &amp;amp; using “dd” command I taken RAW devices backups (I mean ASM)&lt;br /&gt;&lt;br /&gt;PS: Make sure; before taking any backups you need to sotp your cluster don’t forgot. Using the below command you down your cluster.&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# ./crsctl stop crs&lt;br /&gt;&lt;br /&gt;Stopping resources.&lt;br /&gt;&lt;br /&gt;Successfully stopped CRS resources&lt;br /&gt;&lt;br /&gt;Stopping CSSD.&lt;br /&gt;&lt;br /&gt;Shutting down CSS daemon.&lt;br /&gt;&lt;br /&gt;Shutdown request successfully issued.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# ps -ef | grep pmon&lt;br /&gt;&lt;br /&gt;root 27831 27206 0 08:26 pts/2 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;root 27833 27206 0 08:26 pts/2 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[root@linux2 bin]# ./crsctl stop crs&lt;br /&gt;&lt;br /&gt;Stopping resources.&lt;br /&gt;&lt;br /&gt;Successfully stopped CRS resources&lt;br /&gt;&lt;br /&gt;Stopping CSSD.&lt;br /&gt;&lt;br /&gt;Shutting down CSS daemon.&lt;br /&gt;&lt;br /&gt;Shutdown request successfully issued.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[oracle@linux2 /]$ ps -ef | grep pmon&lt;br /&gt;&lt;br /&gt;oracle 20613 19349 0 05:54 pts/1 00:00:00 grep pmon&lt;br /&gt;&lt;br /&gt;[oracle@linux2 /]$&lt;br /&gt;&lt;br /&gt;[oracle@linux2 /]$ ps -ef | grep lsn&lt;br /&gt;&lt;br /&gt;oracle 20638 19349 0 05:54 pts/1 00:00:00 grep lsn&lt;br /&gt;&lt;br /&gt;PS: In my test environment I don’t have separte ASM home; I’m using ORACLE_HOME itslef. If you have ASM home then you may need take backup of ASM home also.&lt;br /&gt;&lt;br /&gt;Cluster Upgration: Now I’m going to upgrade my cluster database.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1:&lt;/span&gt;&lt;br /&gt;1. Down 10.2.0.4 patch set (Patch Nr: 6810189)&lt;br /&gt;2. Extract your patch&lt;br /&gt;3. From oracle user you need to exeucte “runInstaller” then you will get below screen shot.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;Please confirm your CRS Home. Because first of all you need to upgrade cluster only (Not Oracle database or ASM Home)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3:&lt;/span&gt;&lt;br /&gt;This is TWO Nodes cluster; that’s why you will get your cluster nodes names list.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4:&lt;/span&gt;&lt;br /&gt;This is pre-request checking steps; in case any thing wrong here you will come to know all the details.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 5:&lt;/span&gt;&lt;br /&gt;Once successfully completed your pre-request then continue the patch installation on cluster.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 6:&lt;/span&gt;&lt;br /&gt;After succesfully installation you may need execute the below script from root user (in all nodes you need follow same steps)&lt;br /&gt;&lt;br /&gt;/u01/oracle/product/10.2.0/crs/bin/crsctl stop crs&lt;br /&gt;/u01/oracle/product/10.2.0/crs/install/root102.sh&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Form Node 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# ./crsctl stop crs&lt;br /&gt;&lt;br /&gt;Stopping resources.&lt;br /&gt;&lt;br /&gt;Error while stopping resources. Possible cause: CRSD is down.&lt;br /&gt;&lt;br /&gt;Stopping CSSD.&lt;br /&gt;&lt;br /&gt;Unable to communicate with the CSS daemon.&lt;br /&gt;&lt;br /&gt;[root@linux1 bin]# cd ..&lt;br /&gt;&lt;br /&gt;[root@linux1 crs]# cd install&lt;br /&gt;&lt;br /&gt;[root@linux1 install]# ./root102.sh&lt;br /&gt;&lt;br /&gt;Creating pre-patch directory for saving pre-patch clusterware files&lt;br /&gt;&lt;br /&gt;Completed patching clusterware files to /u01/app/oracle/product/10.2.0/crs&lt;br /&gt;&lt;br /&gt;Relinking some shared libraries.&lt;br /&gt;&lt;br /&gt;Relinking of patched files is complete.&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle/product/10.2.0' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle/product' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01' is not owned by root&lt;br /&gt;&lt;br /&gt;Preparing to recopy patched init and RC scripts.&lt;br /&gt;&lt;br /&gt;Recopying init and RC scripts.&lt;br /&gt;&lt;br /&gt;Startup will be queued to init within 30 seconds.&lt;br /&gt;&lt;br /&gt;Starting up the CRS daemons.&lt;br /&gt;&lt;br /&gt;Waiting for the patched CRS daemons to start.&lt;br /&gt;&lt;br /&gt;This may take a while on some systems.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;10204 patch successfully applied.&lt;br /&gt;&lt;br /&gt;clscfg: EXISTING configuration version 3 detected.&lt;br /&gt;&lt;br /&gt;clscfg: version 3 is 10G Release 2.&lt;br /&gt;&lt;br /&gt;Successfully accumulated necessary OCR keys.&lt;br /&gt;&lt;br /&gt;Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.&lt;br /&gt;&lt;br /&gt;node :&lt;br /&gt;&lt;br /&gt;node 1: linux1 linux1-priv linux1&lt;br /&gt;&lt;br /&gt;Creating OCR keys for user 'root', privgrp 'root'..&lt;br /&gt;&lt;br /&gt;Operation successful.&lt;br /&gt;&lt;br /&gt;clscfg -upgrade completed successfully&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;From Node 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;[root@linux2 bin]# ./crsctl stop crs&lt;br /&gt;&lt;br /&gt;Stopping resources. This could take several minutes.&lt;br /&gt;&lt;br /&gt;Successfully stopped CRS resources.&lt;br /&gt;&lt;br /&gt;Stopping CSSD.&lt;br /&gt;&lt;br /&gt;Shutting down CSS daemon.&lt;br /&gt;&lt;br /&gt;Shutdown request successfully issued.&lt;br /&gt;&lt;br /&gt;[root@linux2 bin]# cd ../install&lt;br /&gt;&lt;br /&gt;[root@linux2 install]# ./root102.sh &gt;&gt; rootexecteation2.txt &amp;amp;&lt;br /&gt;&lt;br /&gt;[1] 10282&lt;br /&gt;&lt;br /&gt;[root@linux2 install]# tail -f rootexecteation2.txt&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle/product/10.2.0' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle/product' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01/oracle' is not owned by root&lt;br /&gt;&lt;br /&gt;WARNING: directory '/u01' is not owned by root&lt;br /&gt;&lt;br /&gt;Preparing to recopy patched init and RC scripts.&lt;br /&gt;&lt;br /&gt;Recopying init and RC scripts.&lt;br /&gt;&lt;br /&gt;Startup will be queued to init within 30 seconds.&lt;br /&gt;&lt;br /&gt;/etc/profile: line 55: ulimit: open files: cannot modify limit: Operation not permitted&lt;br /&gt;&lt;br /&gt;/home/oracle/.bash_profile: line 30: ulimit: open files: cannot modify limit: Operation not&lt;br /&gt;&lt;br /&gt;permitted&lt;br /&gt;&lt;br /&gt;Starting up the CRS daemons.&lt;br /&gt;&lt;br /&gt;Waiting for the patched CRS daemons to start.&lt;br /&gt;&lt;br /&gt;This may take a while on some systems.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;10204 patch successfully applied.&lt;br /&gt;&lt;br /&gt;clscfg: EXISTING configuration version 3 detected.&lt;br /&gt;&lt;br /&gt;clscfg: version 3 is 10G Release 2.&lt;br /&gt;&lt;br /&gt;Successfully accumulated necessary OCR keys.&lt;br /&gt;&lt;br /&gt;Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.&lt;br /&gt;&lt;br /&gt;node :&lt;br /&gt;&lt;br /&gt;node 2: linux2 linux2-priv linux2&lt;br /&gt;&lt;br /&gt;Creating OCR keys for user 'root', privgrp 'root'..&lt;br /&gt;&lt;br /&gt;Operation successful.&lt;br /&gt;&lt;br /&gt;clscfg -upgrade completed successfully&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cluster Status&lt;br /&gt;&lt;br /&gt;[root@linux2 install]# cd ../bin&lt;br /&gt;&lt;br /&gt;[root@linux2 bin]# ./crs_stat -t&lt;br /&gt;&lt;br /&gt;Name Type Target State Host&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;ora.devdb.db application ONLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....b1.inst application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....b2.inst application ONLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora...._taf.cs application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db1.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....db2.srv application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....SM1.asm application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora....X1.lsnr application OFFLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora.linux1.gsd application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.ons application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora.linux1.vip application ONLINE ONLINE linux1&lt;br /&gt;&lt;br /&gt;ora....SM2.asm application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora....X2.lsnr application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.gsd application ONLINE OFFLINE&lt;br /&gt;&lt;br /&gt;ora.linux2.ons application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;ora.linux2.vip application ONLINE ONLINE linux2&lt;br /&gt;&lt;br /&gt;I am having some problem in Node2 that’s why GSD is down in node2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-3764348904063303461?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/3764348904063303461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=3764348904063303461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/3764348904063303461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/3764348904063303461'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/real-application-cluster-database.html' title='Real Application Cluster database upgrade from 10.2.0.1 to 10.2.0.4'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-932217235919262694</id><published>2010-09-05T19:19:00.000-07:00</published><updated>2010-09-05T19:25:14.402-07:00</updated><title type='text'>ORA-07445: exception encountered: core dump [qmkmfreeUga()+27] [SIGSEGV] [Address</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: courier new; color: rgb(102, 0, 0); font-weight: bold;"&gt;ORA-07445: exception encountered: core dump [qmkmfreeUga()+27] [SIGSEGV] [Address mapped to object] [0x4C] [] []&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: arial; font-style: italic;"&gt;When upgrading from 10.2.0.1.0 to 10.2.0.4.0, a user may see this error when running catupgrd.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-style: italic;"&gt;Cause: This is unpublished bug 6957077&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: arial; font-style: italic;"&gt;Action: The database instance needs to be shutdown and restarted, then catupgrd.sql can be run and should complete successfully&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;SQL&gt; shutdown immediate&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(153, 0, 0);"&gt;SQL&gt; startup upgrade &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-932217235919262694?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/932217235919262694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=932217235919262694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/932217235919262694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/932217235919262694'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2010/09/ora-07445-exception-encountered-core.html' title='ORA-07445: exception encountered: core dump [qmkmfreeUga()+27] [SIGSEGV] [Address'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-858251560687688197</id><published>2009-09-08T22:15:00.000-07:00</published><updated>2009-09-08T22:24:39.206-07:00</updated><title type='text'>Oracle backup replication with Oracle Streams, Data Guard &amp; RAC</title><content type='html'>&lt;p style="font-family: verdana; text-align: left;font-family:verdana;" class="g" &gt;&lt;span class="style1"  style="font-size:85%;"&gt;As the world’s leading database,  Oracle offers a wealth of options to replicate geographically distributed  systems.  Each method has its own features and it is the job of the Oracle  professional to choose the one that makes sense for their business  requirements:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;ul  style="margin-top: 0in; margin-bottom: 0in; font-family: verdana; text-align: left;font-family:verdana;" type="disc"&gt;&lt;span style="font-size:85%;"&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;Data Guard&lt;/span&gt;&lt;span class="style1"&gt; – &lt;a href="http://www.rampant-books.com/book_2004_2_dataguard.htm"&gt;Data Guard standby  databases&lt;/a&gt; provide standby databases for failover in system that do  not have a high downtime cost.  In a data guard failover, the last redo log must  be applied (up to 20 minutes to re-open the standby database), and if the last  redo cannot be recovered from the crashed instance, the most recent updates may  be lost.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;b&gt;Multi-Master Replication&lt;/b&gt; – See the excellent book for implementing &lt;a href="http://www.rampant-books.com/book_2003_2_replication.htm"&gt;multi-master  replication&lt;/a&gt;.  Uses advanced queuing to cross-pollinate many databases  with updates.  Has an advantage over Data Guard because the standby database can  be used for updates, and a disadvantage that replication is not instantaneous  and update collisions may occur.&lt;br /&gt;&lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;b&gt;Oracle Streams&lt;/b&gt; – See the  comprehensive book on &lt;a href="http://www.rampant-books.com/book_2004_2_streams.htm"&gt;Oracle Streams  Technology&lt;/a&gt; by Madhu Tumma.  Ready for production use in Oracle 10g,  Oracle Streams allows near real-time replication and support for  master-to-master replication.  Oracle Streams has no licensing costs (RAC costs  extra) and it is less complex to configure than a RAC database.  This  disadvantage over RAC is that there is no continuous availability, update  collisions may occur, replication is not instant, and application failover is  usually done manually.&lt;br /&gt;&lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;b&gt;Real Application Clusters&lt;/b&gt; – The Cadillac of Oracle  continuous availability tools, RAC allows for Transparent Application Failover  (TAF) and RAC is de-rigueur for systems with a high cost of downtime and  &lt;span class="style1"&gt;&lt;a href="http://www.rampant-books.com/book_2004_1_10g_grid.htm"&gt;continuous  availability on RAC&lt;/a&gt;.  &lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;p class="style1" align="left"&gt;Most shops will combine these technologies to provide  replication that is easy to manage and reliable.  Let’s explore such a  scenario.&lt;/p&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;h1 class="style1" align="left"&gt;Why  Replicate?&lt;/h1&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;p class="style1" align="left"&gt;Oracle has sophisticated mechanisms to manage data  concurrency and replication is normally used when we have geographically  distributed systems with unreliable network connectivity between systems.  In a  perfect world, database would not be replicated, but the nature of worldwide  networking mandates that global eCommerce system have replicated database to  provide fast response time worldwide.&lt;/p&gt; &lt;p class="style1" align="left"&gt;Because the Oracle Streams product is new, Oracle  professionals are only now recognizing how Streams can be used to in a  master-master replication architecture.  Let’s take a closer  look.&lt;/p&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;h1 class="style1" align="left"&gt;Oracle Streams for  master-master replication&lt;/h1&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;p class="style1" align="left"&gt;Oracle Streams is an ideal solution for systems that  are geographically distributed and have a high-speed connection (e.g. a T1 line)  between servers.  As long as the server interconnect can keep-up with the  changes you can implement systems that provide failover and disaster recovery,  simply and reliably.  However Oracle Streams replication is not for every  database:&lt;/p&gt;&lt;/span&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;/span&gt;&lt;ul  style="margin-top: 0in; margin-bottom: 0in; font-family: verdana; text-align: left;font-family:verdana;" type="disc"&gt;&lt;span style="font-size:85%;"&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;High update systems&lt;/span&gt;&lt;span class="style1"&gt; –  Busy update database may spend excessive resources synchronizing the distributed  databases.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;b&gt;Real-time replication required&lt;/b&gt; – If you require a two-phase  commit (where the changes are committed on each database at exactly the same  time), then RAC or on-commit replication are a better choice.  For example, a  banking system would require that all databases update each other  simultaneously, and Oracle Streams might not be an ideal solution.  &lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:85%;"  &gt; &lt;p class="style1" align="left"&gt;On the other had, Oracle Streams is perfect for  geographically distributed applications where real-time synchronization is not  required.  Let’s explore master-master replication with a hypothetical example.   Assume that we have a online database serving the US Federal government which is  deployed using APEX making it accessible anywhere in the world with an  internet-enabled web browser.  Federal agencies will connect with either the  California or the Texas server, based on their APEX shortcut URL.  The two  systems are cross-fed updates via Oracle Streams and the Texas server will use  Data Guard to replicate to standby database in Kittrell North Carolina (Figure  1).&lt;/p&gt;&lt;p class="style1" align="left"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_KEjO8My22Aw/Sqc642eMS8I/AAAAAAAAD3U/dl1smx2Q2E4/s1600-h/usa_streams2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 251px;" src="http://1.bp.blogspot.com/_KEjO8My22Aw/Sqc642eMS8I/AAAAAAAAD3U/dl1smx2Q2E4/s400/usa_streams2.jpg" alt="" id="BLOGGER_PHOTO_ID_5379333028286581698" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div  style="font-family: verdana; text-align: left;font-family:verdana;"&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-weight: bold;" class="style1"&gt;&lt;span style="font-size:85%;"&gt;Figure 1 – Combining Oracle Streams and Oracle data Guard&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;Oracle Streams will provide near real-time  replication of important information and in case of a server outage, updates are  automatically stored in update queues and applied automatically when service is  restored to the crashed Oracle server.&lt;/span&gt;&lt;/p&gt; &lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;Providing reliable connectivity during network  outages is very challenging and sophisticated, and Oracle has several tools that  will aid TCI in their goals.  In case of any type of outage we see alternative  connection options:&lt;/span&gt;&lt;/p&gt; &lt;ul style="margin-top: 0in; margin-bottom: 0in;" type="disc"&gt;&lt;span style="font-size:85%;"&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;Interconnect is down&lt;/span&gt;&lt;span class="style1"&gt;  – All end-users will continue to operate independently and when the interconnect  is restored the updates queues will synchronize each database.&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;California or Texas Server down&lt;/span&gt;&lt;span class="style1"&gt; – The end-user will have three icons on their desktop, and a  California end-user simply clicks on the URL for the Texas database and  continues working.&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;Major Disaster &lt;/span&gt;&lt;span class="style1"&gt;– In  this case the Kittrell NC server will be synchronized using Data Guard (with a  possible loss of the most recent redo log updates) and end-users with access to  the internet can continue to work on the standby server.  Upon restoration of  service, the Kittrell server will flush all updates back to the main California  and Texas databases.&lt;/span&gt; &lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt; &lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;Establishing the replication mechanisms is only part  of the task.  We also need detailed checks to alert the DBA staff when an outage  has occurred.  The end-user will have it easier, and know to simply log in to  the surviving Oracle database.  Let’s look at the replication alert  mechanisms.&lt;/span&gt;&lt;/p&gt;&lt;h1 class="style1"&gt;&lt;span style="font-size:85%;"&gt;Streams replication failure alerts&lt;/span&gt;&lt;/h1&gt; &lt;p class="MsoNormal"&gt;&lt;span class="style1"  style="font-size:85%;"&gt;&lt;span&gt;This is a critical component of  the replication so that Oracle staff can be aware when there has been a server  or network failure.  The alerts will include checks from the Kittrell, checks  between Texas and California, and checks of the replication queues.  Because the  connectivity checks must be done outside from Oracle, the checks can be done  using Linux &lt;/span&gt;&lt;/span&gt;&lt;span class="style3"  style="font-size:85%;"&gt;&lt;span&gt;cron&lt;/span&gt;&lt;/span&gt;&lt;span class="style1"  style="font-size:85%;"&gt;&lt;span&gt;  entries.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul style="margin-top: 0in; margin-bottom: 0in;" type="disc"&gt;&lt;span style="font-size:85%;"&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;Ping from standby server&lt;/span&gt;&lt;span class="style1"&gt; - The Kittrell standby server will check every 15 minutes for  connectivity to all servers with a “ping” command.  If the servers fail to  respond a pager alert will be sent to support staff.&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li class="MsoNormal"&gt; &lt;p align="left"&gt;&lt;span class="style2"&gt;California and Texas connectivity  checks&lt;/span&gt;&lt;span class="style1"&gt; – Each server will cross-check each other,  first checking with tnsping, then ping, and sending appropriate alerts in cases  of network failure.&lt;/span&gt; &lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt; &lt;h2 class="style1"&gt;&lt;span style="font-size:85%;"&gt; Creating a self-synchronizing replication  architecture&lt;/span&gt;&lt;/h2&gt; &lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;Once the Oracle Streams, Data Guard and alerts are  in-place, the only challenge for the Oracle DBA is ensuring that the Streams  replication queues have enough room to hold updates on the surviving Oracle  instance.&lt;/span&gt;&lt;/p&gt; &lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;For more information on using Oracle Streams and  Multimaster Replication, we recommend these books and links:&lt;/span&gt;&lt;/p&gt; &lt;h2 class="style1"&gt;&lt;span style="font-size:85%;"&gt;Streams Replication Links:&lt;/span&gt;&lt;/h2&gt; &lt;ul&gt;&lt;span style="font-size:85%;"&gt;&lt;li&gt; &lt;p class="MsoNormal" align="left"&gt;&lt;span class="style1"&gt;Configuring Oracle Streams.     &lt;/span&gt;&lt;a style="color: blue; text-decoration: underline;" href="http://www.praetoriate.com/t_oraclestreams_171_dbms_flashback_.htm"&gt;&lt;span class="style1"&gt;http://www.praetoriate.com/t_oraclestreams_171_dbms_flashback_.htm&lt;/span&gt;&lt;/a&gt;  &lt;span class="style1"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p class="MsoNormal" align="left"&gt;&lt;span class="style1"&gt;Oracle Streams Capture and  propagate configuration.  &lt;/span&gt;&lt;a style="color: blue; text-decoration: underline;" href="http://www.praetoriate.com/t_oraclestreams_178_rman_duplicate_.htm"&gt;&lt;span class="style1"&gt;http://www.praetoriate.com/t_oraclestreams_178_rman_duplicate_.htm&lt;/span&gt;&lt;/a&gt;  &lt;span class="style1"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p class="MsoNormal" align="left"&gt;&lt;span class="style1"&gt;A phased approach to  multi-master replication.  &lt;/span&gt;&lt;a color="blue" style="text-decoration: underline;" href="http://www.blogger.com/art_dbazine_mm_repl.htm"&gt;&lt;span class="style1"&gt;http://www.dba-oracle.com/art_dbazine_mm_repl.htm&lt;/span&gt;&lt;/a&gt; &lt;span class="style1"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt; &lt;/li&gt;&lt;li&gt; &lt;p class="MsoNormal" align="left"&gt;&lt;span class="style1"&gt;Oracle Data guard broker  architecture.  &lt;/span&gt;&lt;a style="color: blue; text-decoration: underline;" href="http://www.rampant-books.com/art_kumar_dg_broker_architiecture.htm"&gt;&lt;span class="style1"&gt;http://www.rampant-books.com/art_kumar_dg_broker_architiecture.htm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="style1"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: verdana;font-family:Times New Roman;font-size:100%;"  &gt;&lt;p class="style1" align="left"&gt;&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-858251560687688197?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/858251560687688197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=858251560687688197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/858251560687688197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/858251560687688197'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/oracle-backup-replication-with-oracle.html' title='Oracle backup replication with Oracle Streams, Data Guard &amp; RAC'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_KEjO8My22Aw/Sqc642eMS8I/AAAAAAAAD3U/dl1smx2Q2E4/s72-c/usa_streams2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-5005657252077470799</id><published>2009-09-07T22:49:00.000-07:00</published><updated>2009-09-07T22:56:50.926-07:00</updated><title type='text'>Somethings about EXPLAIN PLAN</title><content type='html'>1. Creation of plan table:&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;@?/rdbms/admin/utlxplan.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Explaining an sql statment:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;EXPLAIN PLAN FOR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;SELECT ..............................statement....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. View EXPLAIN PLAN out put:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;set pagesize 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;set linesize 130&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;@?/rdbms/admin/utlxpls.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above sql shows plan table output for serial processing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;@?/rdbms/admin/utlxpls.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above sql shows output with parallel execution colums.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Delete Operation Explain Plan &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_KEjO8My22Aw/SqXxHx2VP-I/AAAAAAAAD3E/o-XlvjCLw70/s1600-h/explan.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 595px; height: 225px;" src="http://4.bp.blogspot.com/_KEjO8My22Aw/SqXxHx2VP-I/AAAAAAAAD3E/o-XlvjCLw70/s320/explan.bmp" alt="" id="BLOGGER_PHOTO_ID_5378970445906526178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;DELETE FROM EPDBA01.t_bo_sec_new&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;    WHERE ROWID IN (SELECT tbo.ROWID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;               FROM EPDBA01.t_bo_sec_new tbo, EPDBA01.t_plan tp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;               WHERE tbo.plan_id = tp.plan_id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;                 AND NOT tbo.person_id IN (SELECT person_id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;                          FROM EPDBA01.t_sys_admin)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;                 AND tbo.role_id = 2000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;                 AND tp.plan_access = 'S')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-family: courier new;"&gt;Plan hash value: 4027940639&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step Explaination:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. This plan step retrieves all rows from table T_PLAN.&lt;br /&gt;2. This plan step retrieves all rows from table T_BO_SEC_NEW.&lt;br /&gt;3. This plan step accepts two sets of rows, each from a different table.&lt;br /&gt;  A hash table is built using the rows returned by the first child.&lt;br /&gt;  Each row returned by the second child is then used to probe the hash table to find row pairs&lt;br /&gt;  which satisfy a condition specified in the query's WHERE clause.&lt;br /&gt;  Note: The Oracle cost-based optimizer will build the hash table using what it thinks is the smaller of the two tables.&lt;br /&gt;  It uses the statistics to determine which is smaller, so out of date statistics could cause the optimizer to make&lt;br /&gt;  the wrong choice.&lt;br /&gt;4. This plan step retrieves all ROWIDs from the B*-tree index PK_T_SYS_ADMIN by walking the index starting with its smallest key.&lt;br /&gt;5. This plan step accepts multiple sets of rows.  Rows from the first set are eliminated using the data found in the second through n sets.&lt;br /&gt;6  This plan step accepts a row set (its only child) and sorts it in order to identify and eliminate duplicates.&lt;br /&gt;7. This plan step represents the execution plan for the subquery defined by the view VW_NSO_1.&lt;br /&gt;8. This plan step retrieves rows from table T_BO_SEC_NEW through ROWID(s) specified in the WHERE clause of the statement.&lt;br /&gt;9. This plan step joins two sets of rows by iterating over the driving, or outer, row set (the first child of the join) and, for each row, carrying out the steps of the inner row set (the second child).  Corresponding pairs of rows are tested against the join condition specified in the query's WHERE clause.&lt;br /&gt;10. This plan step deletes rows from table T_BO_SEC_NEW which satisfy the WHERE clause of the DELETE statement.&lt;br /&gt;11. This plan step designates this statement as a DELETE statement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-5005657252077470799?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/5005657252077470799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=5005657252077470799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5005657252077470799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5005657252077470799'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/somethings-about-explain-plan.html' title='Somethings about EXPLAIN PLAN'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_KEjO8My22Aw/SqXxHx2VP-I/AAAAAAAAD3E/o-XlvjCLw70/s72-c/explan.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-5596210691556092939</id><published>2009-09-07T22:39:00.001-07:00</published><updated>2009-09-07T22:39:58.764-07:00</updated><title type='text'>Oracle powers world's largest commercial database</title><content type='html'>&lt;span class="bodycopy"&gt;Oracle has set a new record by powering 100 TERABYTE DATA WAREHOUSE. Their  customers run four top 10 largest support system databases and powers nine top  10 UNIX OLTP. Survey determined that the largest transaction processing system  on UNIX runs an Oracle Database, containing over 16 TB of data. Oracle is used  by three of the 10 largest UNIX DATA WAREHOUSES.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;a href="http://www.oracle.com/corporate/press/2005_sep/091305_wintertopten_finalsite.html"&gt;http://www.oracle.com/corporate/press/2005_sep/091305_wintertopten_finalsite.html&lt;/a&gt;&lt;/span&gt;&lt;span class="bodycopy"&gt;&lt;br /&gt;&lt;br /&gt;The article says it's the first time Linux had its own  categories for DSS and OLTP:&lt;/span&gt;  &lt;blockquote&gt; &lt;p&gt;&lt;i&gt;&lt;span class="bodycopy"&gt;"This year's survey marks the first time that the  Linux operating system had its own categories for DSS and OLTP. In total, 12  systems (eight DSS and four OLTP systems) running Linux were measured ? all of  them running Oracle Database. Two of these Linux data warehouse systems cracked  the TopTen All Environments in the database size category. The world's largest  Linux data warehouse measures 24.8 TB, good enough for sixth overall in the top  10 largest data warehouse category. Oracle is the only database vendor whose  customers posted top results on Linux, UNIX and Windows  platforms."&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-5596210691556092939?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/5596210691556092939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=5596210691556092939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5596210691556092939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5596210691556092939'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/oracle-powers-worlds-largest-commercial.html' title='Oracle powers world&apos;s largest commercial database'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-6284049521766948599</id><published>2009-09-07T22:36:00.000-07:00</published><updated>2009-09-07T22:45:10.172-07:00</updated><title type='text'>World's largest commercial Linux data warehouse runs Oracle Database</title><content type='html'>&lt;h2 style="font-weight: normal;" class="summary"&gt;&lt;span style="font-size:100%;"&gt;Oracle is the leading database for decision support and online  transaction processing in real-world customer environments, according to the  Winter Corporation 2005 Top Ten Program survey. Only Oracle Database produces  leading results on Linux, UNIX, and Windows.&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;&lt;div class="story"&gt;The survey, which identifies the world's largest and most  heavily used databases, found that the largest commercial data warehouse in the  world runs a 100 terabyte Oracle Database. That's more than triple the size of  the largest database in the previous TopTen Program survey, which was also  powered by Oracle.&lt;br /&gt;&lt;br /&gt;The survey's newest category covering Linux DSS and  OLTP databases was completely dominated by Oracle customers. Overall, the survey  found that Oracle is the only database vendor whose customers posted top results  on Linux, UNIX, and Windows platforms.&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Other survey findings:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- The world's largest commercial database runs  Oracle Database, with 100TB of data.&lt;br /&gt;- The world's largest commercial  data warehouse runs Oracle Database.&lt;br /&gt;- The world's largest commercial  UNIX data warehouse runs Oracle Database.&lt;br /&gt;- The world's largest  commercial Linux data warehouse runs Oracle Database.&lt;br /&gt;- The world's  largest scientific database runs Oracle Database.&lt;br /&gt;- Oracle Database  powers nine of the world's top 10 UNIX OLTP systems.&lt;br /&gt;- Oracle Database  powers 100 percent of all Linux DSS and OLTP measured in the Winter Corporation  2005 TopTen program.&lt;br /&gt;- Oracle customers represent 58 percent of the all  validated participants in the Winter Corporation 2005 TopTen program.&lt;br /&gt;&lt;br /&gt;The Winter Corporation 2005 TopTen Program surveyed customers from 20  countries on five continents, in 11 industries from government to healthcare to  retail to telecommunications, among others.&lt;br /&gt;&lt;br /&gt;The Program identifies the  world's leading database implementations based on Database Size and Most  Rows/Records. As part of the rigorous survey process, respondents must have a  validated database size that meets the survey's requirements.&lt;br /&gt;&lt;br /&gt;Source: &lt;span style="font-family:Times New Roman;font-size:85%;"&gt;&lt;a title="http://www.ameinfo.com/72074.html" href="http://www.ameinfo.com/72074.html"&gt;http://www.ameinfo.com/72074.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Largest Oracle database tops 100 trillion bytes : This articles notes the world's largest data warehouses are running Oracle with Linux&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-6284049521766948599?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/6284049521766948599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=6284049521766948599' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6284049521766948599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6284049521766948599'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/worlds-largest-commercial-linux-data.html' title='World&apos;s largest commercial Linux data warehouse runs Oracle Database'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-1849615287236184004</id><published>2009-09-07T22:20:00.000-07:00</published><updated>2009-09-07T22:23:57.825-07:00</updated><title type='text'>Database Failover Steps (Oracle Dataguard / Physical Standby Database)</title><content type='html'>1. Sync last archive logfile.&lt;br /&gt;&lt;br /&gt;2. Activate standby database by using the following statements:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;   * Recover managed standby database cancel;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;   * alter database activate standby database;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;   * shutdown immediate;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-weight: bold;"&gt;   * startup;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Hot backup immediately.&lt;br /&gt;&lt;br /&gt;4. Build new standby database&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-1849615287236184004?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/1849615287236184004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=1849615287236184004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1849615287236184004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1849615287236184004'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/database-failover-steps-oracle.html' title='Database Failover Steps (Oracle Dataguard / Physical Standby Database)'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-4429122536223367036</id><published>2009-09-07T21:10:00.000-07:00</published><updated>2009-09-07T21:21:10.687-07:00</updated><title type='text'>Installing the XML &amp; JAVA Components on Oracle Database</title><content type='html'>Shutdown the instance and then create and run the following sql script from a new sqlplus session:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;-- Start of File full_rmjvm.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;spool full_rmjvm.log&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;set echo on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;startup mount&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;alter system set "_system_trig_enabled" = false scope=memory;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;alter system enable restricted session;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;alter database open;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catnoexf.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catnojav.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/xdk/admin/rmxml.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/javavm/install/rmjvm.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;truncate table java$jvm$status;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select * from obj$ where obj#=0 and type#=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;delete from obj$ where obj#=0 and type#=0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;commit;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select owner, count(*) from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by owner;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select obj#, name from obj$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where type#=28 or type#=29 or type#=30 or namespace=32;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select o1.name from obj$ o1,obj$ o2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where o1.type#=5 and o1.owner#=1 and o1.name=o2.name and o2.type#=29;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;shutdown immediate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;set echo off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;spool off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;-- End of File full_rmjvm.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;- Start of File full_jvminst.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;spool full_jvminst.log;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;set echo on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;startup mount&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;alter system set "_system_trig_enabled" = false scope=memory;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;alter database open;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select obj#, name from obj$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;  where type#=28 or type#=29 or type#=30 or namespace=32;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/javavm/install/initjvm.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*), object_type from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by object_type;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/xdk/admin/initxml.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*), object_type from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by object_type;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/xdk/admin/xmlja.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*), object_type from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by object_type;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catjava.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*), object_type from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by object_type;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catexf.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*), object_type from all_objects&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;   where object_type like '%JAVA%' group by object_type;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;shutdown immediate&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;set echo off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;spool off&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;exit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;-- End of File full_jvminst.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can also get the same tips from original Oracle metalink notes:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Subject:  How to Reload the JVM in 10.1.0.X and 10.2.0.X &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Doc ID:  Note:276554.1 &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-4429122536223367036?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/4429122536223367036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=4429122536223367036' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4429122536223367036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4429122536223367036'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/installing-xml-java-components-on.html' title='Installing the XML &amp; JAVA Components on Oracle Database'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-4790247578987118212</id><published>2009-09-07T20:59:00.000-07:00</published><updated>2009-09-07T21:22:53.182-07:00</updated><title type='text'>How to deinstall and install Oracle XML database (XMLDB/XDB)?</title><content type='html'>If you are on database release 10.1.x or 10.2.x the XDB Feature is Mandatory in order to use any of the member functions of the XMLTYPE. This is true even if you are not using the repository, or registered schema aspects of the XDB feature. Before we begin to install it, let's check the steps of how to remove it manually.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;====&gt; Removal of XML DB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1) Shutdown and restart the database&lt;br /&gt;&lt;br /&gt;2) Connect as sysdba and run catnoqm.sql script.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catnoqm.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;drop trigger sys.xdb_installation_trigger;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;drop trigger sys.dropped_xdb_instll_trigger;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;drop table dropped_xdb_instll_tab; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3) Modify parameter values in init.ora or spfile.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;shared_pool_size =150 MB # Or larger value&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;java_pool_size =150 MB # Or larger value &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;====&gt; Installation of XML DB&lt;/span&gt;&lt;br /&gt;Create XDB tablespace as XMLDB repository storage, make sure it has 150MB free space. Restart the database to make the parameters take effect.&lt;br /&gt;&lt;br /&gt;Now we are ready to install a new XDB:&lt;br /&gt;&lt;br /&gt;1) Connect as sysdba and run catqm.sql script.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;set echo on &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;spool xdb_install.log &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catqm.sql xdb_user_pass xdb_tbs temp_tbs &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2) If you are using Oracle 9.2, reconnect as SYSDBA and run catxdbj.sql script. Oracle 10g also has this script, but have nothing to do.&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;@?/rdbms/admin/catxdbj.sql &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3) Change database system parameters in init.ora or spfile.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;    a) Non-RAC &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    dispatchers="(PROTOCOL=TCP)(SERVICE=&lt;sid&gt;XDB)" &lt;/sid&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;    b) RAC &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    inst1.dispatchers="(PROTOCOL=TCP)(SERVICE=&lt;instanceid1&gt;XDB)" &lt;/instanceid1&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;    inst2.dispatchers="(PROTOCOL=TCP)(SERVICE=&lt;instanceid2&gt;XDB)" &lt;/instanceid2&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4) Make sure there is no invalid objects in XDB schema, and check XMLDB status in DBA_REGISTRY.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select count(*) from dba_objects &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;br /&gt;where owner='XDB' and status='INVALID';&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;select comp_name, status, version &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;from DBA_REGISTRY &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;where comp_name= 'Oracle XML Database'; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5) Bounce the database to enable the XMLDB protocol.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-4790247578987118212?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/4790247578987118212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=4790247578987118212' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4790247578987118212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4790247578987118212'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/how-to-deinstall-and-install-oracle-xml.html' title='How to deinstall and install Oracle XML database (XMLDB/XDB)?'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-3166308495224422592</id><published>2009-09-07T20:53:00.001-07:00</published><updated>2009-09-07T21:24:25.487-07:00</updated><title type='text'>Manual Installation of XML DB</title><content type='html'>To manually install Oracle XML DB without using DBCA, perform the following steps:&lt;br /&gt;&lt;br /&gt;After the database installation, connect as SYS and create a new tablespace for the Oracle XML DB repository. Run the catqm.sql script in the ORACLE_HOME/rdbms/admin directory to create the tables and views needed for XML DB:&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;catqm.sql XDB_password XDB_Tablespace_Name TEMP_Tablespace&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;For Example:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;XDB_password = 123456&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;XDB_Tablespace_Name = XDBTS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;TEMP_Tablespace = TEMP&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So now the syntax will look something like this:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; catqm.sql &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;123456&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;XDBTS&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:courier new;"&gt;TEMP&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;&lt;xdb_password&gt;&lt;xdb_tablespace_name&gt;&lt;temp_tablespace&gt;&lt;/temp_tablespace&gt;&lt;/xdb_tablespace_name&gt;&lt;/xdb_password&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-3166308495224422592?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/3166308495224422592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=3166308495224422592' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/3166308495224422592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/3166308495224422592'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/09/manual-installation-of-xml-db_07.html' title='Manual Installation of XML DB'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-1392153911177216867</id><published>2009-03-18T04:57:00.000-07:00</published><updated>2009-03-18T04:59:11.353-07:00</updated><title type='text'>How can one improve Import/ Export performance?</title><content type='html'>&lt;strong&gt;EXPORT:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1) Set the BUFFER parameter to a high value (e.g. 2Mb -- entered as an integer "2000000")&lt;br /&gt;2) Set the RECORDLENGTH parameter to a high value (e.g. 64Kb -- entered as an integer "64000")&lt;br /&gt;3) Use DIRECT=yes (direct mode export)&lt;br /&gt;4) Stop unnecessary applications to free-up resources for your job.&lt;br /&gt;5) If you run multiple export sessions, ensure they write to different physical disks.&lt;br /&gt;6) DO NOT export to an NFS mounted filesystem. It will take forever.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;IMPORT:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1) Create an indexfile so that you can create indexes AFTER you have imported data. Do this by setting INDEXFILE to a filename and then import. No data will be imported but a file containing index definitions will be created. You must edit this file afterwards and supply the passwords for the schemas on all CONNECT statements.&lt;br /&gt;2) Place the file to be imported on a separate physical disk from the oracle data files&lt;br /&gt;3) Increase DB_CACHE_SIZE (DB_BLOCK_BUFFERS prior to 9i) considerably in the init$SID.ora file&lt;br /&gt;4) Set the LOG_BUFFER to a big value and restart oracle.&lt;br /&gt;5) Stop redo log archiving if it is running (ALTER DATABASE NOARCHIVELOG;)&lt;br /&gt;6) Create a BIG tablespace with a BIG rollback segment inside. Set all other rollback segments offline (except the SYSTEM rollback segment of course). The rollback segment must be as big as your biggest table (I think?)&lt;br /&gt;7) Use COMMIT=N in the import parameter file if you can afford it&lt;br /&gt;8) Use STATISTICS=NONE in the import parameter file to avoid time consuming to import the statistics&lt;br /&gt;9) Remember to run the indexfile previously created&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-1392153911177216867?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/1392153911177216867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=1392153911177216867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1392153911177216867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1392153911177216867'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/03/how-can-one-improve-import-export.html' title='How can one improve Import/ Export performance?'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-1255651843858033792</id><published>2009-03-18T04:51:00.000-07:00</published><updated>2009-03-18T04:54:42.595-07:00</updated><title type='text'>Common Import/ Export Problems</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;ORA-00001: Unique constraint (...) violated&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;You are importing duplicate rows. Use IGNORE=YES to skip tables that already exist (imp will give an error if the object is re-created).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;ORA-01555: Snapshot too old&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Ask your users to STOP working while you are exporting or try using parameter CONSISTENT=NO&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;ORA-01562: Failed to extend rollback segment&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Create bigger rollback segments or set parameter COMMIT=Y while importing&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;IMP-00015: Statement failed ... object already exists...&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Use the IGNORE=Y import parameter to ignore these errors, but be careful as you might end up with duplicate rows.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-1255651843858033792?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/1255651843858033792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=1255651843858033792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1255651843858033792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1255651843858033792'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/03/common-import-export-problems.html' title='Common Import/ Export Problems'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-2855496724142007352</id><published>2009-03-11T00:48:00.000-07:00</published><updated>2009-03-11T00:58:35.539-07:00</updated><title type='text'>Enabling ARCHIVELOG Mode</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;This is a good review of enabling archive log - an article coming from cuddletech(&lt;a href="http://www.cuddletech.com/articles/oracle/node58.html"&gt;http://www.cuddletech.com/articles/oracle/node58.html&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;)&lt;br /&gt;&lt;br /&gt;Most of the High Availability features of Oracle require you to enable ARCHIVELOG mode for your database. When you enable this mode redo logs will be archived instead of overwritten. The archivelogs are stored in a seperate place usually can backed up regularly by your standard filesystem backup system (NetBackup or whatever). Archive logs are utilized by RMAN, Data Guard, Flashback and many others.&lt;br /&gt;&lt;br /&gt;If your going to enable archivelog mode on a real database thats important to you, I would recommend shutting down the database and doing a cold backup just in case. Keeping a “final noarchivelog mode backup” seems to be a good and excepted practice.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Enabling archive mode is simple, just connect to your database in mounted but closed mode (startup mount) and alter the database. But if you don’t tune alittle you’ll run into problems down the road, so lets specify some parameters too. Namely, consider LOG_ARCHIVE_DEST.&lt;br /&gt;&lt;br /&gt;Lets start by checking the current archive mode.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; SELECT LOG_MODE FROM SYS.V$DATABASE;&lt;br /&gt;LOG_MODE&lt;br /&gt;------------&lt;br /&gt;NOARCHIVELOG&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So we’re in NOARCHIVELOG mode and we need to change. We can use a database alter statement, but that won’t be perminant, so lets just update the pfile directly. The pfile should be in either $ORACLE_BASE/admin/SID/pfile or $ORACLE_HOME/admin/SID/pfile. I’ll add the following lines to the end of the file:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;############################&lt;br /&gt;# Archive Log Destinations -benr(10/15/04)&lt;br /&gt;############################&lt;br /&gt;log_archive_dest_1='location=/u02/oradata/cuddle/archive'&lt;br /&gt;log_archive_start=TRUE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note that we’re not actually required to specify the location of the log destination, but if you don’t it’ll end up in strange places (in my test it went to $ORACLE_HOME/dbs making a mess). You can specify as many as 10 diffrent archive log destinations by using the paramters log_archive_dest_1 through log_archive_dest_10. Remember, if you run out of space in your archive log destination the database will shut down!&lt;br /&gt;&lt;br /&gt;Now we can startup the database in mount mode and put it in archivelog mode.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;[oracle@vixen pfile]$sqlplus sys/passwd as sysdba;&lt;br /&gt;SQL*Plus: Release 10.1.0.2.0 - Production on Fri Oct 15 16:00:58 2004&lt;br /&gt;Copyright (c) 1982, 2004, Oracle.  All rights reserved.&lt;br /&gt;Connected to an idle instance.&lt;br /&gt;&lt;br /&gt;SQL&gt; startup mount&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area  184549376 bytes&lt;br /&gt;Fixed Size                  1300928 bytes&lt;br /&gt;Variable Size             157820480 bytes&lt;br /&gt;Database Buffers           25165824 bytes&lt;br /&gt;Redo Buffers                 262144 bytes&lt;br /&gt;Database mounted.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database archivelog;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database open;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;You can see here that we put the database in ARCHIVELOG mode by using the SQL statement “alter database archivelog”, but Oracle won’t let us do this unless the instance is mounted but not open. To make the change we shutdown the instance, and then startup the instance again but this time with the “mount” option which will mount the instance but not open it. Then we can enable ARCHIVELOG mode and open the database fully with the “alter database open” statement.&lt;br /&gt;&lt;br /&gt;There are several system views that can provide us with information reguarding archives, such as:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;V$DATABASE&lt;/strong&gt; - Identifies whether the database is in ARCHIVELOG or NOARCHIVELOG mode and whether MANUAL (archiving mode) has been specified.&lt;br /&gt;&lt;strong&gt;V$ARCHIVED_LOG&lt;/strong&gt; - Displays historical archived log information from the control file. If you use a recovery catalog, the RC_ARCHIVED_LOG view contains similar information.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;V$ARCHIVE_DEST&lt;/strong&gt; - Describes the current instance, all archive destinations, and the current value, mode, and status of these destinations.&lt;br /&gt;&lt;strong&gt;V$ARCHIVE_PROCESSES&lt;/strong&gt; - Displays information about the state of the various archive processes for an instance.&lt;br /&gt;&lt;strong&gt; V$BACKUP_REDOLOG&lt;/strong&gt; - Contains information about any backups of archived logs. If you use a recovery catalog, the RC_BACKUP_REDOLOG contains similar information.&lt;br /&gt;&lt;strong&gt; V$LOG&lt;/strong&gt; - Displays all redo log groups for the database and indicates which need to be archived.&lt;br /&gt; &lt;strong&gt;V$LOG_HISTORY&lt;/strong&gt; - Contains log history information such as which logs have been archived and the SCN range for each archived log.&lt;br /&gt;&lt;br /&gt;Using these tables we can verify that we are infact in ARCHIVELOG mode:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; select log_mode from v$database;&lt;br /&gt;LOG_MODE&lt;br /&gt;------------&lt;br /&gt;ARCHIVELOG&lt;br /&gt;&lt;br /&gt;SQL&gt; select DEST_NAME,STATUS,DESTINATION from V$ARCHIVE_DEST;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-2855496724142007352?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/2855496724142007352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=2855496724142007352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/2855496724142007352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/2855496724142007352'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/03/enabling-archivelog-mode.html' title='Enabling ARCHIVELOG Mode'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-5142587084245748329</id><published>2009-03-11T00:37:00.000-07:00</published><updated>2009-03-11T00:47:45.082-07:00</updated><title type='text'>Archivelog ORA-16014 log sequence not archived…</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;One common mistake in 10g, when we enable archivelog mode, happens when we use the flash recovery area default settings as the repository for our archived redo log’s… The mistake consequences will happen 20-30 days after the database archivelog mode been enabled.&lt;br /&gt;By default Oracle 10g Database Configuration Assistant (DBCA) sets flash recovery area size to 2GB (db_recovery_file_dest_size parameter) and when we enable DB archivelog mode it will use the default db_recovery_file_dest parameter for the destination of our archivelogs unless we set any other directory as the destination for them.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;A common small 10g database generates an average 100MB of archivelog files daily… Sometimes even at weekend days when most applications DML is almost zero. Why this happens? The reason is Automatic Workload Repository (AWR) and Automatic Database Diagnostic Monitor (ADDM). AWR collects detailed performance-related metrics from the database at regular intervals, known as snapshots. After each snapshot is taken, ADDM is invoked to thoroughly analyze the data and metrics deriving from the difference between snapshots, and then recommend necessary actions. This generates lot’s of DML and consequently lot’s of redo data.&lt;br /&gt;&lt;br /&gt;So, after some days, your flash recovery area will reach the default 2GB because we have our default settings database archiving there… When this happens our database will be unable to archive due to flash recovery area went full. This happens even if we have lot’s of disk space!&lt;br /&gt;&lt;br /&gt;In our alert log file we’ll see something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ORA-16038: log one sequence 3144 cannot be archived&lt;br /&gt;ORA-19809: limit exceeded for recovery files&lt;br /&gt;ORA-00312: online log string thread string: 'string: '/u01/app/oracle/oradata/mydb/redo01.log'&lt;br /&gt;Sat Oct 11 10:43:56 2008&lt;br /&gt;ARCH: Archival stopped, error occurred. Will continue retrying&lt;br /&gt;Sat Oct 11 10:43:56 2008&lt;br /&gt;ORACLE Instance neo - Archival Error&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oracle saves all the information about what we place in the flash recovery area in the RMAN repository/controlfile.  If it determines that there is not sufficient space in the recovery file destination, as set by db_recovery_file_dest_size then it will fail. Just deleting the old backups and archive logs from disk is not sufficient as it’s the rman repository/controlfile that holds the space used information.&lt;br /&gt;&lt;br /&gt;How to fix this? If we google we see lot’s of places saying to execute “delete archivelog all” in RMAN. This is the fast easy, but dirty solution, as we don’t want to delete all our precious archivelogs by endanger the ability to do future database recovery. The fix can be done with any of the following solutions:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution 1&lt;/strong&gt; - Delete unwanted archive log files at OS side, then crosscheck archivelogs to marks the controlfile that the archives have been deleted and deleting expired ones.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   1. [oracle@app oracle]$ cd /u01/app/oracle/flash_recovery_area/mydb/ &lt;br /&gt;   2. [oracle@app oracle]$ rm archivelogs* &lt;br /&gt;   3. [oracle@app oracle]$ rman target / &lt;br /&gt;   4. connected to target database: MYDB (DBID=1649570311) &lt;br /&gt;   5. RMAN&gt; crosscheck archivelog all &lt;br /&gt;   6. RMAN&gt; delete expired archivelog all &lt;br /&gt;[oracle@app oracle]$ cd /u01/app/oracle/flash_recovery_area/mydb/&lt;br /&gt;[oracle@app oracle]$ rm archivelogs*&lt;br /&gt;[oracle@app oracle]$ rman target /&lt;br /&gt;connected to target database: MYDB (DBID=1649570311)&lt;br /&gt;RMAN&gt; crosscheck archivelog all&lt;br /&gt;RMAN&gt; delete expired archivelog all&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution 2&lt;/strong&gt; - Connect RMAN to backup and then delete your archivelogs… this is a much better solution.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   1. [oracle@app oracle]$ rman target / &lt;br /&gt;   2. connected to target database: MYDB (DBID=1649570311) &lt;br /&gt;   3. RMAN&gt; backup archivelog until logseq &lt;log#&gt; delete all input; &lt;br /&gt;   4. or &lt;br /&gt;   5. RMAN&gt; backup archivelog until time 'sysdate-15' delete all input; &lt;br /&gt;[oracle@app oracle]$ rman target /&lt;br /&gt;connected to target database: MYDB (DBID=1649570311)&lt;br /&gt;RMAN&gt; backup archivelog until logseq &lt;log#&gt; delete all input;&lt;br /&gt;or&lt;br /&gt;RMAN&gt; backup archivelog until time 'sysdate-15' delete all input;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution 3&lt;/strong&gt; - increase dynamically (without shutdown/startup database) the parameter db_recovery_file_dest_size.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   1. [oracle@app oracle]$ sqlplus "/ as sysdba" &lt;br /&gt;   2. SQL&gt; alter system set db_recovery_file_dest_size=4G &lt;br /&gt;[oracle@app oracle]$ sqlplus "/ as sysdba"&lt;br /&gt;SQL&gt; alter system set db_recovery_file_dest_size=4G&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, if needed (usually with solution 1 and 2), just shutdown and startup your database and you’ll get you database again up. We may have to  shutdown abort if the database does not shutdowns normally.&lt;br /&gt;&lt;br /&gt;To avoid the same problem in future when the archivelog size reachs the db_recovery_file_dest_size we should set the following parameters to set an alternate place to archive the redo logs.&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;log_archive_dest_1='LOCATION=use_db_recovery_file_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2'&lt;br /&gt;log_archive_dest_2='LOCATION=/other_destination_for_archiving'&lt;br /&gt;log_archive_dest_state_1='enable'&lt;br /&gt;log_archive_dest_state_2='alternate'&lt;br /&gt;db_recovery_file_dest='/u01/app/oracle/flash_recovery_area/mydb/'&lt;br /&gt;db_recovery_file_dest_size=2G&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-5142587084245748329?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/5142587084245748329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=5142587084245748329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5142587084245748329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/5142587084245748329'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/03/archivelog-ora-16014-log-sequence-not.html' title='Archivelog ORA-16014 log sequence not archived…'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-810733547186131513</id><published>2009-03-10T23:23:00.000-07:00</published><updated>2009-03-10T23:38:24.019-07:00</updated><title type='text'>Setup Oracle Database Archivelog mode</title><content type='html'>&lt;span style="font-family:verdana;font-size:85%;"&gt;A short musical video tutorial showing how easily you can configure Oracle Database to use archivelog mode. Using archivelog mode is highly recommended in any production database and allows RMAN hot backups (online backups) . You can also use RMAN without archivelog, but you’ll have to shutdown the database to backup it (cold backup).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;Let’s system of a down :) Beware… highly advisable to TURN OFF sound if you don’t like hard rock :P&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-e8fc50b6bbf7556f" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v19.nonxt7.googlevideo.com/videoplayback?id%3De8fc50b6bbf7556f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330256313%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6B419E82370D19D70C1D7D883FFA1628D2EFE31D.392B8C65C3CB74B6A4F44299625825F53D022C0D%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3De8fc50b6bbf7556f%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZphNXEn9G48pZYNTVsRxl-OOv0g&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v19.nonxt7.googlevideo.com/videoplayback?id%3De8fc50b6bbf7556f%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330256313%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6B419E82370D19D70C1D7D883FFA1628D2EFE31D.392B8C65C3CB74B6A4F44299625825F53D022C0D%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3De8fc50b6bbf7556f%26offsetms%3D5000%26itag%3Dw160%26sigh%3DZphNXEn9G48pZYNTVsRxl-OOv0g&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;It can be done easily with the following statements:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;SQL&gt; shutdown immediate;&lt;br /&gt;SQL&gt; startup mount;&lt;br /&gt;SQL&gt; alter database archivelog;&lt;br /&gt;SQL&gt; alter database open;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;If your database version is prior 10g then after shutdown and before open database you must set &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;log_archive_start = TRUE&lt;/strong&gt;&lt;/span&gt; in your init.ora and/or spfile.ora. &lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;After that, login as "sys" and you can check it out with:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;strong&gt;SQL&gt; archive log list; &lt;br /&gt;SQL&gt; select log_mode from v$database;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;strong&gt;Note:&lt;/strong&gt; In this case, we need to do a quick restart of the database to enable it to "Archive Log Mode". So please ensure your the required outage window.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-810733547186131513?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=e8fc50b6bbf7556f&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/810733547186131513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=810733547186131513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/810733547186131513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/810733547186131513'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2009/03/setup-oracle-database-archivelog-mode.html' title='Setup Oracle Database Archivelog mode'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-6951587157086965230</id><published>2008-11-02T00:03:00.000-07:00</published><updated>2008-11-02T03:02:44.695-08:00</updated><title type='text'>Creating a Database in Oracle (Complete Steps &amp; Procedures)</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Creating a Database in Oracle (Complete Steps &amp;amp; Procedures)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Every wondered how the Oracle database is structured? To learn more about the structure and how one would create an Oracle database using the latest features read this article. When creating a database, the main concept is to know how the database is structured in Oracle. You should be aware that ever since the release of Oracle 8i, the Oracle database support object orientated structures. This means that Oracle supports abstract data types and methods. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;If you are new to Oracle, then perhaps you are unclear on how data is stored and what files are included internally and externally. With this article you will be clear about how to create a database in Oracle.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;How Data is Stored:&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Data in Oracle is stored in tables and accessed data via a relational model. This means that one may use the tables of data items inside the database in a manner such that the tables relate to one another with the use of primary and foreign keys.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Tables that contain a foreign key are often translated as being a lookup table. Each table should have a primary key, so that each row can be uniquely identified. The primary key is used to connect with the foreign key in another table to form a relationship.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Oracle also supports object-orientated structures. This allows the database to include abstract data types and methods. Due to this object orientation property, objects may related to other objects and that object may exist inside other objects.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Files are used to store data in Oracle. Oracle 9i removes the risk of having orphan file. That is, like the name suggests the file doesn’t have a parent, which means that the datafile was not removed when it’s tablespace is removed. To prevent this from ever happening to your database again, Oracle has introduced “Oracle Managed Files”.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Oracle Managed files, abbreviated as OMF, uses a brand new system of storing files. OMF uses file system directories as opposed to filenames for files that are associated with the tablespace. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;This means that when a tablespace is created, the files are given a unique system-generated name, using the locations that have been assigned to them along with two new initialization parameters. So when the tablespace is removed, the files will be removed with it. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Another new feature in Oracle 9i is the System Managed Undo, abbreviated as SMO. The SMO was created to make the creation of the database simpler for the DBA and to reduce the problem relating to misused rollback segments. The DBA now creates a tablespace as an UNDO type to allow the Oracle database to dynamically and automatically manage the number of undoes, along with the size of the undo segments within the tablespace.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;A database is partitioned using tablespaces. The tablespace named SYSTEM is the databases default tablespace. These tablespaces allows for the grouping of elements within the system that transact with the database.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;A tablespace contains files. These files are called datafiles, which are used to physically store data for the database. Notice this property suggests that datafiles are internal and external structure types, since they are parented by a tablespace (internal property) and are physical storage files (external). The datafile may be resized after it has been created.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Rules about Tablespaces and Datafiles:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A tablespace is parented by the database. So a tablespace cannot be a part of another database.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A datafile is parented by the tablespace. So a datafile cannot be part of another database. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;A datafile may not be removed from a tablespace.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Now that we know how data is stored using Oracle, there are other special physical files that are associated with data storage and will assist in data recovery. The files that are created when the database in created and they are as follows:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Redo log files, which will monitor transactions in a chronological manner. These files are known as online redo log files. The reason why this is an important file to have associated with the database is evident when the database malfunctions.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;According to the Oracle 9i DBA Handbook, a database should consist of 3 or more online redo files. To archive old online redo files before they are inevitably over written, you may set the database to run in ARCHIVELOG mode. This allows the DBA to look further back into the history of transactions with the database. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;C&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;ontrol files, which holds the location of all the files the database will require. Multiple copies are made and stored on different disks to back up this operation-critical file. The CONTROL_FILES parameter specifies the names of the database control files. An instance must be shut down prior to an addition of a new control file.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Temp files, which acts as a temporary storage for a result set. If the result exceeds the memory available in the RAM’s buffer, then the result set will be stored into the temporary data file. Make sure that the size of the file is large enough to hold large sorting operations.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;The other files associated with an Oracle 9i database are called parameter files. There are two types of parameter files. These are. &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Static parameter files&lt;/strong&gt; – This is what the init.ora file is. This are common known as a PFILE and should be based on the init.ora file and renamed as init{SID}.ora, where SID is the system identifier. &lt;strong&gt;Server parameter files&lt;/strong&gt; – This is a new feature in Oracle 9i named the SPFILE. These parameter files are written in binary and should not be altered manually. The files should be named as spfile{SID}.ora, where SID is again the system identifier. The Oracle server always maintains these files.To create the SPFILE we do the following,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;CREATE SPFILE = ‘&lt;directory&gt;\spfile{SID}.ora’ FROM PFILE = ‘init{SID}.ora’&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;There are two types of parameter that are located in these parameter files. These are, &lt;strong&gt;Implicit parameter&lt;/strong&gt;, which are parameters with no value. Oracle therefore assumes that the value for the parameter is the Oracle default values. &lt;strong&gt;Explicit parameter&lt;/strong&gt;, which are parameter that have a value assigned to it.Now we know how the parameter files work. Well, to access data inside the database, Oracle uses a set of background processes that are shared between users. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Oracle states that an instance is “ a set of memory structures and background processes that access a set of database files.” Every instance has a large memory structure known as the System Global Area, abbreviated as SGA. The SGA will be explained in another article.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;But where do the parameter fit in?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Well the parameters are used to set the size and composition of an instance and are the stored in one of the two specific parameter files as stated previously. The parameter file is read during the startup process. So, to access a database one must start an instance, which may call either the PFILE or the SPFILE. If there exist an SPFILE, then the STARTUP command will read that parameter file. If the SPFILE doesn’t exist, the default SPFILE is read. If that doesn’t exist than the PFILE is read. If you don’t wish for the server to read the PFILE, then simply override the default SPFILE with the PFILE.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;STARTUP PFILE = ‘&lt;directory&gt;.init{SID}.ora’&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Now you have a good understanding of architecture of an Oracle database, let us create one.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Creating a Database in Oracle - Procedure &amp;amp; Steps:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;There are two ways that you can create a database in Oracle 10g. One way is to use the Oracle Database Configuration Assistant. Using the Oracle Database Configuration Assistant makes sure that the new database is optimized with Oracle 10g’s latest features. Simply read the instruction and follow the prompts. The other way to create a database is to do it manually. This will now be demonstrated.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Create a suitable directory structure for the new database. Once this is done, copy the init.ora file into a new file named init{SID}.ora into new directory. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Now you have created a parameter file, you’ll need to declare an Oracle SID name. Keep the SID consistent with the parameter filename. The command to do this action will depend on the platform you have the DBMS installed. If you are using Windows, simply type,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;SET ORACLE_SID = {SID}&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Alternatively, on the a unix platform, the DBA must type,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;Export ORACLE_SID = {SID}&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;Sample Database Creation Script:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;&lt;em&gt;CREATE DATABASE &lt;database_name&gt;&lt;database_name&gt;&lt;br /&gt;MAXINSTANCES 8&lt;br /&gt;MAXLOGHISTORY 1&lt;br /&gt;MAXLOGFILES 16&lt;br /&gt;MAXLOGMEMBERS 3&lt;br /&gt;MAXDATAFILES 100&lt;br /&gt;DATAFILE '/data_file_location&lt;directory&gt;/system01.dbf' SIZE 600M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED&lt;br /&gt;EXTENT MANAGEMENT LOCAL&lt;br /&gt;SYSAUX DATAFILE '/data_file_location&lt;directory&gt;/sysaux01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED&lt;br /&gt;SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/temp_file_location&lt;directory&gt;/temp01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED&lt;br /&gt;SMALLFILE UNDO TABLESPACE "UNDOTBS" DATAFILE '/data_file_location&lt;directory&gt;/undotbs01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED&lt;br /&gt;CHARACTER SET UTF8&lt;br /&gt;LOGFILE GROUP 1 ('/redolog_file_location&lt;directory&gt;/redog1m1.log', '/redolog_file_location&lt;directory&gt;/redog1m2.log') SIZE 150M,&lt;br /&gt;GROUP 2 ('/redolog_file_location&lt;directory&gt;/redog2m1.log', '/redolog_file_location&lt;directory&gt;/redog2m2.log') SIZE 150M,&lt;br /&gt;GROUP 3 ('/redolog_file_location&lt;directory&gt;/redog3m1.log', '/redolog_file_location&lt;directory&gt;/redog3m2.log') SIZE 150M;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Now we are about to create the database. When creating a new database, write the code into an sql file so that your have a copy of the database features as well as the ability to fix any mistakes in the create database command.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;For example if you want to create a database by name "CHARMER" then the create database script will look something like this. The datafile, tempfile, logfile directory location will differ as per the mount point structure on the server/machine. Below given is for the one for the unix platform... Here is the code:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;CREATE DATABASE CHARMER&lt;br /&gt;MAXINSTANCES 8&lt;br /&gt;MAXLOGHISTORY 1&lt;br /&gt;MAXLOGFILES 16&lt;br /&gt;MAXLOGMEMBERS 3&lt;br /&gt;MAXDATAFILES 100&lt;br /&gt;DATAFILE '/u02/oradata/data/system01.dbf' SIZE 600M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED&lt;br /&gt;EXTENT MANAGEMENT LOCAL&lt;br /&gt;SYSAUX DATAFILE '/u02/oradata/data/sysaux01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED&lt;br /&gt;SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u02/oradata/temp/data/temp01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED&lt;br /&gt;SMALLFILE UNDO TABLESPACE "UNDOTBS" DATAFILE '/u02/oradata/data/undotbs01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED&lt;br /&gt;CHARACTER SET UTF8&lt;br /&gt;LOGFILE GROUP 1 ('/u03/oradata/log/redog1m1.log', '/u03/oradata/log/redog1m2.log') SIZE 150M,&lt;br /&gt;GROUP 2 ('/u03/oradata/log/redog2m1.log', '/u03/oradata/log/redog2m2.log') SIZE 150M,&lt;br /&gt;GROUP 3 ('/u03/oradata/log/redog3m1.log', '/u03/oradata/log/redog3m2.log') SIZE 150M;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Save the above script something like &lt;span style="font-family:courier new;"&gt;cr8db.sql&lt;/span&gt; &amp;amp; then log in the database from sqlplus while connected to &lt;span style="font-family:courier new;"&gt;'SYS AS SYSDBA'&lt;/span&gt; then start up the database in nomount state.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:Courier New;"&gt;&lt;p&gt;&lt;strong&gt;SQL&gt; STARTUP NOMOUNT&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;So, if we wish to override the default spfile to start the new instance in nomount mode then type,&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SQL&gt; STARTUP NOMOUNT PFILE = ‘\pfile_location&lt;directory&gt;\init{SID}.ora’&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;SQL&gt; @ cr8db.sql&lt;br /&gt;Database created.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Oracle, should respond by saying that the database is created. Once this is done you are ready to load scripts that are needed to support your Oracle products by typing the following commands&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;@$ORACLE_HOME\rdbms\admin&lt;directory&gt;\catalog.sql&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;@$ORACLE_HOME\rdbms\admin&lt;directory&gt;\catproc.sql&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;@$ORACLE_HOME\sqlplus\admin\pubbld.sql&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Okie now the database is configured. Change the SYSTEM and SYS passwords, to ensure better security for your database.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-6951587157086965230?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/6951587157086965230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=6951587157086965230' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6951587157086965230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/6951587157086965230'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/11/creating-database-in-oracle-complete.html' title='Creating a Database in Oracle (Complete Steps &amp; Procedures)'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-9216769869660968688</id><published>2008-10-31T02:52:00.000-07:00</published><updated>2008-11-02T00:51:18.141-07:00</updated><title type='text'>How does one rename a database?  (For Starter DBA's / Juniors)</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;How does one rename a database? (For Starter DBA's / Juniors)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Follow these steps to rename a database: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;1. Start by making a full database backup of your database (in case you need to restore if this procedure is not working). &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;2. Execute this command from sqlplus while connected to &lt;span style="font-family:courier new;"&gt;'SYS AS SYSDBA'&lt;/span&gt;:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;3. Locate the latest dump file in your &lt;span style="font-family:courier new;"&gt;USER_DUMP_DEST&lt;/span&gt; directory (show parameter &lt;span style="font-family:courier new;"&gt;USER_DUMP_DEST&lt;/span&gt;) - rename it to something like &lt;span style="font-family:courier new;"&gt;dbrename.sql&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Edit &lt;span style="font-family:courier new;"&gt;&lt;strong&gt;dbrename.sql&lt;/strong&gt;&lt;/span&gt;, remove all headers and comments, and change the database's name. Also change &lt;span style="font-family:courier new;"&gt;"CREATE CONTROLFILE REUSE ..."&lt;/span&gt; to &lt;span style="font-family:courier new;"&gt;"CREATE CONTROLFILE SET ...".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. Shutdown the database (use &lt;span style="font-family:courier new;"&gt;SHUTDOWN NORMAL&lt;/span&gt; or &lt;span style="font-family:courier new;"&gt;IMMEDIATE&lt;/span&gt;, &lt;strong&gt;don't ABORT&lt;/strong&gt;!) and run &lt;span style="font-family:courier new;"&gt;dbrename.sql&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;6. Rename the database's global name:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ALTER DATABASE RENAME GLOBAL_NAME TO new_db_name;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-9216769869660968688?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/9216769869660968688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=9216769869660968688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/9216769869660968688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/9216769869660968688'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/10/how-does-one-rename-database-for.html' title='How does one rename a database?  (For Starter DBA&apos;s / Juniors)'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-1147165416847421790</id><published>2008-10-31T02:46:00.000-07:00</published><updated>2008-11-02T00:57:50.938-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The purpose of this post to educate Starter DBA&apos;s / Junior DBA&apos;s as to how easy it is to create a database :)'/><title type='text'>How does one create a new database? (For Starter DBA's / Juniors)</title><content type='html'>&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;How does one create a new database? (For Starter DBA's / Juniors)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;&lt;strong&gt;The purpose of this post to educate Starter DBA's / Junior DBA's as to how easy it is to create a database :)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;color:#000000;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;One can create and modify Oracle databases using the Oracle "dbca" (Database Configuration Assistant) utility. The dbca utility is located in the $ORACLE_HOME/bin directory. The Oracle Universal Installer (oui) normally starts it after installing the database server software to create the starter database. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;One can also create databases manually using scripts. This option, however, is falling out of fashion as it is quite involved and error prone. Look at this example for creating and Oracle 9i or higer database:&lt;/span&gt; &lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;CONNECT SYS AS SYSDBA&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u01/oradata/';&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='/u02/oradata/';&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_2='/u03/oradata/';&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;CREATE DATABASE;&lt;/strong&gt;&lt;/span&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-1147165416847421790?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/1147165416847421790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=1147165416847421790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1147165416847421790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/1147165416847421790'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/10/how-does-one-create-new-database-for.html' title='How does one create a new database? (For Starter DBA&apos;s / Juniors)'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-451226293265442641</id><published>2008-10-31T02:43:00.000-07:00</published><updated>2008-11-02T00:56:39.959-07:00</updated><title type='text'>Installing Oracle Database 10g Release 2 on Linux</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Installing Oracle Database 10g Release 2 on Linux&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The procedure &amp;amp; steps for "Installing Oracle Database 10g Release 2 on Linux x86" can be found here on this link:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html" target="_blank"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-451226293265442641?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/451226293265442641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=451226293265442641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/451226293265442641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/451226293265442641'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/10/installing-oracle-database-10g-release.html' title='Installing Oracle Database 10g Release 2 on Linux'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-4039230686852466040</id><published>2008-10-31T02:41:00.000-07:00</published><updated>2008-11-02T00:55:40.606-07:00</updated><title type='text'>Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire</title><content type='html'>&lt;strong&gt;&lt;span style="font-family:verdana;"&gt;Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;One of the most efficient ways to become familiar with Oracle Real Application Clusters (RAC) 10g technology is to have access to an actual Oracle RAC 10g cluster. There's no better way to understand its benefits - including fault tolerance, security, load balancing, and scalability — than to experience them directly. &lt;/span&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;span style="font-size:100%;"&gt;To know more abt this just go thru this link:&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/hunter_rac10gr2.html"&gt;&lt;span style="font-family:verdana;font-size:85%;"&gt;http://www.oracle.com/technology/pub/articles/hunter_rac10gr2.html&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-4039230686852466040?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/4039230686852466040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=4039230686852466040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4039230686852466040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4039230686852466040'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/10/build-your-own-oracle-rac-10g-release-2.html' title='Build Your Own Oracle RAC 10g Release 2 Cluster on Linux and FireWire'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6664820370469214432.post-4064109042977588128</id><published>2008-10-31T02:37:00.000-07:00</published><updated>2008-11-02T00:56:07.103-07:00</updated><title type='text'>Oracle Database 10g: The Top 20 Features for DBAs</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Oracle Database 10g: The Top 20 Features for DBAs&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;The can be found at the below given link:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/10gdba/index.html" target="_blank"&gt;&lt;span style="font-family:arial;"&gt;http://www.oracle.com/technology/pub/articles/10gdba/index.html&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6664820370469214432-4064109042977588128?l=khwajaimran.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://khwajaimran.blogspot.com/feeds/4064109042977588128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6664820370469214432&amp;postID=4064109042977588128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4064109042977588128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6664820370469214432/posts/default/4064109042977588128'/><link rel='alternate' type='text/html' href='http://khwajaimran.blogspot.com/2008/10/oracle-database-10g-top-20-features-for.html' title='Oracle Database 10g: The Top 20 Features for DBAs'/><author><name>Khwaja Imran</name><uri>http://www.blogger.com/profile/18202964344489207616</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_KEjO8My22Aw/SQrRysGMbTI/AAAAAAAABdQ/1hpzsXZO0d4/S220/Imran_Invincible.jpg'/></author><thr:total>0</thr:total></entry></feed>
