<?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-589287873531560506</id><updated>2012-02-15T22:48:25.071-08:00</updated><category term='Test your Oracle Basics'/><category term='Unsolved Questions'/><category term='Triggers'/><category term='Collections'/><category term='Pseudocolumns'/><category term='STATSPACK'/><category term='Oracle Interview Questions'/><category term='Object Types'/><category term='Functions'/><category term='Explain Plan'/><category term='Daily Diary (Random Thoughts)'/><category term='Diagnostic Tools in Oracle'/><title type='text'>Oracle's Coracle</title><subtitle type='html'>This Coracle is meant to sail through all Oracle related technical difficulties we all face sometimes.

My own sacred place to share oracle knowledge with you all.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-4393299579516760420</id><published>2009-05-03T06:00:00.000-07:00</published><updated>2009-05-03T17:39:44.911-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Diagnostic Tools in Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='STATSPACK'/><title type='text'>How to install and use statspack utility</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;STEP 1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;: Create required tablespaces for statspack utility.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Statspack utility requires two tablespaces to run:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; (a) PERFSTAT tablespace&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; (b) TEMP tablespace&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Command to get list of available tablespaces:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; SELECT *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2&gt;   FROM DBA_TABLESPACES&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Other "less preferred" commands to get tablespaces list:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SELECT * FROM DBA_DATA_FILES;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SELECT * FROM DBA_TEMP_FILES;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SELECT * FROM v$datafile;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SELECT * FROM v$tempfile;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Command to create PERFSTAT tablespace (login as &lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;User:SYS&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; to execute):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; CREATE TABLESPACE PERFSTAT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2      DATAFILE 'd:\oracle\oradata\oracle\perf01.dbf' SIZE 100M &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3  /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;or,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; CREATE TABLESPACE PERFSTAT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2      DATAFILE 'd:\oracle\oradata\oracle\perfstat.dbf' SIZE 100M AUTOEXTEND OFF&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3      EXTENT MANAGEMENT LOCAL AUTOALLOCATE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4      LOGGING&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5      ONLINE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6      SEGMENT SPACE MANAGEMENT AUTO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  7  /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;STEP 2:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt; Locate and Execute script spcreate.sql&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt; as &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;user:SYS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Standard Location of script: $ORACLE_HOME/RDBMS/admin/&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;spcreate.sql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Example: &lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;D:\oracle\ora92\rdbms\admin\spcreate.sql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;While being executed, script will ask following questions:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;a) Password for newly created user perfstat&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;b) Tablespace name&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;c) Temporary tablespace name&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;STEP 3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt; Login as &lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;user:perfstat&lt;/span&gt; now and generate diagnosis data by executing "statspack.snap" twice&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Details:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Execute the following command twice with a few minutes of interval in between(lets say at 9 am and then at 9:10 am)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;SQL&gt; exec statspack.snap; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;STEP 4: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Note down SNAP_IDs of the snapshots created above&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;In our case, since we have just generated statspack package, IDs will be 1 and 2.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;You can confirm snapshot IDs using following command:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; SELECT SNAP_ID, SNAP_TIME &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2&gt;  FROM  STATS$SNAPSHOT;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3&gt; /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;STEP 5: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;Generate statspack report by executing "spreport.sql"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;STANDARD location of script to run report : $ORACLE_HOME/RDBMS/admin/&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;spreport.sql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Example: &lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;D:\oracle\ora92\rdbms\admin\spreport.sql&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;While executing, script will ask you to specify &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;a) Name of the new report being created.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;b) Two snapshot IDs to compare &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;STEP 6:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;The report thus created can be opened in any text editor and viewed (In our example, since the two SNAP_IDs were for snapshots taken at 9 am and 9 :15 am, the report will show compare performance data generated at 9 am with that generated at 9:15 am.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;-Param&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;=====================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" ;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Want to know more? Visit:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.akadia.com/services/ora_statspack_survival_guide.html&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://ist.uwaterloo.ca/~baumbach/ORACLEnotes/ST_statspack.html&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.troygeek.com/articles/Statspack101-Installing/&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.coderanch.com/t/79947/Oracle-OAS/why-datafile-TEMP-tablespace-not&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-4393299579516760420?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/4393299579516760420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=4393299579516760420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4393299579516760420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4393299579516760420'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2009/05/how-to-install-and-use-statspack.html' title='How to install and use statspack utility'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-2632507012435504765</id><published>2009-02-12T04:28:00.000-08:00</published><updated>2009-02-12T05:41:10.360-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Daily Diary (Random Thoughts)'/><title type='text'>Daily Diary with Random thoughts!</title><content type='html'>&lt;span style="font-size:85%;"&gt;Everyday I visit so many web pages and come accross so much information pages that I end up thinking of starting my on version of "digg". I am dying to have a method of recording it all forever and save it for rainy days.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;But you know, this lethargic nature of mine will kill me.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;At last I am trying to start from today: writing(documenting) whatever I find everyday and treat this part of blog as my "daily-diary" - a place where I can write whatever I want to and record it for future dig!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;So here's my first attempt.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;1.&lt;/strong&gt; Tried to brush up my knowldege of flashback version queris in Oracle 10G a bit today.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Fav link is again "Arup Nanda's top 20 features for DBAs" &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/pub/articles/10gdba/week1_10gdba.html"&gt;&lt;span style="font-size:85%;"&gt;http://www.oracle.com/technology/pub/articles/10gdba/week1_10gdba.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;u&gt;A summary for quick reference in future:&lt;/u&gt;&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;TOPIC: FLASHBACK VERSIONS QUERY &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;br /&gt;undo_management = AUTO&lt;br /&gt;undo_tablespace = UNDOTBS1&lt;br /&gt;undo_retention = 900&lt;br /&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;select num, name, type, value from v$parameter where upper(name) like '%UNDO%'&lt;br /&gt;&lt;strong&gt;Pseudocolumns used:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;versions_starttime, versions_endtime, versions_xid, versions_operation, versions_startscn, versions_endscn&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;where conditions allowed:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;versions between timestamp minvalue and maxvalue&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;versions between scn minvalue and maxvalue&lt;br /&gt;&lt;strong&gt;Tables available:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;FLASHBACK_TRANSACTION_QUERY&lt;/span&gt;&lt;br /&gt;(Let's see if I get time to try these things practically at home tonight)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;2.&lt;/strong&gt; Also visited arup's own blog on blogspot and read his blog on "effective communication" here:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://arup.blogspot.com/2008/10/about-clear-communications.html"&gt;&lt;span style="font-size:85%;"&gt;http://arup.blogspot.com/2008/10/about-clear-communications.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;3.&lt;/strong&gt; Stumbled upon a great website today:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.oracle-developer.net/"&gt;http://www.oracle-developer.net/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Visited an article related to bulk load(collections) and liked it:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;Topic&lt;/u&gt;: "Introduction to bulk pl/sql enhancements in 9i&lt;/span&gt;"&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="http://www.oracle-developer.net/display.php?id=201"&gt;http://www.oracle-developer.net/display.php?id=201&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(explains with example how to use &lt;strong&gt;cast()&lt;/strong&gt; and &lt;strong&gt;multiset()&lt;/strong&gt; functions)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;4.&lt;/strong&gt; Somebody asked me about &lt;strong&gt;CAMEO&lt;/strong&gt; today and I was like, dumbstruck! She linked "cameo" with "oracle database knowledge", "restructuring of existing computing environment rerquired due to merger of a newly acquired organisation in existing setup" and what not!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Google says: &lt;strong&gt;CAMEO&lt;/strong&gt; means "Consolidated Access Management and Enterprise Optimization"&lt;br /&gt;Will I ever get time to (1) google on such topics (2) and understand a bit of them the same day?&lt;br /&gt;I don't think so.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-2632507012435504765?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/2632507012435504765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=2632507012435504765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/2632507012435504765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/2632507012435504765'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2009/02/daily-diary-with-random-thoughts.html' title='Daily Diary with Random thoughts!'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-3192946135459017377</id><published>2008-11-13T05:14:00.000-08:00</published><updated>2008-11-13T06:53:29.764-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Collections'/><title type='text'>INDEX BY TABLES (Collections)</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;strong&gt;INDEX BY TABLE:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here is a Program which uses all collection functions available to index by tables. Such programs come very handy when you have very less time to revise something without even going through the documention:&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;create or replace procedure proc1&lt;br /&gt;as&lt;br /&gt;type name_type is table of varchar2(20) index by binary_integer;&lt;br /&gt;names name_type;&lt;br /&gt;i number;&lt;br /&gt;begin&lt;br /&gt;&lt;span style="color:#990000;"&gt;-- Index by table values can be used as part of select query&lt;/span&gt;&lt;br /&gt;select ename into names(1) from emp where empno = 7654;&lt;br /&gt;dbms_output.put_line(names(1));&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;-- Index by table values can be populated using direct assignments&lt;/span&gt;&lt;br /&gt;names(2) := 'Param';&lt;br /&gt;names(3) := 'jeet';&lt;br /&gt;names(4) := 'singh';&lt;br /&gt;&lt;br /&gt;dbms_output.put_line('names.count: 'names.count); &lt;span style="color:#990000;"&gt;--function:count&lt;/span&gt;&lt;br /&gt;dbms_output.put_line('names.first:'names.first); &lt;span style="color:#990000;"&gt;--function:first&lt;/span&gt;&lt;br /&gt;dbms_output.put_line('names.last:'names.last); &lt;span style="color:#990000;"&gt;--function:last&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;dbms_output.put_line('Displaying values using for loop...');&lt;br /&gt;for i in names.first..names.last &lt;span style="color:#990000;"&gt;--functions:first,last&lt;/span&gt;&lt;br /&gt;loop&lt;br /&gt;dbms_output.put_line('names('i'): 'names(i));&lt;br /&gt;end loop;&lt;br /&gt;&lt;br /&gt;dbms_output.put_line('Displaying values using while, ascending order..');&lt;br /&gt;i:= names.first;&lt;br /&gt;while i &lt;= names.last &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;loop &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('names('i'): 'names(i));&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;i := names.next(i); &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;&lt;span style="color:#990000;"&gt;--function:next&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;end loop;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.new_line;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('Deleting element #2...');&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;names.delete(2); &lt;span style="color:#990000;"&gt;--function:delete&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;if names.exists(2) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;then&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('Element #2 exists'); &lt;span style="color:#990000;"&gt;--function:exists&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('Element #2 does not exist');&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;end if;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('Displaying values using while loop, descending order...');&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;i := names.last;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;while i &gt;= names.first&lt;br /&gt;loop&lt;br /&gt;dbms_output.put_line('names('i'): 'names(i));&lt;br /&gt;i := names.prior(i); &lt;span style="color:#990000;"&gt;--function:prior&lt;/span&gt;&lt;br /&gt;end loop;&lt;br /&gt;dbms_output.new_line;&lt;br /&gt;exception&lt;br /&gt;when others then&lt;br /&gt;dbms_output.put_line('Exception occurred, sqlcode:'sqlcode', sqlerrm:'sqlerrm);&lt;br /&gt;end proc1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;=====================&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Summary of Collection functions used above:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;count&lt;/strong&gt; : returns count of elements in a collection (here, index by tables).&lt;br /&gt;&lt;strong&gt;exists&lt;/strong&gt;: returns TRUE or FaLSE on the basis of whether the specified element exists in a collection&lt;br /&gt;&lt;strong&gt;first&lt;/strong&gt; : retrurns index of first element in a collection&lt;br /&gt;&lt;strong&gt;last&lt;/strong&gt; : return index of last element in a collection&lt;br /&gt;&lt;strong&gt;prior&lt;/strong&gt; : returns index of previous element in a collection&lt;br /&gt;&lt;strong&gt;next&lt;/strong&gt; : returns index of next element in a collection&lt;br /&gt;&lt;strong&gt;delete&lt;/strong&gt; : deletes specified element in a collection&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Collection functions not available to index-by-tables:&lt;/strong&gt;&lt;br /&gt;&lt;/u&gt;&lt;strong&gt;limit&lt;/strong&gt;: returns maximum number of elementrs for a collcection&lt;br /&gt;&lt;strong&gt;extend &lt;/strong&gt;: adds elements to a collection&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:100%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;NOTE:&lt;/u&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;"Index by table" is the oldest collection type introduced in Oracle 7.&lt;br /&gt;"Index by tables" save values in the form of key-value (index-value) pairs.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;SYNTAX:&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;Type &lt;table_type&gt;is TABLE of &lt;data_type&gt;index by BINARY_INTEGER;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-size:85%;color:#000000;"&gt;&lt;strong&gt;EXAMPLE:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Type name_list_type is TABLE OF varchar2(20) index by BINARY_INEGER;&lt;br /&gt;&lt;index_type&gt;can only be of type binary_integer.&lt;br /&gt;There is virtually no limit of storing values in an index-by-table. The limit is restricted by storage limit of binary_integer type which is -2GB to +2GB (which is treated as virtually unlimited).&lt;br /&gt;Elements in an index by table need not be in order, but they can be mapped to a C++ or java array ( for that element need to be in order)&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000000;"&gt;Limitations:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Index by table cannot be used as a table column type.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-3192946135459017377?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/3192946135459017377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=3192946135459017377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3192946135459017377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3192946135459017377'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/index-by-table-here-is-program-which.html' title='INDEX BY TABLES (Collections)'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-3057530595509845268</id><published>2008-11-11T04:34:00.001-08:00</published><updated>2008-11-11T05:23:19.906-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test your Oracle Basics'/><title type='text'>How good you understand PL/SQL Loops?</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;Let's see how good you know about Pl/SQL loops.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;Here, I'll show you a code and you need to guess the expected output. Simple?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;Be Honest and dont scroll down the question to see answer beforehand!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;=============================&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Q1.&lt;/strong&gt; In the following code, what will be the output of line marked as "(Q)" below.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;declare&lt;br /&gt;begin&lt;br /&gt;for i in 1..5&lt;br /&gt;loop&lt;br /&gt;dbms_output.put_line('i: 'i);&lt;br /&gt;end loop;&lt;br /&gt;dbms_output.put_line('After loop, i: 'i); &lt;strong&gt;-- (Q)&lt;br /&gt;&lt;/strong&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;ANSWER:&lt;/strong&gt; The above code will show an error !&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;dbms_output.put_line('After loop, i: 'i); -- (Q)&lt;br /&gt;*&lt;br /&gt;ERROR at line 8:&lt;br /&gt;ORA-06550: line 8, column 44:&lt;br /&gt;PLS-00201: identifier 'I' must be declared&lt;br /&gt;ORA-06550: line 8, column 3:&lt;br /&gt;PL/SQL: Statement ignored&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;strong&gt;EXPLAINATION:&lt;/strong&gt; There is no variable 'i' defined in the above code block. Variable i used by for-loop here is actually an 'on the fly' variable which is local to the loop. It has no existance outsiode the for loop. Hence the error.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;=============================&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Q2.&lt;/strong&gt; In the following code, what will be the output of line marked as "(Q)" below.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:courier new;"&gt;declare&lt;br /&gt;i number:= 0;&lt;br /&gt;begin&lt;br /&gt;for i in 1..5&lt;br /&gt;loop&lt;br /&gt;dbms_output.put_line('i: 'i);&lt;br /&gt;end loop;&lt;br /&gt;dbms_output.put_line('After loop, i: 'i); -- (Q)&lt;br /&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ANSWER:&lt;/strong&gt; Output is "After loop, i: 0"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;EXPLAINATION:&lt;/strong&gt; As explained above i used by for loop is an "on the fly" variable whih loses its existance once the loop ends. The line marked as '(Q)' is printing value of another variable 'i' which is declared in the &lt;span style="color:#000000;"&gt;declare section.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;=============================&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Q3.&lt;/strong&gt; In the following code, what will be the output of line marked as "(Q)" below.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;declare&lt;br /&gt;begin&lt;br /&gt;for i in 1..5&lt;br /&gt;loop&lt;br /&gt;dbms_output.put_line('i: 'i);&lt;br /&gt;i := i + 1;&lt;br /&gt;end loop;&lt;br /&gt;end; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;strong&gt;ANSWER:&lt;/strong&gt; The above code will show an error !&lt;br /&gt;&lt;span style="color:#000099;"&gt;i := i + 1;&lt;br /&gt;*&lt;br /&gt;ERROR at line 7:&lt;br /&gt;ORA-06550: line 7, column 5:&lt;br /&gt;PLS-00363: expression 'I' cannot be used as an assignment target&lt;br /&gt;ORA-06550: line 7, column 5:&lt;br /&gt;PL/SQL: Statement ignored&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;strong&gt;EXPLAINATION:&lt;/strong&gt; Variable 'i' is a loop variable here and hence its value cannot be modifed by us.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;============================= &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;strong&gt;Q4.&lt;/strong&gt; In the following code, what will be the output of lines marked as "(Q1)" and "Q2" below. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;declare&lt;br /&gt;  i number:= 0;&lt;br /&gt;  n_start number := 1;&lt;br /&gt;  n_stop number := 5;&lt;br /&gt;begin&lt;br /&gt;  for i in n_start..n_stop&lt;br /&gt;  loop&lt;br /&gt;    n_stop := 3;&lt;br /&gt;    dbms_output.put_line('i: 'i);  -- (Q1)&lt;br /&gt;  end loop;&lt;br /&gt;  dbms_output.put_line('n_stop: 'n_stop); -- (Q2)&lt;br /&gt;end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;ANSWER:&lt;/strong&gt; Line marked as (Q1) will print all values from 1 to 5. Line marked with (Q2) will print "3".&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;EXPLAINATION:&lt;/strong&gt;  Loop is supposed to run from "p_start" value to "p_stop" value. So apparantly, if p_stop value changes from 5 to 3, loop should print values from 1 to 3 only. But in reality this doesnot happen. Once the loop starts running, run-range is freezed! So no matter you change n_stop while the loop is running, this willnot affect the loop range.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-3057530595509845268?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/3057530595509845268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=3057530595509845268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3057530595509845268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3057530595509845268'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/how-good-you-understand-plsql-loops.html' title='How good you understand PL/SQL Loops?'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-5169258950312321707</id><published>2008-11-10T13:49:00.000-08:00</published><updated>2008-11-10T15:09:00.471-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Object Types'/><title type='text'>Object Types in Oracle</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;A step by step guide  to "Usage of objects in Oracle"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;========================================&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  font-weight: bold; font-family:arial;font-size:13px;"&gt;This article answers the following questions:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;1. When was ORDBMS introduced?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;2. How do we create objects in Oracle?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;3. How to use Objects as oracle table column type?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;4. How and where to use object constructors?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;5. How to query from a table containing object types?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;========================================&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;A little background first...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;With Oracle 8i, oracle introduces the concept of object relational DBMS  or ORDBMS.  Starting 8i, Oracle allows you to incorporate object oriented concepts in a DBMS too. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Terms like object, constructor, attribute  etc  are now part of a oracle's vocabulary  too.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:13px;"&gt;Let us  practically learn how to create objects in Oracle and how to use them as part of an oracle table.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:13px;"&gt;We start with the basic "create table" command here. Execute the following:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; create table OLD_EMP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3   id &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;number(2),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4   f_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5   m_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6   l_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  7   add_line1 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  8   add_line2 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  9   city &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; 10   state &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; 11   pincode &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(10),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; 12   homephone &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; 13   cellphone &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;varchar2(20)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt; 14  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;Table created.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Now that we have created table &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;OLD_EMP&lt;/span&gt;, let us put a row in it:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;SQL&gt; insert into old_emp &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  2  values ( 19, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  3  'Paramjeet', 'Singh', 'Sasan', &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  4  '1001, CASTLE', 'BAVDHAN', 'PUNE', 'MAHARASHTRA', '411021',&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  5  '020-112233', '+91 985 XX5 XXX5'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;  6  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 153);  font-size:13px;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;1 row created&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:'courier new';font-size:13px;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So this is the basic method of creating a table in Oracle. Correct. But I want you to revisit the table definition &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;create table OLD_EMP&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; id number(2),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; f_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; m_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; l_name &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 51, 204);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; add_line1 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; add_line2 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; city &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; state &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; pincode &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 102, 0);"&gt;varchar2(10),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt; homephone &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt;varchar(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt; cellphone &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt; &lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt;varchar2(20)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;As you can see above (shown in different colors), we can easily divide the above data in such a way that related data can be kept together separately as independent objects). Correct?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Ok so lets' do that. We will now create three separet object types to save the the above data in three groups. Use following commands to create required objects:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; create or replace type full_name_type as OBJECT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3   f_name  varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4   m_name  varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5   l_name  varchar2(20)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  7  /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-weight: bold; font-family:arial;font-size:13px;"&gt;Type created.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; create or replace type address_type as OBJECT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3   add_line1  varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4   add_line2  varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5   city   varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6   state   varchar2(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  7   pincode  varchar2(10)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  8  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  9  /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Type created&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; create or replace type contact_type as OBJECT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3   homephone  varchar(20),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4   cellphone  varchar2(20)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6  /&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-weight: bold; font-family:arial;font-size:13px;"&gt;Type created.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Now that we've created all three objects required, we can create an object relational table &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;"NEW_EMP&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;"&lt;/span&gt; as shown below:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; create table new_emp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3   id number(2),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4   name   full_name_type,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5   address address_type,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6   contact_no contact_type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  7  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-weight: bold; font-family:arial;font-size:13px;"&gt;Table created.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Looks so simple and clear now. Isn't it?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Q. But how do we insert values in this new table now?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:13px;"&gt;Old style of inserting values will not work for such a table because it has only four &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;publicly visible&lt;/span&gt;&lt;/span&gt; columns now.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So now we need to insert values using &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;constructors&lt;/span&gt;&lt;/span&gt;. Execute the following command:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;SQL&gt; insert into new_emp &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  2  values ( 19, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  3  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;full_name_type&lt;/span&gt;('Paramjeet', 'Singh', 'Sasan'),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  4  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;address_type&lt;/span&gt;('1001, CASTLE', 'BAVDHAN', 'PUNE', 'MAHARASHTRA', '411021'),&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  5  &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;contact_type&lt;/span&gt;('020-112233', '+91 985 XX5 XXX5')&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;  6  );&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;1 row created.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Notice the way constuctors are used (shown in &lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;bold&lt;/span&gt;&lt;/span&gt;) here to insert values in the objects which are based on new objects types (or, datatypes) introduced in table:NEW_EMP.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Now, let us try selecting from both the tables to see how differntly data is inserted and selected.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; select * from old_emp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;        ID F_NAME               M_NAME               L_NAME&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;---------- -------------------- -------------------- --------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;ADD_LINE1            ADD_LINE2            CITY&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;-------------------- -------------------- --------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;STATE                PINCODE    HOMEPHONE            CELLPHONE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;-------------------- ---------- -------------------- --------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;        19 Paramjeet            Singh                Sasan&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;1001, CASTLE         BAVDHAN              PUNE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;MAHARASHTRA          411021     020-112233           +91 985 XX5 XXX5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; select * from new_emp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;        ID&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;----------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;NAME(F_NAME, M_NAME, L_NAME)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;ADDRESS(ADD_LINE1, ADD_LINE2, CITY, STATE, PINCODE)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;CONTACT_NO(HOMEPHONE, CELLPHONE)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;--------------------------------------------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;        19&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;FULL_NAME_TYPE('Paramjeet', 'Singh', 'Sasan')&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;ADDRESS_TYPE('1001, CASTLE', 'BAVDHAN', 'PUNE', 'MAHARASHTRA', '411021')&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;CONTACT_TYPE('020-112233', '+91 985 XX5 XXX5')&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;As we can see, in case of table:NEW_EMP, the whole address of employee "paramjeet" is treated as a single object in table NEW_EMP;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Q. What if we want to select on the basis of an object's attribute (like, on the basis of name.f_name or address.city)?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The above task can easily be performed on OLD_EMP using a simple "select.. where"  query.  Let's see...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; select f_name from old_emp where l_name = 'Sasan';&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;F_NAME&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;--------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Paramjeet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Q. But will the same query work for NEW_EMP too&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;?&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Let's see that too...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; select f_name from new_emp where l_name = 'Sasan';&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;select f_name from new_emp where l_name = 'Sasan'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;                                 &lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;*&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;ERROR at line 1:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;ORA-00904: "L_NAME": invalid identifier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OOPs, the query is not working the age old way. Do you know why ? Because,  l_name is an attribute of object name, it is hidden and not visible to outside  World.  So we should use  "object_name.attribute_name" style to access that, the way we do in Object oriented languages like C++ and java.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:13px;"&gt;Try This:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;SQL&gt; select name.f_name from new_emp where name.l_name = 'Sasan';&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;select name.f_name from new_emp where name.l_name = 'Sasan&lt;/span&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;                                      *&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;ERROR at line 1:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 0, 0);"&gt;ORA-00904: "NAME"."L_NAME": invalid identifier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;OOPS, this is not working either! Why ? Now an oracle restriction comes in: In such cases we have to use table alias name to access object's attribute value.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:arial;font-size:13px;"&gt;So the style to try now is "table_alias.object_name.attribute_name". &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;SQL&gt; select e.name.f_name from new_emp e where e.name.l_name = 'Sasan';&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 153);   font-family:arial;font-size:13px;"&gt;NAME.F_NAME&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;--------------------&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 153);"&gt;Paramjeet&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;:)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;=======================================================&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;Interested in learning more about Object type in oracle? Visit the following link:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;&lt;span style="font-family:&amp;quot;Times New Roman&amp;quot;; mso-fareast-Times New Roman&amp;quot;;mso-ansi-language:EN-US;mso-fareast-language: EN-US;mso-bidi-language:AR-SAfont-family:&amp;quot;;font-size:12.0pt;"&gt;&lt;a href="http://www.stanford.edu/dept/itss/docs/oracle/10g/appdev.101/b10807/10_objs.htm"&gt;http://www.stanford.edu/dept/itss/docs/oracle/10g/appdev.101/b10807/10_objs.htm&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Times New Roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;Cheers!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:arial;font-size:13px;"&gt;-Param&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-5169258950312321707?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/5169258950312321707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=5169258950312321707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/5169258950312321707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/5169258950312321707'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/object-types-in-oracle.html' title='Object Types in Oracle'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-3776509278270462102</id><published>2008-11-10T03:20:00.000-08:00</published><updated>2008-11-10T03:39:07.061-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Functions'/><category scheme='http://www.blogger.com/atom/ns#' term='Unsolved Questions'/><title type='text'>Difference of one second between sysdate and current_date results</title><content type='html'>&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;The following issue has been troubling me since yestarday morning.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&lt;u&gt;Issue:&lt;/u&gt;&lt;/strong&gt; I expect sydate result to match exactly with current_date result, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;but 50% of the times I get a difference of one second between the two results and I am not able to figure out why.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;u&gt;Following are the time zone settings I have:&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; select dbtimezone, sessiontimezone from dual;&lt;br /&gt;DBTIME SESSIONTIMEZONE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;------ ---------------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;+00:00 +05:30&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;My Database server machine is set to Indian time zone +5:30&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;Though sysdate is not timzone aware but current_date is, I dont think this should stop the two functions from displaying me the same date and time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;When I try to fire the same following command a multiple times quickly (so as to fire it 2-3 times within a second), bot the commands donot print the same time always:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; select to_char(sysdate, 'dd-mon-yyyy hh:mi:ss'), to_char(current_date, 'dd-mon-yyyy hh:mi:ss') from dual;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; /&lt;br /&gt;TO_CHAR(SYSDATE,'DD- TO_CHAR(CURRENT_DATE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;-------------------- --------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#006600;"&gt;45&lt;/span&gt;&lt;/strong&gt; 10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#006600;"&gt;45&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; /&lt;br /&gt;TO_CHAR(SYSDATE,'DD- TO_CHAR(CURRENT_DATE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;-------------------- --------------------&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#990000;"&gt;45&lt;/span&gt;&lt;/strong&gt; 10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#990000;"&gt;46&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#990000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#000099;"&gt;SQL&gt; /&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#000099;"&gt;TO_CHAR(SYSDATE,'DD- TO_CHAR(CURRENT_DATE&lt;br /&gt;-------------------- --------------------&lt;br /&gt;10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#006600;"&gt;46&lt;/span&gt;&lt;/strong&gt; 10-nov-2008 03:45:&lt;strong&gt;&lt;span style="color:#006600;"&gt;46&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&lt;u&gt;NOTE:&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;color:#000000;"&gt;(1) Just to reaffirm my query I have tried my query on three different database servers, but everywhere I am faced the same issue.&lt;br /&gt;(2) Timestamp commands do not have any issues, They give me accuracy in seconds correct to 6 decimal places, which is expected.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; select systimestamp, current_timestamp from dual;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;SYSTIMESTAMP CURRENT_TIMESTAMP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;----------------------------------- -----------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;10-NOV-08 03.49.&lt;span style="color:#006600;"&gt;&lt;strong&gt;55.358227&lt;/strong&gt;&lt;/span&gt; PM +05:30 10-NOV-08 03.49.&lt;strong&gt;&lt;span style="color:#006600;"&gt;55.358257&lt;/span&gt;&lt;/strong&gt; PM +05:30&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;Searched google for possible answer but to no avail. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;Now thinking of asking Tom.....&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/589287873531560506-3776509278270462102?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/3776509278270462102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=3776509278270462102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3776509278270462102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/3776509278270462102'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/difference-of-one-second-between.html' title='Difference of one second between sysdate and current_date results'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-2701467145663533951</id><published>2008-11-05T06:42:00.000-08:00</published><updated>2009-01-15T00:18:34.614-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Triggers'/><title type='text'>Are triggers trustworthy?</title><content type='html'>&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;Why do DBAs suggest avoiding trigger usage in production Databases?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Somebody asked me this question recently and forced me to reconsider my regular "short" answer I always give. Below is the list of advantages and disadvantages of using triggers.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Advantages: &lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;1.&lt;/span&gt;&lt;/strong&gt;&lt;span style="color:#000000;"&gt; Triggers can be used to apply complex table constraints automatically, which we cannot apply using check constraints.&lt;br /&gt;For example, check constraints cannot refer to other tables, but triggers can do that.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Triggers are event based so unlike procedures and functions they can be more productive in many cases where you want to automate a validation/verification process.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Database Triggers are executed whenver table data gets modified and they can evaluate both "before" and "after" state of data undergoing modification, and take decision effectively.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.&lt;/strong&gt; "Instead of" triggers are used to make complex (readonly) views MODIFIEABLE. We have to make architectural changes if we dont want to use "instead of" triggers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5.&lt;/strong&gt; Triggers can be used to implement cascading modificaton effect, a more complex form which may not be possible using cascade constraints (like "on cascade delete" etc). For example, If table A undergoes a specific data change, a few tables need to be automatically updated based on listed where conditions. Oracle procides "Cascade constraint" can only take care of tables linked with foreign key constraints.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Disadvantages:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;1.&lt;/strong&gt; Triggers are fired whenever Data undergoes modification. This can slow down the data modification speed if trigger is fired for every row data change again n again.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; In cases where mass insertions are going on and the table has an "on insert" trigger, insertions will be pathetically slow.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Though Oracle provides us the facility of disabling triggers temporarily to counter act above two problems, this can result in too much of tracking (user has to keep track of what triggers are currently enabled/disabled) and possible human errors.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.&lt;/strong&gt; Since Oracle allows multiple triggers on the same table and on the same invocation level too, this can create confusion while understanding the code. For example, it is very difficult to understand the process flow if the table has multiple triggers written on it for various conditions. In such a case developer has to always keep a complex diagram depicting prcess flow with numberless arrows drawn here n there.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5.&lt;/strong&gt; Sometimes multiple triggers create an infinite, uncontrolled cascading effect.&lt;br /&gt;&lt;u&gt;For example:&lt;/u&gt; When Table-A is updated Trigger-A is fired. Body of Trigger-A contains a statement to update Table-B. Table-B also has a simialr trigger-B containing code to modify&lt;br /&gt;table-C. Now, similar is the case with Table-C too, it also has Trigger-C.&lt;br /&gt;Such a case will result in cascaded call of multiple triggers which is difficult to understand and handle. The condition becomes worse when you find Trigger-C actulally containing code to modify Table-A leading to an &lt;u&gt;&lt;span style="color:#cc0000;"&gt;INFINITE LOOP&lt;/span&gt;&lt;/u&gt;!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;6. &lt;/strong&gt;Oracle cannot guarantee order of invocation of two triggers defined on the same level with different functionalities.&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;u&gt;For example:&lt;/u&gt;&lt;br /&gt;Trigger A says: If join_date is &gt; sysdate, donot allow this.&lt;br /&gt;Trigger B says: If Join date is NULL, replace it with sysdate +1 &lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;"&gt;&lt;div align="justify"&gt;&lt;br /&gt;Now if both the triggers are on the same level of invocation (like, both are defined as "before insert on same table"), Oracle cannot guarantee which of the two will be fired first. This leads to inconsistent results everytime!&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;The following statement proves this: &lt;/div&gt;&lt;div align="justify"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;"&gt;&lt;div align="justify"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;color:#3333ff;"&gt;SQL&gt; insert into EMP(empno, ename) values (1,'PARAMJEET SINGH');&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;u&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;u&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;u&gt;&lt;strong&gt;Case 1:&lt;/strong&gt; If trigger A fires before trigger B&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Result:&lt;/u&gt;&lt;/strong&gt; Trigger A says nothing as join_date is NULL. But now trigger B fires and puts join_date as sysdate+1 in this new row&lt;br /&gt;successfully!&lt;br /&gt;&lt;u&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;strong&gt;Case 2:&lt;/strong&gt; If trigger B fires before trigger A&lt;/u&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Result:&lt;/u&gt;&lt;/strong&gt; Trigger B puts join_date as sysdate+1 in this new row successfully. But then Trigger A fires and throws error making the previous insertion UNSUCCESSFUL!&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;/div&gt;&lt;/span&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;strong&gt;&lt;u&gt;UPDATES:&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;Jan 15, 2009:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;Find a related article today and thought of sharing with you all:&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;"The Trouble with Triggers" by Tom Kyte&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;link: &lt;a href="http://www.oracle.com/technology/oramag/oracle/08-sep/o58asktom.html"&gt;http://www.oracle.com/technology/oramag/oracle/08-sep/o58asktom.html&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;============END OF THE DOCUMENT================= &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-2701467145663533951?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/2701467145663533951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=2701467145663533951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/2701467145663533951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/2701467145663533951'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/are-triggers-trustworthy.html' title='Are triggers trustworthy?'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-1382135712968366344</id><published>2008-11-04T15:52:00.000-08:00</published><updated>2008-11-04T15:58:23.867-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Interview Questions'/><title type='text'>Oracle Interview Questions (Part 2)</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:85%;color:#000000;"&gt;More Questions.....&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;25.&lt;/strong&gt; Whats are the datatypes available in Oracle to store currency? Which datatype should I use to store currency with 6 decimal places of accuracy? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;26.&lt;/strong&gt; Why do we use views? List some real life problems where views can provide solutions. What are the advantages and disadvantages of views.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;27.&lt;/strong&gt; My organisation has offices accross the globe. What date type should I use to manage all timezones?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;28.&lt;/strong&gt; How many types of indexes are present in Oracle? What are clustered indexes?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;29.&lt;/strong&gt; What is XParse? How do we use XML in Oracle?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;30.&lt;/strong&gt; What are triggers? Why should/shouldnt we use triggers in a production database (i.e. list disadvantages of using triggerts)?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;31.&lt;/strong&gt; Differentiate between stored functions and stored procedures? What datatype(s) are not allowed to be passed as parameters in an Oracle function/procedure?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;32.&lt;/strong&gt; How to change table rows into columns and columns into rows using oracle commands? &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-1382135712968366344?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/1382135712968366344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=1382135712968366344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/1382135712968366344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/1382135712968366344'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/oracle-interview-questions-part-2.html' title='Oracle Interview Questions (Part 2)'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-5757170530582560895</id><published>2008-11-04T03:01:00.000-08:00</published><updated>2008-11-04T15:51:16.523-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Explain Plan'/><title type='text'>Explain Plan (Part 1)</title><content type='html'>&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;strong&gt;Hi Friends,&lt;/strong&gt;&lt;br /&gt;Here comes my attempt to gather all important information at one place for future reference. I'll try to keep it as simple as possible. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;br /&gt;&lt;strong&gt;Q. What is "Explain plan"?&lt;/strong&gt;&lt;br /&gt;Every SQL statement has to go through three phases: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;(1) Parsing of SQL statement &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;(2) Creation of execution plan &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;(3) Actual execution of SQL statement&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;span style="color:#000000;"&gt;Explain Plan" helps us understand the second phase. It is a tool to view execution plan for a SQL. It is not a universal RDBMS command. It is an Oracle specific command.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;strong&gt;Q. How to execute "explain Plan" command?&lt;br /&gt;&lt;/strong&gt;The syntax is fairly simple! You just need to type in "explain plan for" followed by the SQL statement you want to see execution plan for.&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;color:#000000;"&gt;&lt;u&gt;Typical Syntax:&lt;/u&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;SQL&gt; Explain plan for &lt;sql&gt;&lt;br /&gt;&lt;/span&gt;&lt;u&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;u&gt;&lt;span style="font-size:85%;"&gt;Try this command:&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; explain plan for select * from EMP;&lt;br /&gt;Explained&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;The above command simply generates the execution plan and save it in a table called "plan_table" by default. If successful, it prints a message "Explained" (and not the actual execution plan!).&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Q. How to view execution plan:&lt;br /&gt;&lt;/strong&gt;After creating execution plan, &lt;u&gt;try the following command&lt;/u&gt; to view it:&lt;br /&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; select * from table(dbms_xplan.display);&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;Here,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;-&gt;&lt;/strong&gt; table() is an oracle provided function&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;-&gt; &lt;/strong&gt;dbms_xplan.display() is a packaged function used to view the execution plan generated. As seen above, we have not passed any parameters into this function here, so it will show us the latest plan generated. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_qYU3rVtF8-A/SRDd3s6TsQI/AAAAAAAAAAw/tGg6g0q42Fc/s1600-h/pic1.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5264951913414373634" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 150px" alt="" src="http://4.bp.blogspot.com/_qYU3rVtF8-A/SRDd3s6TsQI/AAAAAAAAAAw/tGg6g0q42Fc/s320/pic1.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_qYU3rVtF8-A/SRDdBzHrULI/AAAAAAAAAAo/d35RVhVCdSw/s1600-h/pic1.JPG"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;COMMON ERRORS WE FACE SOMETIMES:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Error# (A):&lt;/span&gt;&lt;/strong&gt; plan_table does not exist (ORA-02402: PLAN_TABLE not found)&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Solution:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Create plan_table using oracle provided script "utlxplan.sql". You can find it here in Windows: &lt;oracle_home&gt;\rdbms\admin\utlxplan.sql (windows specific)&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;u&gt;Example:&lt;br /&gt;&lt;/u&gt;&lt;span style="font-family:courier new;color:#000099;"&gt;SQL&gt; @D:\oracle\ora92\rdbms\admin\utlxplan.sql&lt;br /&gt;Table created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;If you are not able to locate it, execute below script (which is Oracle9i Release 9.2.0.1.0 specific):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:courier new;"&gt;create table PLAN_TABLE (&lt;br /&gt;statement_id varchar2(30),&lt;br /&gt;timestamp date,&lt;br /&gt;remarks varchar2(80),&lt;br /&gt;operation varchar2(30),&lt;br /&gt;options varchar2(255),&lt;br /&gt;object_node varchar2(128),&lt;br /&gt;object_owner varchar2(30),&lt;br /&gt;object_name varchar2(30),&lt;br /&gt;object_instance numeric,&lt;br /&gt;object_type varchar2(30),&lt;br /&gt;optimizer varchar2(255),&lt;br /&gt;search_columns number,&lt;br /&gt;id numeric,&lt;br /&gt;parent_id numeric,&lt;br /&gt;position numeric,&lt;br /&gt;cost numeric,&lt;br /&gt;cardinality numeric,&lt;br /&gt;bytes numeric,&lt;br /&gt;other_tag varchar2(255),&lt;br /&gt;partition_start varchar2(255),&lt;br /&gt;partition_stop varchar2(255),&lt;br /&gt;partition_id numeric,&lt;br /&gt;other long,&lt;br /&gt;distribution varchar2(30),&lt;br /&gt;cpu_cost numeric,&lt;br /&gt;io_cost numeric,&lt;br /&gt;temp_space numeric,&lt;br /&gt;access_predicates varchar2(4000),&lt;br /&gt;filter_predicates varchar2(4000));&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Error # (B):&lt;/span&gt;&lt;/strong&gt; Old version of plan_table exists (In this case, plan of course gets created with no errors, but shows a warning msg when you try to view it using dbms_xplan.display)&lt;br /&gt;&lt;span style="color:#006600;"&gt;&lt;strong&gt;Solution: &lt;/strong&gt;&lt;/span&gt;Drop old version plan_table and recreate it as shown above.&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Error # (C):&lt;/span&gt;&lt;/strong&gt; Error: cannot fetch last explain plan&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt;Solution:&lt;/span&gt;&lt;/strong&gt; This happens when you try to view execution plan without even creating it. An important point to note here is that plan_table gets emptied as soon as the user session ends. So if you generate an execution plan and then your session somehow ends, you simply lose the plan generated.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;strong&gt;More to come on this topic.....&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#000099;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-5757170530582560895?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/5757170530582560895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=5757170530582560895' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/5757170530582560895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/5757170530582560895'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/11/explain-plan-part-1.html' title='Explain Plan (Part 1)'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_qYU3rVtF8-A/SRDd3s6TsQI/AAAAAAAAAAw/tGg6g0q42Fc/s72-c/pic1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-8199566657643796895</id><published>2008-10-23T23:30:00.000-07:00</published><updated>2008-11-04T15:59:56.806-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Interview Questions'/><title type='text'>Oracle Interview Questions (Part 1)</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;1.&lt;/strong&gt; Explain Oracle architecture.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;strong&gt;2.&lt;/strong&gt; Explain the dIfference between "where...in()" clause and "where exists()" clause. Which one is faster and why? If the column used in "where...in()" clause has an index on it, Which one of the two will be faster?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;3.&lt;/strong&gt; Explain "bulk collect"? Suppose we have a table emp with over 1 million rows and we want to update all records by&lt;br /&gt;increasing salaries by 2%. Can we use bulk collect in such a case ? What issues can we face? Will I face any memory issues? If Yes, how to deal with them?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;4.&lt;/strong&gt; Explain "Pragma autonomous transaction". Suppose there are three update queries inside a block with "pragma autonomous transaction" declaration and 1st query fails while execution, what will happen?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;5.&lt;/strong&gt; Differentiate between "direct path load" and "conventional path load" (context: SQL Loader)? Which of the two is set by default? What happens when SQL_Loader execution fails in between? Does it result in partial load of data into table?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;6.&lt;/strong&gt; What is default commit setting during SQL Loader execution: Autocommit ON or OFF?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;7.&lt;/strong&gt; Whenever we execute a DML query, it creates redo logs. Can we disable this logging somehow? What are the implications of disabling this logging?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;8.&lt;/strong&gt; What is flashback query ? How do we use it?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;9.&lt;/strong&gt; What is recycle bin in Oracle? How do we use it? How is it related with DDL commands? Can I get my deleted tables back using recycle bin even after firing a few DML and DDL commands after deletion (of tables)?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;10.&lt;/strong&gt; Can I get history of recently executed DML and DDL commands using recycle bin ? Or, undo some of these commands ?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;11.&lt;/strong&gt; Explain "append clause"(context: SQL Loader). Is it faster than using "insert" clause? If yes, Why? If "append" clause is faster, why dont we use this clause always?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;12.&lt;/strong&gt; While using cost based optimizer, if I change the order of tables specifed in a join query, does the execution plan&lt;br /&gt;change? Does a join query always use nested loop join (as shown by explain plan command) ?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;13.&lt;/strong&gt; Explain bitmap indexes? How does it work? Does it also use rowids to search rows like binary indexes do?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;14.&lt;/strong&gt; List drawkacks of using triggers and indexes (if any)? Explain performance implications behind using these?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;15.&lt;/strong&gt; What is the difference between "before" and "after" triggers? Is there something which can be done only by one of them and not by the other? Anyone of these two can be used for validation of data or rollbacking a transaction.Then, why do we need two types in Oracle ? (For examples, all sybase triggers are only "after" triggers)&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;16.&lt;/strong&gt; Explain meaning of transaction?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;17.&lt;/strong&gt; Users A and B are trying to update same rows of a table at the same time. How does oracle deal with such a situation? Can both updates be made successful?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;18.&lt;/strong&gt; User:A is updating 10 million rows in a table which is taking a lot of time. User:B is also trying to update some 10 rows in the same table. Both the updates have 5 rows in common. Now, there can be a case where user B's task has to wait for User A's task to complete which will obviously create unneccessary wait time for User B. Can we avoid this somehow? Can "nowait" option help in such a case?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;19.&lt;/strong&gt; What are the implications of using functions in a query? How does function usage affect query performance?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;20.&lt;/strong&gt; What are function based indexes? What is the difference between user defined functions and oracle provided functions (mainly, performance related)?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;21.&lt;/strong&gt; "Explain plan" command normally shows query execution plan in the form of nested loops with indented lines. What is the order of reading and understanding the plan shown? Is it "from middle to top" (i.e. from the innermost nested loop to the top of the loop upwards)? Or, is it "from bottom of the shown plan to the top"? Do we use the same method always ?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;22.&lt;/strong&gt; How do we evaluate query-cost using "explain plan"? What do you mean by "CPU cost" and "query cost" in general?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;23.&lt;/strong&gt; Does "commit" command ensures changes are written in Datafiles? What is the relation between commit, SCN and checkpoints?How often does checkpoint happen? Can we force a checkpoint?&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;24.&lt;/strong&gt; How to do exception handling while using bulk collect? What happens when while saving 10000 rows you encounter an issue at the 500th row?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;===============================================&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-8199566657643796895?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/8199566657643796895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=8199566657643796895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/8199566657643796895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/8199566657643796895'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/10/oracle-interview-questions-part.html' title='Oracle Interview Questions (Part 1)'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-4875291535243152531</id><published>2008-10-21T14:02:00.000-07:00</published><updated>2008-10-21T14:55:05.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pseudocolumns'/><title type='text'>How to derive rownum from rowid ...</title><content type='html'>&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Here is how to derive a rownum value from a rowid value..... &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;Function&lt;/strong&gt;:rowid_row_number() of &lt;strong&gt;package&lt;/strong&gt;:dbms_rowid can help us do that:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;Execute the following query to see that:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000000;"&gt;SQL&gt;&lt;/span&gt; &lt;span style="color:#000099;"&gt;select rowid, &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;dbms_rowid.rowid_row_number(rowid)&lt;/strong&gt;&lt;/span&gt;, &lt;span style="color:#009900;"&gt;&lt;strong&gt;rownum&lt;/strong&gt;&lt;/span&gt; from EMP;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;ROWID&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;DBMS_ROWID.ROWID_ROW_NUMBER(RO&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:#009900;"&gt;&lt;strong&gt;ROWNUM&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;AAAHW7AABAAAMUiAAA &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;0&lt;/span&gt; &lt;span style="color:#009900;"&gt;1&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#006600;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;AAAHW7AABAAAMUiAAB &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;1&lt;/span&gt; &lt;span style="color:#009900;"&gt;2&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;AAAHW7AABAAAMUiAAC &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;2&lt;/span&gt; &lt;span style="color:#009900;"&gt;3&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;AAAHW7AABAAAMUiAAD &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;3&lt;/span&gt; &lt;span style="color:#009900;"&gt;4&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;AAAHW7AABAAAMUiAAE &lt;strong&gt;&lt;span style="color:#ff0000;"&gt;4&lt;/span&gt; &lt;span style="color:#009900;"&gt;5&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="color:#000000;"&gt;Hence,&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;dbms_rowid.rowid_row_number(rowid) +1&lt;/strong&gt; &lt;strong&gt;&lt;span style="color:#000099;"&gt;=&lt;/span&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#009900;"&gt;&lt;strong&gt;rownum&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/589287873531560506-4875291535243152531?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/4875291535243152531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=4875291535243152531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4875291535243152531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4875291535243152531'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/10/how-to-derive-rownum-from-rowid.html' title='How to derive rownum from rowid ...'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-589287873531560506.post-4331263599472770680</id><published>2008-10-12T13:48:00.000-07:00</published><updated>2008-10-21T14:55:05.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pseudocolumns'/><title type='text'>ROWID, UROWID and ROWNUM in Oracle</title><content type='html'>&lt;span style="color:#000000;"&gt;&lt;span style="color:#990000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;A simple explaination of ROWID, UROWID and ROWNUM (Oracle)...&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#990000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#990000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;ROWID:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Rowid is a pseudocolumn provide by Oracle. Oracle generates and assigns&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;color:#000000;"&gt; a unique binary number (a rowid) &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;color:#000000;"&gt;with &lt;/span&gt;&lt;span style="font-size:85%;color:#000000;"&gt;every row inserted. Rowid is not an actual column but it behaves like one. It can be printed using a simple query like:&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:0;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;SQL&gt;&lt;/strong&gt; select rowid, empno, ename, job from emp;&lt;br /&gt;ROWID EMPNO ENAME JOB&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;------------------ ----- ---------- ---------&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAA 7369 SMITH CLERK&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAB 7499 ALLEN SALESMAN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAC 7521 WARD SALESMAN&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAD 7566 JONES MANAGER&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAE 7654 MARTIN SALESMAN&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;AAAHW7AABAAAMUiAAF 7698 BLAKE MANAGER&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:85%;color:#990000;"&gt;Benefits of using ROWIDs&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Searching records using rowid is the fastest way to access rows. This means, it's even faster than using primary&lt;br /&gt;key (Internally, primary key also uses rowid to search a record). &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;strong&gt;Restricted Vs Extended ROWIDs&lt;/strong&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Before Oracle version 8, Rowid had "restricted" format. We now call it "restricted" because it was not able to address many rows on disk. Oracle Version 8 improved the way rowids were generated-n-saved and this format is known as "extended format". Now rowids can address virtually limitless rows on disk.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;UROWID&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;U" stands for Universal here. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;ROWIDs can only save physical ROW IDs. There are certain cases where we require to save "logical ROW IDs" too. For example, IOTs (Index Organized Tables) require "logical row IDs" which keep changing. Similarly Foreign tables (for example, DB2 tables accessed through a gateway) also require "logical ROW IDs". UROWIDs can save both "physical" as well as "logical" ROW IDs.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#990000;"&gt;&lt;strong&gt;ROWNUM&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;Rownum is a also a pseudocolumn attached with every row in an oracle table. We can use it to execute Top-N queries in oracle tables.&lt;br /&gt;For example, below query can be used to print only 5 rows from table "EMP":&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;SQL&gt;&lt;/strong&gt; select * from EMP where rownum &lt;=5;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;UROWID Related Oracle package :&lt;strong&gt; DBMS_ROWID&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;================================================&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;strong&gt;Suggested Readings:&lt;/strong&gt;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Following link has exhaustive information about DBMS_ROWID package functions: &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;a href="http://www.psoug.org/reference/dbms_rowid.html"&gt;http://www.psoug.org/reference/dbms_rowid.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;To learn more about restricted and extended ROWIDs read: &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;Book&lt;/strong&gt;: Oracle &lt;/span&gt;&lt;span style="font-family:arial;"&gt;1Z0-031 Exam Guide (By Jason Couchman &amp;amp; Sudheer Marisetti, Oracle Press) -&gt; Chapter 5 (Managing Database objects) -&gt; Topic: "Extended and Restricted ROWIDs".&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style="font-family:Arial;font-size:85%;"&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/589287873531560506-4331263599472770680?l=oraclescoracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oraclescoracle.blogspot.com/feeds/4331263599472770680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=589287873531560506&amp;postID=4331263599472770680' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4331263599472770680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/589287873531560506/posts/default/4331263599472770680'/><link rel='alternate' type='text/html' href='http://oraclescoracle.blogspot.com/2008/10/rowid-urowid-and-rownum-in-oracle.html' title='ROWID, UROWID and ROWNUM in Oracle'/><author><name>Param</name><uri>http://www.blogger.com/profile/07767768514333184964</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://4.bp.blogspot.com/_qYU3rVtF8-A/SOfTw-kbMtI/AAAAAAAAAAM/6qIVYJL95Hg/S220/me.JPG'/></author><thr:total>1</thr:total></entry></feed>
