<?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-21014893</id><updated>2012-02-08T06:10:21.446+05:30</updated><title type='text'>Discovering Oracle !</title><subtitle type='html'>I am on a mission to discover Oracle. You don't know under what circumstances I am learning Oracle. This is one of the most toughest journey of my life. I hope I reach my destination. But as I always say " Miles to go before I sleep."</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-21014893.post-115273407455515181</id><published>2006-07-13T01:22:00.000+05:30</published><updated>2006-07-13T01:24:34.646+05:30</updated><title type='text'>Sam-Alpati Notes</title><content type='html'>&lt;p class="MsoNormal"&gt;LOGICAL DATABASE STRUCTURES&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;DATA BLOCK&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A data block is at the foundation of the database storage hierarchy and is the basis of all database storage in an Oracle database. A data block consists of a several bytes of disk space in the Operating System’s Storage System. All Oracle space allocation and usage is in terms of Oracle Data Blocks. Oracle data blocks are generally of sizes 2KB, 4KB, 8KB, 16KB, and 32KB. Oracle data block should be multiple of disk block size, if not; you would be wasting time reading and writing whole disk blocks. Size of Oracle data blocks is controlled by setting DB_BLOCK_SIZE parameter in Oracle initialization file.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Oracle offers following guidelines for choosing the database block size:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.5in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Choose a smaller if your rows are small access is predominantly random.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Choose a larger block size if rows are small and access is mostly sequential or if you have large rows.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MULTIPLE ORACLE DATA BLOCK SIZES&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Oracle provides you the feature of having additional block sizes all within a single database. If you wish to configure Multiple Oracle Data Blocks, then you must also configure corresponding sub caches in buffer cache of System Global Area.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt; &lt;br /&gt;© Centre Of Discovery&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-115273407455515181?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/115273407455515181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=115273407455515181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/115273407455515181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/115273407455515181'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/07/sam-alpati-notes.html' title='Sam-Alpati Notes'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-115273390757723511</id><published>2006-07-13T01:19:00.000+05:30</published><updated>2006-08-07T17:31:53.630+05:30</updated><title type='text'>Notes in Progress!</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL STATEMENTS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are four types of SQL statements.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. Data Manipulation Language. (DML)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. Data Definition Language. (DDL)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3. Transaction Control. (TC)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;4. Data Control Language. (DCL)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Detailed description of these commands is as follows:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;TYPE&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;COMANDS&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Data Manipulation Language (DML)&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Insert&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Update&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Delete&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Merge&lt;/li&gt;&lt;/ol&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Data Definition Language. (DDL)&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Create&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Alter&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Drop&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Rename&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Truncate&lt;/li&gt;&lt;/ol&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Transaction Control. (TC)&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Commit&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Rollback&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Savepoint&lt;/li&gt;&lt;/ol&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Data Control Language (DCL)&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Grant&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Revoke&lt;/li&gt;&lt;/ol&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;CAPABILITIES OF SQL SELECT STATEMENTS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;A select statement retrieves information from the database. Using a select statement you can do following things:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;PROJECTION:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Using projection capability in SQL you can choose number of columns from your table. These columns can be one, few or many depending upon your situation.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SELECTION:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You can use the selection capability in SQL to choose the rows in a table that you want.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JOINING:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You can use join capability in SQL to bring together data that is stored in different tables by creating a link between them.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;KEYWORD:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A keyword refers to an individual SQL element.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For example SELECT &amp; FROM are keywords.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;*&lt;span style=""&gt;             &lt;/span&gt;is used to select every thing from a table.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SELECT STATEMENT&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To select particular columns from a table separate the column names by a comma.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;IMPORTANT POINTS ABOUT SQL STATEMENTS:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;SQL      statements are not case sensitive.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;SQL      statements can be on one or more lines.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;KEYWORDS      cannot be abbreviated or spilt across the lines.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Clauses      are usually placed on separate lines.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Indents      are used to enhance the readability.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Try to      use KEYWORDS in upper case.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;COLUMN HEADING DEFAULTS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;iSQL*Plus:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Default heading justification: Center.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Default heading display: Uppercase&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL*Plus:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Character and Date column headings column headings are left justified&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Number column headings are right-justified&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;-&lt;span style=""&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Default heading display: Uppercase.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The various arithmetic operators available in SQL are:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;OPERATOR&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;DESCRIPTION&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;+&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Add&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;-&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Subtract&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;*&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Multiply&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;/&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Divide&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You can use Arithmetic Operators in any clause of SQL statements expect in FROM clause&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;OPERATOR PRECEDENCE&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Multiplication      and Division take priority over addition and subtraction.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Operators      of same priority are evaluated from left to right.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Parenthesis      is used to force prioritized evaluation and to clarify statements.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;DEFINING A NULL VALUE&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A null value is a value that is unavailable, unassigned, unknown or inapplicable. A null value is not same as zero or a blank space because zero is a number and a space is a character. If a column value in a arithmetic is null the result is also null. For example if we divide a number by a zero we get an error on the other hand if we divide a number by a null we get a null or an unknown value.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;DEFINING A COLUMN ALIAS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A column alias renames a column heading. To use a column alias type the new name of column immediately after the old name separated by space or separated by the keyword “as”. If the new name of the column contains spaces, special characters or is case sensitive (by default the column headings are in UPPER-CASE) the write the new column name in double quotes.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;CONCANTENATION OPERATOR&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You can link columns to other columns using a concatenate operator. Columns on both sides of operator are combined to make a single output column.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;LITERAL CHARACTER STRINGS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL&gt; select ename ||' is a ' || job as "Employe detls" from emp;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Employe detls&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-------------------------&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SMITH is a CLERK&lt;/p&gt;  &lt;p class="MsoNormal"&gt;ALLEN is a SALESMAN&lt;/p&gt;  &lt;p class="MsoNormal"&gt;WARD is a SALESMAN&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JONES is a MANAGER&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MARTIN is a SALESMAN&lt;/p&gt;  &lt;p class="MsoNormal"&gt;BLAKE is a MANAGER&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;st1:place st="on"&gt;CLARK&lt;/st1:place&gt; is a MANAGER&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SCOTT is a ANALYST&lt;/p&gt;  &lt;p class="MsoNormal"&gt;KING is a PRESIDENT&lt;/p&gt;  &lt;p class="MsoNormal"&gt;TURNER is a SALESMAN&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;st1:place st="on"&gt;ADAMS&lt;/st1:place&gt; is a CLERK&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Employe detls&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-------------------------&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JAMES is a CLERK&lt;/p&gt;  &lt;p class="MsoNormal"&gt;FORD is a ANALYST&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MILLER is a CLERK&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;14 rows selected. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Here ‘is a’ literal character.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;DUPLICATE ROWS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;By default select statement also shows duplicate entries of rows. To eliminate duplicate entries use DISTINCT keyword in the select clause. You can use distinct clause in front of multiple columns. In that case you will get distinct combination of multiple columns.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;WHERE CLAUSE:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Character strings and dates in the where clause must be enclosed in single marks (‘ ‘). Number constants, however, should not be enclosed in single quotations marks. Entries in tables are case sensitive and hence use them appropriately with WHERE clause.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;COMPARISON CONDITIONS&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;OPERATOR&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MEANING&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;=&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;EQUAL TO&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td color="-moz-use-text-color windowtext windowtext -moz-use-text-color" style="border-style: none solid solid none; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;GREATER THAN&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&gt;=&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;GREATER THAN OR EQUAL TO&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;LESS THAN&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;=&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;LESS THAN OR EQUAL TO&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;&lt;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;NOT EQUAL TO&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;OTHER COMPARISON CONDITIONS&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;OPERATOR&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MEANING&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;BETWEEN&lt;/p&gt;   &lt;p class="MsoNormal"&gt;…..AND….&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;BETWEEN TWO VALUES (INCLUSIVE)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;IN (SET)&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MATCH ANY OF A LIST OF VALUES&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;LIKE&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MATCH A CHARACTER PATTER&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;IS NULL&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;IS A NULL VALUE&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;BETWEEN……AND……&lt;/p&gt;  &lt;p class="MsoNormal"&gt;EG:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL&gt; select ename, sal from emp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;  &lt;/span&gt;2&lt;span style=""&gt;  &lt;/span&gt;where sal between 1000 and 4000;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;ENAME&lt;span style=""&gt;             &lt;/span&gt;SAL&lt;/p&gt;  &lt;p class="MsoNormal"&gt;---------- ----------&lt;/p&gt;  &lt;p class="MsoNormal"&gt;ALLEN&lt;span style=""&gt;            &lt;/span&gt;1600&lt;/p&gt;  &lt;p class="MsoNormal"&gt;WARD&lt;span style=""&gt;             &lt;/span&gt;1250&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JONES&lt;span style=""&gt;            &lt;/span&gt;2975&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MARTIN&lt;span style=""&gt;           &lt;/span&gt;1250&lt;/p&gt;  &lt;p class="MsoNormal"&gt;BLAKE&lt;span style=""&gt;            &lt;/span&gt;2850&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;st1:place st="on"&gt;CLARK&lt;/st1:place&gt;&lt;span style=""&gt;            &lt;/span&gt;2450&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SCOTT&lt;span style=""&gt;            &lt;/span&gt;3000&lt;/p&gt;  &lt;p class="MsoNormal"&gt;TURNER&lt;span style=""&gt;           &lt;/span&gt;1500&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;st1:place st="on"&gt;ADAMS&lt;/st1:place&gt;&lt;span style=""&gt;            &lt;/span&gt;1100&lt;/p&gt;  &lt;p class="MsoNormal"&gt;FORD&lt;span style=""&gt;             &lt;/span&gt;3000&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MILLER&lt;span style=""&gt;           &lt;/span&gt;1300&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;11 rows selected.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We have to specify the lower limit first.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;IN CONDITION&lt;/p&gt;  &lt;p class="MsoNormal"&gt;It is used for testing specified values from a set. It can be used for any data type. Dates or Characters have to be enclosed in single quotation marks. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;LIKE CONDITION&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Like operator is used when you don’t know the exact value to be searched for. You can use escape identifier to search for actual % and _ symbols. Use backslash in front of the symbol (% or _) to be searched for and then followed by ESCAPE ‘\’. This asks oracle server to treat \ as escape character.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;%-Represents any sequence of zeros or more characters.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;_- Represents exactly one character.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;NULL CONDITION&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The null condition includes IS NULL and IS NOT NULL.&lt;span style=""&gt;  &lt;/span&gt;The null value means value is unavailable, unassigned, unknown or inapplicable. You cannot use ‘=’ because NULL value cannot be equal to or not equal to.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;LOGICAL CONDITIONS:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Operator&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Meaning&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;AND&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Returns true if both conditions are true.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;OR&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Returns true if al east one condition is true.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;NOT&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Returns true if following condition&lt;span style=""&gt;  &lt;/span&gt;is false.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;RULES OF PRECEDENCE:&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Order evaluated&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Operator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;1&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Arithmetic Operators&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;2.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Concatenate Operator.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;3.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Comparison Operator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;4.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;IS, [NOT] NULL, LIKE, [NOT] IN&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;5.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;[NOT] BETWEEN&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;6.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;NOT LOGICAL OPERATOR&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;7.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;AND LOGICAL OPERATOR&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;8.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;OR LOGICAL OPERATOR&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;ORDER BY CLAUSE&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are two order by clauses:&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 1.25in; text-indent: -1.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;(i)&lt;span style=""&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;ASC&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 1.25in; text-indent: -1.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;(ii)&lt;span style=""&gt;                &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;DESC&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;EG OF ASCENDING ORDER:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL&gt;select * from emp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;order by empno asc;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;By default order by clause returns values sorted in ascending order. Thus the query&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL&gt;select * from emp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;order by emp;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;is same as above query.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;EG OF DESCENDING ORDER;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;SQL&gt; select * from emp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;order by hiredate desc;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Important points for ORDER BY CLAUSE:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Default      sort order is ascending.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;For      order by clause in ascending, numeric values are shown first, for example      1-400.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;For      order by clause in ascending, date values are displayed with earliest      value first.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;For      order by clause in ascending, character values are displayed in      alphabetical order.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Null      values are displayed first for ascending sequences and last for ascending      sequences.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;    &lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;SQL STATEMENTS&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 2.0  (Linux)"&gt;&lt;meta name="AUTHOR" content="parag &amp; pawan kalra"&gt;&lt;meta name="CREATED" content="20070622;14100000"&gt;&lt;meta name="CHANGEDBY" content="User"&gt;&lt;meta name="CHANGED" content="20060720;20420000"&gt;              &lt;style type="text/css"&gt;  &lt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;You can also sort the query  results by more than one column&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style=""&gt;                        &lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;    &lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;SQL STATEMENTS&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 2.0  (Linux)"&gt;&lt;meta name="AUTHOR" content="parag &amp; pawan kalra"&gt;&lt;meta name="CREATED" content="20070622;14100000"&gt;&lt;meta name="CHANGEDBY" content="User"&gt;&lt;meta name="CHANGED" content="20060720;20420000"&gt;              &lt;style type="text/css"&gt;  &lt;!--   @page { size: 8.5in 11in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;FUNCTIONS:&lt;/p&gt; &lt;p style="margin-left: 0.25in; margin-bottom: 0in;"&gt;There are two types of SQL functions:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Single row functions.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Multiple row functions.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Single Row Functions operate on single rows and return one value per row. Various types of Single Row Functions are as follows:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Character.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Number.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Date.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Conversion.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;General.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Multiple row functions operate on multiple rows and returns one value per multiple rows.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;CHARACTER FUNCIONS:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Accepts a character I/P and returns a character or number value.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;NUMBER FUNCTIONS:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Accepts a number value and returns a number value.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;DATE FUNCTIONS:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;It operates on date data type values.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;CONVERT FUNCTIONS:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;It converts value of one data type to data of another data type.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;GENERAL FUNCTIONS:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;These include:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;NVL&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;NVL2&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;NULLIF&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;COALSECE&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;CASE&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;DECODE&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Character functions are of two types:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Case manipulation functions. (  LOWER, UPPER, INITCAP)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Character manipulation functions.  (CONCAT, SUBSTR, LPAD, RPAD, LENGTH, INSTR, TRIM &amp; REPLACE)&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;LOWER: Converts an alpha character value to lower case.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;UPPER: Converts an alpha character to upper case.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;INITCAP: Converts first character of the word to upper case and at the same time making other characters of the word to lower case.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;CONCAT: Concatenates first character value to second character value, equivalent to concatenation operator.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;LENGTH: Extracts a string of determined length.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;INSTR: Determines the position of given character.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;LPAD: Pads the value right justified.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;RPAD: Pads the value left justified.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;TRIM: Trims heading or trailing characters from a character string.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;NUMBER FUNCTIONS:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;ROUND: Rounds column, expression  or value to n decimal places or if n is omitted no decimal places.  If n is negative numbers to left of decimal are rounded.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;TRUNC: Truncates column,  expression or value to n decimal places or if n is omitted then by  default to zero decimal places.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Returns the value of m divided by  n.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;DUAL TABLE:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Dual table is owned by sys user. It contains one dummy column and one row with value X&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;SAMPLE FORMAT ELEMENTS OF VALID DATE FORMATS&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;SCC or CC&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Century or Server prefixes B.C. date with&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Years in dates YYYY or SYYYY&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Year or Server prefixes B.C. date with&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;YYY or YY or Y&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Last “three”, “two” or “one” digit of a year.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Y,YYY&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Year with comma in this postion.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;IYYY, IYY, IY, I&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Four, three, two or one digit year based on ISO Format&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;SYEAR OR YEAR&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Server prefixes B.C. date with.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;BC/AD&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;BC/AD Indicator&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;B.C./A.D.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;B.C./A.D. Indicator with periods&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Q&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Quarter of year.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MM&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Month: Two digit value.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MONTH&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Name of Month.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;MON&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Name of month: Three letter Abbreviation.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;RM&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Roman Numeral Month.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;WW, W&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Month of year, Month of week respectively&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;DDD, DD, D&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Day of year, month, week.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;DAY&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Name of day padded with blanks to a length of nine   characters.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;DY&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Name of day: Three letter abbreviation&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;J&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal"&gt;Julian Day; Number of days since 31&lt;sup&gt;st&lt;/sup&gt; December,   5713 B.C.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;   &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;" align="justify"&gt;  A foreign key is a column or set of columns which refer to primary key in the same table or another table. In other words it acts as link between two tables. In language of layman you can say that foreign key is that column which is common to multiple tables.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Guidelines for Primary key and Foreign key:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;You cannot use duplicate values in  primary key.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Data conversion is of two types:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Implicit data type conversion.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Explicit data type conversion.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;IMPLICIT DATA TYPE CONVERSIONS&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;For assignments Oracle server can automatically convert a “varchar2” or “char” data-type in to “number” or “date” data-type. Similarly a “number” or “date” data-type can be converted to “varchar2” data-type.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;For Expression evaluation Oracle server can automatically convert a “varchar2” or “char” data-type in to “number” or “date” data-type&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;A foreign key is a column or set of columns which refer to primary key in the same table or another table. In other words it acts as link between two tables. In language of layman you can say that foreign key is that column which is common to multiple tables.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Guidelines for Primary key and Foreign key:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;You      cannot use duplicate values in primary key.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Data conversion is of two types:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Implicit      data type conversion.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Explicit      data type conversion.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;IMPLICIT DATA TYPE CONVERSIONS&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For assignments Oracle server can automatically convert a “varchar2” or “char” data-type in to “number” or “date” data-type. Similarly a “number” or “date” data-type can be converted to “varchar2” data-type.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For Expression evaluation Oracle server can automatically convert a “varchar2” or “char” data-type in to “number” or “date” data-type&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;© Centre Of Discovery&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-115273390757723511?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/115273390757723511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=115273390757723511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/115273390757723511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/115273390757723511'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/07/notes-in-progress.html' title='Notes in Progress!'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-114042725562590551</id><published>2006-02-20T14:50:00.000+05:30</published><updated>2006-02-20T14:50:56.330+05:30</updated><title type='text'>30-01-2006 evening oracle</title><content type='html'>&lt;p class="MsoNormal"&gt;Optimizer is a program which makes plan for execution&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Each and every task is divided into fragments. This is called planning and it is done by optimizer.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Difference between rule based and cost based optimizer:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Rule based optimizer takes into consideration number of blocks it has to scan.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Oracle automatically adjusts the sizes of different pools of shared pool area i.e. data dictionary cache and cursor area.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Large Pool Area:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;It is an optional area unlike other areas which are mandatory.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;It is used for bulk handling of the data.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When large pool area is not there, Oracle uses data buffer pool. It will some how affect the normal working of Oracle. Hence large pool is often configured so that users are not affected.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-114042725562590551?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/114042725562590551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=114042725562590551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/114042725562590551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/114042725562590551'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/02/30-01-2006-evening-oracle.html' title='30-01-2006 evening oracle'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-114000765079609737</id><published>2006-02-15T18:16:00.000+05:30</published><updated>2006-02-15T18:17:30.916+05:30</updated><title type='text'>Oracle's Sleepycat buy may be first of several</title><content type='html'>&lt;p&gt;The face of open-source may be morphing into that of proprietary software as &lt;a href="http://www.oracle.com/" title="http://www.oracle.com"&gt;Oracle&lt;/a&gt; agreed the purchase of embedded database developer &lt;a href="http://www.sleepycat.com/" title="http://www.sleepycat.com/"&gt;Sleepycat Software&lt;/a&gt; and reportedly considers swooping to buy other leaders in the open sector, including middleware leader JBoss.&lt;/p&gt;  &lt;p&gt;"Sleepycat's products enhance Oracle's market-leading database product family by offering enterprise-class support to customers who need to embed a fast, reliable database at a lower cost," said Andrew Mendelsohn, senior vice president of Oracle database server technologies in a statement.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Business Week&lt;/em&gt; Online has reported that Oracle is also in talks with JBoss and PHP language leader Zend, while the blog of venture capitalist Paul Kedrosky adds open solutions testing firm SpikeSource as another possible candidate.&lt;/p&gt;  &lt;p&gt;Oracle is not the first closed software leader to buy up open-source firms. Novell has bought Linux distributor Suse and Ximian, for example. Last year, IBM bought application server developer Gluecode Software and BEA acquired tools maker M7, while Oracle itself bought database developer Innobase.&lt;/p&gt;  &lt;p&gt;However, the jury is still out on the wisdom of such purchases. Novell’s Suse buy has not stopped Red Hat becoming the distance leader in Linux distribution revenues, for example, and some observers question whether open firms that sell out can maintain community support.&lt;/p&gt;  &lt;p&gt;None of the parties reportedly involved would comment on the reports regarding Oracle and JBoss or Zend but indicators suggest the JBoss deal in particular could add up.&lt;/p&gt;  &lt;p&gt;Oracle chief executive Larry Ellison said at an analyst conference earlier this month that Oracle wants to be the leader in middleware and said open-source technologies could be a positive for his company.&lt;/p&gt;  &lt;p&gt;"Rather than fight this open-source trend we think it's important to figure out ways to make it work to our advantage," he said.&lt;/p&gt;  &lt;p&gt;Speculation is also rife on the web with some watchers suggesting that the acquisition of Sleepycat and possible purchase of JBoss could weaken other programs that compete with, or work alongside, those firms’ programs. Open database developer MySQL last week announced a new round of financing that added $18.5m to its defences.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-114000765079609737?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/114000765079609737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=114000765079609737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/114000765079609737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/114000765079609737'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/02/oracles-sleepycat-buy-may-be-first-of.html' title='Oracle&apos;s Sleepycat buy may be first of several'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113862274687496537</id><published>2006-01-30T17:31:00.000+05:30</published><updated>2006-01-30T17:36:44.380+05:30</updated><title type='text'>30-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image_038_.6.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3728/2042/200/Image_038_.6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 1.1.2  (Linux)"&gt;&lt;meta name="AUTHOR" content="parag &amp; pawan kalra"&gt;&lt;meta name="CREATED" content="20060130;12150000"&gt;&lt;meta name="CHANGEDBY" content="parag &amp; pawan kalra"&gt;&lt;meta name="CHANGED" content="20060130;17190000"&gt;              &lt;style&gt;  &lt;!--   @page { size: 8.27in 11.69in; margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in;"&gt;When the data is read from the hard it is called “Physical Read.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;When the data is read from the memory it is called “Logical Read.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;When the data is read from the Buffer Cache (Memory) + Roll back segment it is called “Consistent Read.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;In case of consistent read the o/p contains original data.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;There are two important concepts in Oracle:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Data Consistency.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Data Integrity.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;# Data Consistency: Data consistency is defined as the value of the data as it exits at the time of request.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;EG: Suppose a request is made by a client c1 at 11:00 AM and in case it takes 5 min to reach to server (exaggerated). If at time say 11:00 AM the data which c1 demanded was changed by another client c2 at 11:02 AM then client c1 will still get the original data on account of Data Consistency provided server has kept the original data intact.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;# Data Integrity: It implies to validity of data with respect to natural and business rules.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;EG: The Loan given by Bank will never be more than the loan sanctioned by the bank.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Roll Back reading corresponds to Consistent reading.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;*: 18000 brains have worked so far on Oracle in 30 years.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;When ever a SQL or PL-SQL statement is fired by a user, it involves approximately following processes:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Statement &lt;span style="font-family:Wingdings;"&gt;&lt;/span&gt; Parsing &lt;span style="font-family:Wingdings;"&gt;&lt;/span&gt; Planning &lt;span style="font-family:Wingdings;"&gt;&lt;/span&gt; Execution&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;# Parsing: Parsing is a process which resolve the references to object, data types, privileges, syntax etc. &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;In short in parsing checking of syntax and validity of different parameters is made. Checking is made by making Parsed Tree.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Optimizer makes execution plans. There are two types of optimizers:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Cost based.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Rule based.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Most times same set of commands are fired. For every statement fired 2/3&lt;sup&gt;rd&lt;/sup&gt; of energy is used for parsing and planning. Using shared SQL area this can be restricted to much less value.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Shared SQL comes to picture only when two statements are exactly similar i.e. even their cases match.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Using # value SQL differentiates between two statements before parsing. There are two types of parsing:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Soft Parsing&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Hard Parsing&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Soft Parsing: Oracle makes every fired statement pass through # function and produces a value called # value. This # value depends on the way statement is written and not the text of statement. If the # value belonging to two statements is same, then it bypasses the second statement i.e. second statement is not required to go through parsing and planning process.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Ready to use statement is stored in cursor area or library cache or cursor cache.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Statements stored in Cursor area are identified by their # value.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Using # value parsing and planning processes are avoided.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;If two statements are exactly identical including their cases but just differ by some digit used in the form of bind variable then the second statement is not required to go through planning and parsing process.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;# Optimizer uses set of 15 hard coded rules for determining the execution plan. Rule based optimizer was the default optimizer in olden version. Cost based optimizer is more intelligent optimizer which considers statistics before drawing the execution plan to make the decision. How ever cost based optimizer requires that statistics should be current otherwise the decision of cost based optimizer would be affected. Cost based optimizer is default optimizer for the current version. Rule based optimizer will be eliminated in future versions of Oracle.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Rule based optimizer goes by text. It is not intelligent. Where as cost based optimizer is intelligent. It just doesn’t look at text but it also takes into consideration the different ways data could be accessed. It also checks the no of ways paths can be optimized &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113862274687496537?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113862274687496537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113862274687496537' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113862274687496537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113862274687496537'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/30-01-2006_30.html' title='30-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113860474918259302</id><published>2006-01-30T12:14:00.000+05:30</published><updated>2006-02-15T18:16:25.473+05:30</updated><title type='text'>30-01-2006</title><content type='html'>&lt;p class="MsoNormal"&gt;When the data is read from the hard it is called “Physical Read.”&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When the data is read from the memory it is called “Logical Read.”&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When the data is read from the Buffer Cache (Memory) + Roll back segment it is called “Consistent Read.”&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In case of consistent read the o/p contains original data.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are two important concepts in Oracle:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Data      Consistency.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Data      Integrity.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;# Data Consistency: Data consistency is defined as the value of the data as it exits at the time of request.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;EG: Suppose a request is made by a client c1 at 11:00 AM and in case it takes 5 min to reach to server (exaggerated). If at time say 11:00 AM the data which c1 demanded was changed by another client c2 at 11:02 AM then client c1 will still get the original data on account of Data Consistency provided server has kept the original data intact.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;# Data Integrity: It implies to validity of data with respect to natural and business rules.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;EG: The Loan given by Bank will never be more than the loan sanctioned by the bank.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Roll Back reading corresponds to Consistent reading.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;*: 18000 brains have worked so far on Oracle in 30 years.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When ever a SQL or PL-SQL statement is fired by a user, it involves approximately following processes:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Statement &lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt; Parsing &lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt; Planning &lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt; Execution&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;# Parsing: Parsing is a process which resolve the references to object, data types, privileges, syntax etc. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In short in parsing checking of syntax and validity of different parameters is made. Checking is made by making Parsed Tree.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Optimizer makes execution plans. There are two types of optimizers:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Cost      based.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Rule      based.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Most times same set of commands are fires&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113860474918259302?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113860474918259302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113860474918259302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113860474918259302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113860474918259302'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/30-01-2006.html' title='30-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113834326112488326</id><published>2006-01-27T11:54:00.000+05:30</published><updated>2006-01-27T11:58:04.110+05:30</updated><title type='text'>27-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image_038_.3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3728/2042/200/Image_038_.3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 1.1.2  (Linux)"&gt;&lt;meta name="CREATED" content="20060127;9524600"&gt;&lt;meta name="CHANGED" content="20060127;11514100"&gt;          &lt;style&gt;  &lt;!--   @page { size: 8.27in 11.69in; margin: 0.79in }   P { margin-bottom: 0.08in }   H2 { page-break-after: avoid }   H2.western { font-family: "Thorndale AMT", serif; font-size: 18pt; font-weight: bold }   H2.cjk { font-family: "Albany AMT"; font-size: 18pt; font-weight: bold }   H2.ctl { font-family: "Tahoma", "Lucidasans", "Lucida Sans", "Arial Unicode MS"; font-size: 18pt; font-weight: bold }   H4 { page-break-after: avoid }   H4.western { font-family: "Thorndale AMT", serif; font-size: 12pt; font-weight: bold }   H4.cjk { font-family: "Albany AMT"; font-size: 12pt; font-weight: bold }   H4.ctl { font-family: "Tahoma", "Lucidasans", "Lucida Sans", "Arial Unicode MS"; font-size: 12pt; font-weight: bold }   H3 { page-break-after: avoid }   H3.western { font-family: "Thorndale AMT", serif; font-size: 14pt; font-weight: bold }   H3.cjk { font-family: "Albany AMT"; font-size: 14pt; font-weight: bold }   H3.ctl { font-family: "Tahoma", "Lucidasans", "Lucida Sans", "Arial Unicode MS"; font-size: 14pt; font-weight: bold }   TD P { margin-bottom: 0.08in }   EM { font-style: italic }   STRONG { font-weight: bold }   CODE { font-family: "Cumberland AMT", monospace }  --&gt;  &lt;/style&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Table space is divided into two categories:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Locally managed&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Dictionary managed&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Locally managed concept was introduced in Oracle 8i. At the time of introduction it was optional. Before Oracle 8i there was no concept of Locally managed. However over the years scenario has changed. From Oracle 9i onwards Locally managed has become default where as Dictionary managed has become optional.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;What is Locally managed and what is Dictionary managed?&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;By default initial extents are 1. However roll back segment by default has minimum 2 extents.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Definition: When the segment is created i.e. allocation i.e. which system is allocated to which table space, if this information is managed by Data Dictionary then it is called Dictionary management.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Another way of maintaining this allocation information is that to specify it in header of datafile. This is called Locally Managed.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;If your system table space is locally managed then all your table spaces in database has to be locally managed.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;If your system table space is dictionary managed the n your table space has two options:  &lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Either to go Dictionary managed  way.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Or to go with Locally managed way.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;It is possible to change table space from dictionary managed to locally managed and vice versa provided your table space management is Dictionary managed.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Both individual data files and table space can be:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Off line.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;On line.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Read only.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Off line means you cannot access any data. It is equivalent that no table space is present&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;On line means we can read as well write.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Read Only means that we can only read but cannot write.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;#: Schema is defined as set of objects owned by an user account&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;It is possible for an user schema to span over multiple table spaces.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"&gt;I: What is the difference between user account and schema?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;A: User account is an account in database with certain sets of privileges according to which he can perform certain operations.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Schema is the set of objects owned by the user.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;EG: Creating an account in Bank is similar to creating or having an account in Oracle. On the other hand facilities which you get after creating an account in Bank like check book, ATM, different add ons, Loans etc are similar to the concept of objects in database.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"&gt;*: Object is any thing created by user.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Any object in database is identified by schema name and object name.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;If user u1 creates a table say T and if there is another user say u2 then even he can create a table of same name because Table created by user u1 is identified as u1.T where as table created by user u2 is identified as u2.T. However if either user u1 or u2 further tries to create a same table of same name then it won't be allowed to do so because then there will be a clash i.e one table of same name already exits.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;#: There is no concept of transfer of ownership in Oracle.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Memory Architecture:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Two Important concepts in Memory architecture are:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;SGA (Shared Global Area)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;PGA (Privileged Global Area)&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;SGA: All the users working on Oracle share the same memory and hence it is called as SGA.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Different portions of memory architecture in Oracle are as follows:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Data buffer pool (buffer cache)&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Redo log buffer&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Large buffer&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Fixed SGA&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Data dictionary cache&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Shared pool area&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Library cache ( Shared SQL area or  Cursor area)&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Let us study each portion one by one:&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Buffer Cache ( Data buffer pool): Buffer cache is used to store the data blocks brought from data files.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;The buffer pool is divided internally to blocks i.e. it formats itself. The size of block of memory has to be similar to size of data block. Before Oracle 10g there used to be similar size of data blocks through the database, but from Oracle 10g onwards you can have data blocks of 5 standards sizes, thus Oracle memory can be formatted in 5 sizes.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Buffer cache can be divided further to following categories:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Dirty Buffer.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Free Buffer.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Pinned Buffer.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Dirty buffer: It is that portion of Buffer cache in memory structure of Oracle which indicates that it is ready to accept the data.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Free buffer: When data is inserted into Dirty buffer, then processing starts over the data. Thus blocks in which processing of data takes place is called called free buffer. The bottom line is that “ On insertion of data in dirty buffer it becomes free buffer as long as processing is taking place.”&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Pinned buffer: After the data is stored and if in future we want to edit it then the block in buffer cache in which modification takes place is called as Pinned buffer.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Thus same block in Buffer cache can act as three different buffers.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Oracle uses LRU (Least Recently Used) algorithm for storing data in memory.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Explanation of LRU Algorithm: ( Hypothetical Concept )&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Consider a pulley. Over which there is a rope. Imagine that data is placed on the rope. Rope is infinite and is following continuously. It is obvious that data is also falling, by falling it means that it is being written on hard disk. Thus as data gets older it shifts towards least recently used end and if a new data comes in memory or an older data on memory is again edited then it shifts towards Most Recently used end.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;This is an hypothetical example. It doesn't exist in reality.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"&gt;*: Oracle is designed keeping commit in mind and not rollback.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;h2 class="western"&gt;&lt;a name="CNCPT801"&gt;&lt;/a&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(51, 0, 153);"&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;&lt;span style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"&gt;Introduction to Oracle Memory Structures&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8455"&gt;&lt;/a&gt;&lt;!--/TOC=h1--&gt;Oracle uses memory to store information such as the following:&lt;/p&gt; &lt;ul style="font-style: italic; font-weight: bold;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8456"&gt;&lt;/a&gt;Program code   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8457"&gt;&lt;/a&gt;Information  about a connected session, even if it is not currently active   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8458"&gt;&lt;/a&gt;Information  needed during program execution (for example, the current state of a  query from which rows are being fetched)   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8459"&gt;&lt;/a&gt;Information  that is shared and communicated among Oracle processes (for example,  locking information)   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a name="8460"&gt;&lt;/a&gt;Cached data that is also permanently  stored on peripheral memory (for example, data blocks and redo log  entries)   &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8462"&gt;&lt;/a&gt;The basic memory structures associated with Oracle include:&lt;/p&gt; &lt;ul style="font-style: italic; font-weight: bold;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="11020"&gt;&lt;/a&gt;System Global  Area (SGA), which is shared by all server and background processes  and holds the following:   &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="10000"&gt;&lt;/a&gt;Database   buffer cache    &lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="10004"&gt;&lt;/a&gt;Redo log   buffer    &lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="10001"&gt;&lt;/a&gt;Shared pool    &lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="19777"&gt;&lt;/a&gt;Large pool   (if configured)    &lt;/p&gt;  &lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8470"&gt;&lt;/a&gt;Program Global Areas (PGA), which is private to each server and background process; there is one PGA for each process. The PGA holds the following: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="10007"&gt;&lt;/a&gt;Stack areas    &lt;/p&gt;   &lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a name="17963"&gt;&lt;/a&gt;Data areas    &lt;/p&gt;  &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt; &lt;h4 style="font-style: italic; font-weight: bold;" class="western"&gt;&lt;span style="background: rgb(255, 255, 0) none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;"&gt;&lt;em&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;Figure 7-1 Oracle Memory Structures&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/h4&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="20897"&gt;&lt;/a&gt;&lt;img src="http://www.lc.leidenuniv.nl/awcourse/oracle/server.920/a96524/cncpt151.gif" name="Graphic1" alt="Text description of cncpt151.gif follows" align="bottom" border="0" height="304" width="504" /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;h2 style="font-style: italic; font-weight: bold;" class="western"&gt;&lt;a name="CNCPT802"&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;System Global Area (SGA) Overview&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8488"&gt;&lt;/a&gt;&lt;!--/TOC=h1--&gt;A &lt;strong&gt;system global area&lt;/strong&gt; (SGA) is a group of shared memory structures that contain data and control information for one Oracle database instance. If multiple users are concurrently connected to the same instance, then the data in the instance's SGA is shared among the users. Consequently, the SGA is sometimes called the &lt;strong&gt;shared global area&lt;/strong&gt;.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8496"&gt;&lt;/a&gt;An SGA and Oracle processes constitute an Oracle instance. Oracle automatically allocates memory for an SGA when you start an instance, and the operating system reclaims the memory when you shut down the instance. Each instance has its own SGA.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8498"&gt;&lt;/a&gt;The SGA is read/write. All users connected to a multiple-process database instance can read information contained within the instance's SGA, and several processes write to the SGA during execution of Oracle.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8500"&gt;&lt;/a&gt;The SGA contains the following data structures:&lt;/p&gt; &lt;ul style="font-style: italic; font-weight: bold;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8501"&gt;&lt;/a&gt;Database buffer  cache   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8502"&gt;&lt;/a&gt;Redo log buffer   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8503"&gt;&lt;/a&gt;Shared pool   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="20169"&gt;&lt;/a&gt;Java pool   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="11666"&gt;&lt;/a&gt;Large pool  (optional)   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;a name="8504"&gt;&lt;/a&gt;Data dictionary  cache   &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a name="8505"&gt;&lt;/a&gt;Other miscellaneous information   &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8507"&gt;&lt;/a&gt;Part of the SGA contains general information about the state of the database and the instance, which the background processes need to access; this is called the &lt;strong&gt;fixed SGA&lt;/strong&gt;. No user data is stored here. The SGA also includes information communicated between processes, such as locking information.&lt;/p&gt; &lt;h3 style="font-style: italic; font-weight: bold;" class="western"&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;Database Buffer Cache&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8529"&gt;&lt;/a&gt;&lt;!--/TOC=h2--&gt;The database buffer cache is the portion of the SGA that holds copies of data blocks read from datafiles. All user processes concurrently connected to the instance share access to the database buffer cache.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="13313"&gt;&lt;/a&gt;The database buffer cache and the shared SQL cache are logically segmented into multiple sets. This organization into multiple sets reduces contention on multiprocessor systems.&lt;/p&gt; &lt;h4 style="font-style: italic; font-weight: bold;" class="western"&gt;&lt;a name="8537"&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;!--TOC=h3-"8537"--&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;Organization of the Database Buffer Cache&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8538"&gt;&lt;/a&gt;&lt;!--/TOC=h3--&gt;The buffers in the cache are organized in two lists: the write list and the least recently used (LRU) list. The &lt;strong&gt;write list&lt;/strong&gt; holds dirty buffers&lt;em&gt;,&lt;/em&gt; which contain data that has been modified but has not yet been written to disk. The &lt;strong&gt;LRU&lt;/strong&gt; &lt;strong&gt;list&lt;/strong&gt; holds free buffers, pinned buffers, and dirty buffers that have not yet been moved to the write list. &lt;strong&gt;Free buffers&lt;/strong&gt; do not contain any useful data and are available for use. &lt;strong&gt;Pinned buffers&lt;/strong&gt; are currently being accessed.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8539"&gt;&lt;/a&gt;When an Oracle process accesses a buffer, the process moves the buffer to the most recently used (MRU) end of the LRU list. As more buffers are continually moved to the MRU end of the LRU list, dirty buffers age toward the LRU end of the LRU list.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8542"&gt;&lt;/a&gt;The first time an Oracle user process requires a particular piece of data, it searches for the data in the database buffer cache. If the process finds the data already in the cache (a &lt;strong&gt;cache hit&lt;/strong&gt;), it can read the data directly from memory. If the process cannot find the data in the cache (a &lt;strong&gt;cache miss&lt;/strong&gt;), it must copy the data block from a datafile on disk into a buffer in the cache before accessing the data. Accessing data through a cache hit is faster than data access through a cache miss.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8543"&gt;&lt;/a&gt;Before reading a data block into the cache, the process must first find a free buffer. The process searches the LRU list, starting at the least recently used end of the list. The process searches either until it finds a free buffer or until it has searched the threshold limit of buffers.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8544"&gt;&lt;/a&gt;If the user process finds a dirty buffer as it searches the LRU list, it moves that buffer to the write list and continues to search. When the process finds a free buffer, it reads the data block from disk into the buffer and moves the buffer to the MRU end of the LRU list.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8545"&gt;&lt;/a&gt;If an Oracle user process searches the threshold limit of buffers without finding a free buffer, the process stops searching the LRU list and signals the DBW0 background process to write some of the dirty buffers to disk.&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-style: italic; font-weight: bold;"&gt;&lt;a name="19596"&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 0, 153);"&gt;&lt;!--TOC=h3-"19596"--&gt;&lt;span style="font-family:Arial,Helvetica,sans-serif;"&gt;The LRU Algorithm and Full Table Scans&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8550"&gt;&lt;/a&gt;&lt;!--/TOC=h3--&gt;When the user process is performing a full table scan, it reads the blocks of the table into buffers and puts them on the LRU end (instead of the MRU end) of the LRU list. This is because a fully scanned table usually is needed only briefly, so the blocks should be moved out quickly to leave more frequently used blocks in the cache.&lt;/p&gt; &lt;p style="font-style: italic; font-weight: bold;"&gt;&lt;a name="8558"&gt;&lt;/a&gt;You can control this default behavior of blocks involved in table scans on a table-by-table basis. To specify that blocks of the table are to be placed at the MRU end of the list during a full table scan, use the &lt;code&gt;CACHE&lt;/code&gt; clause when creating or altering a table or cluster. You can specify this behavior for small lookup tables or large static historical tables to avoid I/O on subsequent accesses of the table.&lt;/p&gt;&lt;a style="font-style: italic; font-weight: bold;" name="11076"&gt;&lt;/a&gt;&lt;center style="font-style: italic; font-weight: bold;"&gt;  &lt;table border="0" cellpadding="0" cellspacing="0" width="80%"&gt;   &lt;col width="256*"&gt;   &lt;tbody&gt;&lt;tr&gt;    &lt;td width="100%"&gt;&lt;a name="11079"&gt;&lt;/a&gt;&lt;/td&gt;   &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt; &lt;p style="margin-bottom: 0in; font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113834326112488326?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113834326112488326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113834326112488326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113834326112488326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113834326112488326'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/27-01-2006.html' title='27-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113821717477884919</id><published>2006-01-26T00:54:00.000+05:30</published><updated>2006-01-26T01:01:15.056+05:30</updated><title type='text'>25-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image%28038%29.18.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.15.jpg" alt="" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;                                              &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Non system table space is divided into following categories:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Table&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Index&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Tools&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Roll back table space&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;If we want to make modification in the data, then data to be changed is brought from hard disk to RAM. Now you can change the data. Before u start changing data the original data is stored in roll back segment. As a result you can any time recover the original data. Original data can be recovered also by not saving the data.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Before Oracle 9i user was allowed to create roll back segment. From Oracle 9i onwards Oracle started the function Auto roll back and user interference in roll back segment was stopped. However there is a scope of user governing roll back segment if setup is “manual”&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;One of the parameter is undo management=auto&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;If this is set to auto, as show above then you have to create rollback segment space at the time of creation of database.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;System table space, Non-system table space and Roll back system table space fall under permanent table space.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Actually Temporary table space is permanent. Then why is called as temporary? It is so called because of the objectives it contains are temporary. For E.g.: Temporary segment.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;*: Temporary table space doesn’t allow you to create any permanent object in temporary space or in other words DBAS are not allowed to create temporary segments.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;*: Temporary segments can be created in permanent table space (System, Non system and Roll back)&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;The bottom line is that temporary operations like sorting takes place in Temporary segment.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Table spaces are classified also according to extent management:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Dictionary management&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Locally management&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Logically Structure:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Table&lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt;Segments (table, index, cluster, rollback, temporary, partition, mview, snapshots) &lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt;Extents&lt;span style="font-family:Wingdings;"&gt;&lt;span style=""&gt;à&lt;/span&gt;&lt;/span&gt;Data blocks (contiguous)&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;*: Divide large group or table to fragments there by sorting is made easy.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Table space is made up of data files. Extents are written to data file. Extents belong to table, index, cluster, rollback etc. If table space gets full, you can create data files to increase your space.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113821717477884919?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113821717477884919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113821717477884919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113821717477884919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113821717477884919'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/25-01-2006.html' title='25-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113821702266394791</id><published>2006-01-26T00:50:00.000+05:30</published><updated>2006-01-26T00:59:36.500+05:30</updated><title type='text'>24-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image%28038%29.17.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.14.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sorry every one...&lt;br /&gt;&lt;br /&gt;Actually my copy is not with me...........&lt;br /&gt;&lt;br /&gt;So  I  was not unable to publish the lessons..................&lt;br /&gt;&lt;br /&gt;As soon as  my copy get back to me......&lt;br /&gt;&lt;br /&gt;The article will be published.............................&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113821702266394791?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113821702266394791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113821702266394791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113821702266394791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113821702266394791'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/24-01-2006.html' title='24-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113802358401829099</id><published>2006-01-23T19:08:00.000+05:30</published><updated>2006-01-24T14:38:30.673+05:30</updated><title type='text'>22-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image(038).16.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0pt 0pt 10px 10px; CURSOR: pointer" alt="" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.13.jpg" border="0" /&gt;&lt;/a&gt; &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;span style="font-size:26;"&gt;23-01-2006&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt; &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Control file maintains stat and status of all the data files and redo log files.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;When ever there are structural changes made to database then back of control file is provided by Oracle.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Oracle provides two types of back up for control file:&lt;/p&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Binary Back up.&lt;/li&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Trace back up.&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Trace back up is used when we fail to take the back up of control file.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Trace back is sort of creating command for generating control file.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;REDO Log File:&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Information about every operation in Oracle i.e. complete history of changes made in Oracle is recorded in REDO log files. REDO log files are also called as journals of database.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Whenever user wants to change any data he uses “update” command. On receiving the request Oracle reads the data to be changed and stores the data in memory. In memory required changes are made and then information of every thing changed is stored in REDO log file. It is sort of Hot Back.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Oracle requires minimum of two REDO log files. As the database is created and users start using it, the REDO log file and another file called Log Switch file come into action. &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Oracle recommends minimum two such files. Minimum size of these files is 50K.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Oracle can operate in two modes:&lt;/p&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Archival&lt;/li&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;No Archival&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;When Oracle is working in archival mode it makes the copy of REDO log files internally and gives it a Log Sequence Number.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;REDO log files which are being worked on are called ONLINE REDO LOG FILES where as archived log files are OFFLINE REDO LOG FILES.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Archived files are stored on hard disk.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;There are three types of databases basically:&lt;/p&gt;&lt;ol style="MARGIN-TOP: 0in" type="1"&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Test database&lt;/li&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Production database&lt;/li&gt;&lt;li class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Development database&lt;/li&gt;&lt;/ol&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;All production databases should take place in Archival mode. Remaining databases i.e. Test and Development databases should work in Non-Archival mode.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;REDO group consists of mirror image of ONLINE REDO FILES. It is not possible to store mirror images of ONLINE REDO LOG FILES on remote server. &lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Check point is very important concept of Oracle. To keep the frequency check point tuned or rather synchronized, the file size of ONLINE REDO LOG FILES should be same though not necessary.&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="TEXT-ALIGN: justify"&gt;Oracle has outstanding feature of allowing back up archived files on remote servers. That was the reason why NASDAQ was in a position to recover the data despite of World Trade Centre attack.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113802358401829099?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113802358401829099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113802358401829099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113802358401829099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113802358401829099'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/22-01-2006.html' title='22-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113786391780179185</id><published>2006-01-21T22:46:00.000+05:30</published><updated>2006-01-21T22:48:38.140+05:30</updated><title type='text'></title><content type='html'>&lt;div align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/3728/2042/1600/Image(038).14.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.11.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;21-01-2006&lt;br /&gt;&lt;br /&gt;Control file is one of the most important file of Oracle database.&lt;br /&gt;&lt;br /&gt;If control file is lost then entire database is lost. Thus back up of this file is very important and hence Oracle allows you to replicate this file i.e. make its mirror images. Oracle recommends you to store these mirror images on different hard-disks.&lt;br /&gt;&lt;br /&gt;This file maintains synchronization information about about all the database files. The synchronization is very important from point of view of recovery of database. At the time of start up, Oracle checks the integrity of all the files from the control file.&lt;br /&gt;&lt;br /&gt;The synchronization information is maintained in terms of SCN (System Change Number), CPC (Check Pointer Counter) and LSN (Log sequence Number). Control file contains the copies of headers of all data files and redo log files. Oracle is constantly maintains the headers of database files and redo log files and their copies in control file synchronously. If there is any mismatch between them, Oracle knows that recovery is needed to be applied in some form or the other. Apart from synchronization information control file also maintains some of the important database parameters exclusive to the control file like maxdatafiles, maxlog files, maxlog member, maxlog history, characteristic etc. It is possibe to modify the parameters expect the character set parameter. However for modifying the parameter control file is needed to be recreated with the new parameters.&lt;br /&gt;&lt;br /&gt;*: Characteristic is similar to block size.&lt;br /&gt;&lt;br /&gt;System Change Number is a no given to every committed transaction.&lt;br /&gt;&lt;br /&gt;Check Point Counter indicates the number of times a file is changed.&lt;br /&gt;&lt;br /&gt;Control file automatically get created at the time of creation of database. It also contains the name of database. Control file is fixed size file and it is in binary format. This file should never be edited or opened. After the version of Oracle 8i onwards control file also maintains the record of back and recovery taken by RMAN (Recovery Manager).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113786391780179185?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113786391780179185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113786391780179185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113786391780179185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113786391780179185'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/21-01-2006-control-file-is-one-of-most.html' title=''/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113777008781031839</id><published>2006-01-20T20:42:00.000+05:30</published><updated>2006-01-20T20:44:48.116+05:30</updated><title type='text'>20-01-2006</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3728/2042/1600/Image%28038%29.12.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.9.jpg" alt="" border="0" /&gt;&lt;/a&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;20-01-2006&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Apart from Oracle many RDBMS are present, Cybase, DB2 from IBM and SQL 7 from Microsoft are other RDBMSs.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Oracle is available in all platforms where as other databases have limitation for their support for other Operating Systems.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Over the years Cybase has come in race. DB2 is considered one of the toughest competitor of Oracle.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Oracle structure is similar to rather structure of other databases is similar to Oracle structure.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Oracle Architecture:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Any system has three main parts:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Storage structure.&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Memory structure.&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;I/O, process structure.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Data is stored in hard-disk. It is transferred to memory via I/O process.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Storage structure can be seen from 2 prospects:&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Logical&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Physical&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Any database is not permitted to control the hardware in fact it’s the Operating System that covers the Database Storage Management.&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Logical: It is the way Oracle looks at the data      stored.&lt;/li&gt;&lt;li class="MsoNormal" style="text-align: justify;"&gt;Physical: It is the way OS looks at the data stored.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;There is logical and physical execution of command, restoration, storage etc.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoTableGrid" style="border: medium none ; border-collapse: collapse;" border="1" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style=""&gt;   &lt;td style="border: 1pt solid windowtext; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Logical&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Physical&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Table space&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Parameter file&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Schema&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Control files&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Data files&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style=""&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt;" valign="top"&gt;   &lt;p class="MsoNormal" style="text-align: justify;"&gt;Redo log files&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Parameter file contains the parameters under which Oracle functions.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;There are about 250-300 parameters in Oracle. But under normal conditions parameter file contains at the most 50-60 parameters. They are sufficient for normal functioning of Oracle. For different and extreme environments you need to tweak the parameters.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Parameter file is a text file. In UNIX we use VI editor to edit this file and in Microsoft we use notepad to edit this file.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Parameter file comes as a sample file from Oracle Corporation. You can create your own text file. The generic name is init.ora.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;An Oracle DBA is supposed to use this file according to the environment he needs. Its syntax is initSID.ora. You can use your own name in place of SID. Say you want to use abc then name of your parameter file will be initabc.ora. Or say if you want to use xyz then name of your parameter file will be initxyz.ora so and so forth. The maximum length of name which you can use in place for SID can be of at the most 8 characters. But Oracle recommends the length to be of 4 characters. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Up to Oracle 8i, initSID.ora file was read when Oracle was booted or started to set the environment conditions as per need. It is the first file which Oracle reads while loading or booting. From Oracle 9i the concept of parameters changed completely.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Suppose you change a parameter of initSID.ora dynamically. This change would remain till server shuts down. Once the server is rebooted the dynamically made changes would no longer exist. This was the scenario before Oracle 9i. But from Oracle 9i onwards, a thought was made to store or preserve the dynamically made changes in a separate file called Spfile. Spfile stands for Sever Parameter file.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;*: There is no concept of extentions in Oracle.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Spfile is binary file of initSID.ora file. Along with the contents of initSID.ora file Spfile also contains the dynamically made changes.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Limitation of Spfile:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Suppose you change a parameter of Spfile from x=20 to say x=50. These changes would be stored in Spfile. Now if you want to change the second parameter you can’t do so because you cannot change the Spfile i.e. changes are need to be made in initSID.ora file which are then incorporated in Spfile. Thus you need to first convert already existing Spfile into initSID.ora file and then make desired changes in it. The newly formed Spfile would then contain both the changed parameters.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;Important parameters are:&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;1. Name of Database.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;2. Global Name of Database.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;3. Names of control files.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;4. db block size. Block size is edited only once, but once it is set you cannot change there after because it can lead to serious loss of data.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;5. Auditing of database.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;6. Modes of database: (MTS/DDS)&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;7. Archival destination.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;8. User dump.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;9. Background Dump.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;SGA parameters are important parameters.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113777008781031839?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113777008781031839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113777008781031839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113777008781031839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113777008781031839'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/20-01-2006.html' title='20-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113767542692209630</id><published>2006-01-19T18:26:00.000+05:30</published><updated>2006-01-19T18:27:07.006+05:30</updated><title type='text'>19-01-2006</title><content type='html'>Dependencies of three types&lt;br /&gt;Partial Dependencies.&lt;br /&gt;Transitive.&lt;br /&gt;Functional&lt;br /&gt;&lt;br /&gt;Functional Dependency is set to exist when Non Primary key is dependent on Primary key and also on the whole of primary key.&lt;br /&gt;&lt;br /&gt;For successful operation of RDBMS, normalized tables are required.&lt;br /&gt;&lt;br /&gt;Normalization is a process of identifying primary key and ensuring that all the non key attributes (all the columns in a table not a part of primary key) have full functional dependencies on the primary key and whole of the primary key.&lt;br /&gt;&lt;br /&gt;RDBMS can handle one to many relationships.&lt;br /&gt;&lt;br /&gt;Normalization can also be defined as resolving many to many relationships to one to many relationships.&lt;br /&gt;&lt;br /&gt;Degree of normalized data is measured in normal form.&lt;br /&gt;&lt;br /&gt;Oracle claims that it has implemented 11.5 rules of E.F. Codd. But few critics say that it is a false claim because according to them Oracle has implemented only 8 rules. What ever may be the controversy but fact remains that Oracle has implemented maximum rules proposed by E.F. Codd.&lt;br /&gt;&lt;br /&gt;Primary and Foreign Keys values are Functional values.&lt;br /&gt;&lt;br /&gt;Non Program Access or Non Procedural Access (E. F. Codd)&lt;br /&gt;In this method of accessing data user may not be required to know the programming to access the data. It doesn’t mean that no procedure is followed to access the data. Of course some procedure is followed but user doesn’t need to worry about it. Following the procedure is part and parcel of Database. In brief it is Database’s responsibility and not user’s. All user needs to do is to select the data he needs.&lt;br /&gt;&lt;br /&gt;For Non Procedural access we need to know different Languages. E.F. Codd proposed the language SQL. SQL stands for Structured Query Language.&lt;br /&gt;&lt;br /&gt;Different statements are as follows:&lt;br /&gt;DML à Data Manipulation Language.&lt;br /&gt;EG: Insert, Update, Delete,&lt;br /&gt;&lt;br /&gt;DLL à Create, Drop&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DCL à Data Control Language&lt;br /&gt;&lt;br /&gt;TC à Transaction.&lt;br /&gt;EG: Rollback&lt;br /&gt;&lt;br /&gt;Administration.&lt;br /&gt;EG: Startup, Shutdown and Archive.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oracle also provides procedural method called PL/SQL. PL/SQL stands for Programmable Language Structured Query Language.&lt;br /&gt;&lt;br /&gt;Next feature of RDBMS is Relational Algebra.&lt;br /&gt;&lt;br /&gt;Set of attributes is called Table. Tables are defined only by columns. Rows came after columns. You don’t need columns to define Table.&lt;br /&gt;&lt;br /&gt;Set algebra related to relational sets is called Relational Algebra.&lt;br /&gt;&lt;br /&gt;Selection&lt;br /&gt;Projection&lt;br /&gt;Intersection&lt;br /&gt;Mining&lt;br /&gt;Union&lt;br /&gt;Product&lt;br /&gt;Join&lt;br /&gt;&lt;br /&gt;Selection: Selection allows you to provide certain Laws. Selection is a process of filtering.&lt;br /&gt;&lt;br /&gt;Projection: If I want to select a particular attribute or I want to select whole set of attributes or columns then the procedure of selection is called Projection.&lt;br /&gt;&lt;br /&gt;Intersection: If there are two sets A and B and I want to select the elements common to set A and set B, then the procedure of selection of such elements is called Intersection.&lt;br /&gt;Take for instance A= {1, 3, 5, 6, 9} and B= {3, 4, 5, 8}&lt;br /&gt;Then A intersection B = {3, 5}&lt;br /&gt;&lt;br /&gt;Union: Again considering above example if I want to select the elements such that the new set includes all the elements of A and B but excluding the repeated elements then such a method of selection of elements is called Union. Therefore A union B = {1, 3, 4, 5, 6, 8, 9}&lt;br /&gt;&lt;br /&gt;We can also take union in such a manner that A union B includes the elements which are repeated as well.&lt;br /&gt;&lt;br /&gt;Product: A = {1, 3, 5} and B = {2, 4, 6}&lt;br /&gt;Then A product B = {&lt;br /&gt;(1, 2)&lt;br /&gt;(1, 4)&lt;br /&gt;(1, 6)&lt;br /&gt;(3, 2)&lt;br /&gt;(3, 4)&lt;br /&gt;(3, 6)&lt;br /&gt;(5, 2)&lt;br /&gt;(5, 4)&lt;br /&gt;(5, 6)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Scientific name of tables is called Relational.&lt;br /&gt;&lt;br /&gt;Data Dictionary:&lt;br /&gt;Tables maintained by the system or information of system stored in the form of tables is called Data Dictionary. Data Dictionary is also called Meta Data indicating that data of data. It is stored in RDBMS.&lt;br /&gt;&lt;br /&gt;Concept of Null:&lt;br /&gt;If certain value is not known or not applicable then it is called Null. Null is not equal to other null. Because either both are unknown or not applicable. Arithmetic of null is also null.&lt;br /&gt;EG: null + 3 = null&lt;br /&gt;&lt;br /&gt;Null Value Locator (NVL):&lt;br /&gt;It is denoted by (x, 0) for addition and (x, 1) for multiplication. If we know the value of x then of course we will use it but if we don’t know the value of x then instead of making it null we can assign a value 0 for addition or 1 in case of multiplication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113767542692209630?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113767542692209630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113767542692209630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113767542692209630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113767542692209630'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/19-01-2006.html' title='19-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113767522874250699</id><published>2006-01-19T18:17:00.000+05:30</published><updated>2006-01-19T18:23:48.870+05:30</updated><title type='text'>18-01-2006</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3728/2042/1600/Image(038).10.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3728/2042/200/Image%28038%29.7.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Oracle is RDBMS. RDBMS stands for Relational Data Base Management System. It was proposed by Dr. Edgar F. Codd. This database system was not widely accepted because majority of population at that time consisted of people belonging to commerce and accounts. Its obvious that all applications and softwares were also made for their use. How ever RDBMS required usage of set theory which is branch of Mathematics and Arithmetics. This was not easily digestible to them. Hence it faced lot of opposition.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Update Anomaly. (If we have to update particular entity and in case that entity is present at no of places then there are chances that we may forget to change that entity at some place. )&lt;br /&gt;&lt;br /&gt;Deletion Anomaly. ( If we delete some data the other data should remain intact. Take for example that if  particular student has completed his course and hence leaving the institute then his account needs to be get deleted. But in that case other entities like Subject detail, Fees detail, Duration and phone no etc will also get deleted.)&lt;br /&gt;&lt;br /&gt;Insertion Anomaly. (Using this method of storing data we can store data for only the items which we have presently in our hand. Suppose a new course is started then it is not possible to make its entry.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Transitive Dependencies:&lt;br /&gt;When non primary key attributes depends on other non primary key attributes which in turn depends on some primary key attributes then it is called Transitive Dependencies.&lt;br /&gt;&lt;br /&gt;Concept of Relational:&lt;br /&gt;The meaning of the term relational is when the data is stored in the tables are related to each other through a common column as well as in each table all the attributes are related to each other by way the common functional dependencies on the primary key. The relation between the two tables typically represent the natural relation between the two entities. In the real world, entities are never isolated but they are always related to each other.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113767522874250699?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113767522874250699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113767522874250699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113767522874250699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113767522874250699'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/18-01-2006.html' title='18-01-2006'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113759219026593881</id><published>2006-01-18T19:14:00.000+05:30</published><updated>2006-01-18T19:19:50.380+05:30</updated><title type='text'>RDBMS and its MAKER</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3728/2042/1600/200px-Edgar_F_Codd.jpg"&gt;&lt;img style="CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3728/2042/200/200px-Edgar_F_Codd.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;A relational database management system (RDBMS) is a &lt;a title="Database management system" href="http://en.wikipedia.org/wiki/Database_management_system"&gt;database management system&lt;/a&gt; (DBMS) that is based on the &lt;a title="Relational model" href="http://en.wikipedia.org/wiki/Relational_model"&gt;relational model&lt;/a&gt; as introduced by &lt;a title="Edgar F. Codd" href="http://en.wikipedia.org/wiki/Edgar_F._Codd"&gt;Edgar F. Codd&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Edgar F. "Ted" Codd (&lt;a title="August 23" href="http://en.wikipedia.org/wiki/August_23"&gt;August 23&lt;/a&gt;, &lt;a title="1923" href="http://en.wikipedia.org/wiki/1923"&gt;1923&lt;/a&gt; – &lt;a title="April 18" href="http://en.wikipedia.org/wiki/April_18"&gt;April 18&lt;/a&gt;, &lt;a title="2003" href="http://en.wikipedia.org/wiki/2003"&gt;2003&lt;/a&gt;) was a &lt;a title="United Kingdom" href="http://en.wikipedia.org/wiki/United_Kingdom"&gt;British&lt;/a&gt; &lt;a title="Computer science" href="http://en.wikipedia.org/wiki/Computer_science"&gt;computer scientist&lt;/a&gt; who made seminal contributions to the theory of &lt;a title="Relational database" href="http://en.wikipedia.org/wiki/Relational_database"&gt;relational databases&lt;/a&gt;. While working for &lt;a title="International Business Machines" href="http://en.wikipedia.org/wiki/International_Business_Machines"&gt;IBM&lt;/a&gt;, he created the &lt;a title="Relational model" href="http://en.wikipedia.org/wiki/Relational_model"&gt;relational model&lt;/a&gt; for database management. He made other valuable contributions to &lt;a title="Informatics" href="http://en.wikipedia.org/wiki/Informatics"&gt;Informatics&lt;/a&gt;, but the relational model, a very influential general theory of data management, remains his most memorable achievement.&lt;br /&gt;[&lt;a title="Edgar F. Codd" href="http://en.wikipedia.org/w/index.php?title=Edgar_F._Codd&amp;action=edit&amp;amp;section=1"&gt;edit&lt;/a&gt;]&lt;br /&gt;&lt;a id="Biography" name="Biography"&gt;&lt;/a&gt;&lt;br /&gt;Biography&lt;br /&gt;Edgar Frank Codd was born at &lt;a title="Portland, Dorset" href="http://en.wikipedia.org/wiki/Portland%2C_Dorset"&gt;Portland, Dorset&lt;/a&gt;, in England. He studied &lt;a title="Mathematics" href="http://en.wikipedia.org/wiki/Mathematics"&gt;mathematics&lt;/a&gt; and &lt;a title="Chemistry" href="http://en.wikipedia.org/wiki/Chemistry"&gt;chemistry&lt;/a&gt; at &lt;a title="Exeter College, Oxford" href="http://en.wikipedia.org/wiki/Exeter_College%2C_Oxford"&gt;Exeter College&lt;/a&gt;, &lt;a title="Oxford University" href="http://en.wikipedia.org/wiki/Oxford_University"&gt;Oxford&lt;/a&gt;, before serving as a pilot in the &lt;a title="Royal Air Force" href="http://en.wikipedia.org/wiki/Royal_Air_Force"&gt;Royal Air Force&lt;/a&gt; during the &lt;a title="World War II" href="http://en.wikipedia.org/wiki/World_War_II"&gt;Second World War&lt;/a&gt;. In &lt;a title="1948" href="http://en.wikipedia.org/wiki/1948"&gt;1948&lt;/a&gt; he moved to &lt;a title="New York" href="http://en.wikipedia.org/wiki/New_York"&gt;New York&lt;/a&gt; to work for IBM as a mathematical &lt;a title="Programmer" href="http://en.wikipedia.org/wiki/Programmer"&gt;programmer&lt;/a&gt;. In &lt;a title="1953" href="http://en.wikipedia.org/wiki/1953"&gt;1953&lt;/a&gt;, angered by Senator &lt;a title="Joseph McCarthy" href="http://en.wikipedia.org/wiki/Joseph_McCarthy"&gt;Joseph McCarthy&lt;/a&gt;, Codd moved to &lt;a title="Ottawa" href="http://en.wikipedia.org/wiki/Ottawa"&gt;Ottawa&lt;/a&gt;, &lt;a title="Canada" href="http://en.wikipedia.org/wiki/Canada"&gt;Canada&lt;/a&gt;. A decade later he returned to the &lt;a title="United States" href="http://en.wikipedia.org/wiki/United_States"&gt;USA&lt;/a&gt; and received his doctorate in computer science from the &lt;a title="University of Michigan" href="http://en.wikipedia.org/wiki/University_of_Michigan"&gt;University of Michigan&lt;/a&gt; in &lt;a title="Ann Arbor, Michigan" href="http://en.wikipedia.org/wiki/Ann_Arbor%2C_Michigan"&gt;Ann Arbor&lt;/a&gt;. Two years later he moved to &lt;a title="San Jose, California" href="http://en.wikipedia.org/wiki/San_Jose%2C_California"&gt;San Jose, California&lt;/a&gt; to work at &lt;a title="IBM" href="http://en.wikipedia.org/wiki/IBM"&gt;IBM&lt;/a&gt;'s &lt;a title="Almaden Research Center" href="http://en.wikipedia.org/wiki/Almaden_Research_Center"&gt;Almaden Research Center&lt;/a&gt;.&lt;br /&gt;In the &lt;a title="1960s" href="http://en.wikipedia.org/wiki/1960s"&gt;1960s&lt;/a&gt; and &lt;a title="1970s" href="http://en.wikipedia.org/wiki/1970s"&gt;1970s&lt;/a&gt; he worked out his theories of data arrangement, issuing his paper "A Relational Model of Data for Large Shared Data Banks" in 1970, after an internal IBM paper one year earlier. To his disappointment, IBM proved slow to exploit his suggestions until commercial rivals started implementing them.&lt;br /&gt;Initially, IBM refused to implement the relational model in order to preserve revenue from &lt;a title="IMS/DB" href="http://en.wikipedia.org/wiki/IMS/DB"&gt;IMS/DB&lt;/a&gt;. Codd then showed IBM customers the potential of the implementation of its model, and they in turn pressured IBM. Then IBM included in its &lt;a title="Future System" href="http://en.wikipedia.org/wiki/Future_System"&gt;Future System&lt;/a&gt; project a &lt;a title="System R" href="http://en.wikipedia.org/wiki/System_R"&gt;System R&lt;/a&gt; subproject — but put in charge of it developers who where not thoroughly familiar with Codd ideas, and isolated the team from Codd. As a result, they did not use Codd's own &lt;a title="Alpha" href="http://en.wikipedia.org/wiki/Alpha"&gt;Alpha&lt;/a&gt; language but created a non-relational one, &lt;a title="SEQUEL" href="http://en.wikipedia.org/wiki/SEQUEL"&gt;SEQUEL&lt;/a&gt;. Even so, &lt;a title="SEQUEL" href="http://en.wikipedia.org/wiki/SEQUEL"&gt;SEQUEL&lt;/a&gt; was so superior to pre-relational systems that it was copied, based on pre-launch papers presented at conferences, by &lt;a title="Larry Ellison" href="http://en.wikipedia.org/wiki/Larry_Ellison"&gt;Larry Ellison&lt;/a&gt; in his &lt;a class="new" title="Oracle DBMS" href="http://en.wikipedia.org/w/index.php?title=Oracle_DBMS&amp;action=edit"&gt;Oracle DBMS&lt;/a&gt;, which actually reached market before &lt;a title="SQL/DS" href="http://en.wikipedia.org/wiki/SQL/DS"&gt;SQL/DS&lt;/a&gt; — due to the then-already proprietary status of the original moniker, SEQUEL had been renamed &lt;a title="SQL" href="http://en.wikipedia.org/wiki/SQL"&gt;SQL&lt;/a&gt;.&lt;br /&gt;Codd continued to develop and extend his relational model, sometimes in collaboration with &lt;a title="Christopher J. Date" href="http://en.wikipedia.org/wiki/Christopher_J._Date"&gt;Chris Date&lt;/a&gt;. One of the normalized forms in &lt;a title="Database normalization" href="http://en.wikipedia.org/wiki/Database_normalization"&gt;Database normalization&lt;/a&gt; — the &lt;a title="Boyce-Codd Normal Form" href="http://en.wikipedia.org/wiki/Boyce-Codd_Normal_Form"&gt;Boyce-Codd Normal Form&lt;/a&gt;, is named after Codd. As the relational model started to become fashionable in the early &lt;a title="1980s" href="http://en.wikipedia.org/wiki/1980s"&gt;1980s&lt;/a&gt;, Codd fought a sometimes bitter campaign to prevent the term being misused by database vendors who had merely added a relational veneer to older technology. As part of this campaign, he published his &lt;a title="Codd's 12 rules" href="http://en.wikipedia.org/wiki/Codd%27s_12_rules"&gt;12 rules&lt;/a&gt; to define what constituted a relational database. His campaign extended to the &lt;a title="SQL" href="http://en.wikipedia.org/wiki/SQL"&gt;SQL&lt;/a&gt; language, which he regarded as an incorrect implementation of the theory. This made his position in &lt;a title="IBM" href="http://en.wikipedia.org/wiki/IBM"&gt;IBM&lt;/a&gt; increasingly difficult, so he left to form his own consulting company with &lt;a title="Christopher J. Date" href="http://en.wikipedia.org/wiki/Christopher_J._Date"&gt;Chris Date&lt;/a&gt; and others.&lt;br /&gt;Edgar Codd also coined the term &lt;a title="OLAP" href="http://en.wikipedia.org/wiki/OLAP"&gt;OLAP&lt;/a&gt; and wrote the twelve laws of online analytical processing. Codd also contributed knowledge in the area of &lt;a title="Cellular automata" href="http://en.wikipedia.org/wiki/Cellular_automata"&gt;cellular automata&lt;/a&gt;.&lt;br /&gt;Codd received a &lt;a title="Turing Award" href="http://en.wikipedia.org/wiki/Turing_Award"&gt;Turing Award&lt;/a&gt; in &lt;a title="1981" href="http://en.wikipedia.org/wiki/1981"&gt;1981&lt;/a&gt;.&lt;br /&gt;Edgar F. Codd died of &lt;a title="Heart failure" href="http://en.wikipedia.org/wiki/Heart_failure"&gt;heart failure&lt;/a&gt; at his home in &lt;a class="new" title="Williams Island, Florida" href="http://en.wikipedia.org/w/index.php?title=Williams_Island%2C_Florida&amp;amp;action=edit"&gt;Williams Island, Florida&lt;/a&gt; at the age of 79 on Friday &lt;a title="April 18th" href="http://en.wikipedia.org/wiki/April_18th"&gt;April 18th&lt;/a&gt;, 2003.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;History of the term&lt;br /&gt;Codd introduced the term in his seminal paper &lt;a class="external text" title="http://www.acm.org/classics/nov95/toc.html" href="http://www.acm.org/classics/nov95/toc.html"&gt;"A Relational Model of Data for Large Shared Data Banks"&lt;/a&gt;. In this paper and later papers he defined what he meant by relational. One well-known definition of what constitutes a relational database system is &lt;a title="Codd's 12 rules" href="http://en.wikipedia.org/wiki/Codd"&gt;Codd's 12 rules&lt;/a&gt;. However, many of the early implementations of the relational model did not conform to all of Codd's rules, so the term gradually came to describe a broader class of database systems. At a minimum, these systems:&lt;br /&gt;presented the data to the user as relations (a presentation in tabular form, i.e. as a collection of tables with each table consisting of a set of rows and columns, can satisfy this property)&lt;br /&gt;provided relational operators to manipulate the data in tabular form&lt;br /&gt;The first systems that were relatively faithful implementations of the relational model were from the IBM UK Scientific Centre at Peterlee; &lt;a title="IS1" href="http://en.wikipedia.org/wiki/IS1"&gt;IS1&lt;/a&gt; (1970-1972) and its followon &lt;a title="PRTV" href="http://en.wikipedia.org/wiki/PRTV"&gt;PRTV&lt;/a&gt; (1973-1979). The first system sold as an RDBMS was &lt;a title="Multics Relational Data Store" href="http://en.wikipedia.org/wiki/Multics_Relational_Data_Store"&gt;Multics Relational Data Store&lt;/a&gt;, first sold in &lt;a title="1978" href="http://en.wikipedia.org/wiki/1978"&gt;1978&lt;/a&gt;. Others have been &lt;a title="Berkeley Ingres QUEL" href="http://en.wikipedia.org/wiki/Berkeley_Ingres_QUEL"&gt;Berkeley Ingres QUEL&lt;/a&gt; and &lt;a title="IBM BS12" href="http://en.wikipedia.org/wiki/IBM_BS12"&gt;IBM BS12&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Current usage&lt;br /&gt;There is some disagreement about what a "relational" DBMS is.&lt;br /&gt;The most popular definition of a RDBMS is relatively imprecise; some argue that merely presenting a view of data as a collection of rows and columns is sufficient to qualify as a RDBMS. Typically, products that qualify as a RDBMS under this interpretation implement some of Codd's 12 rules, but most popular database systems do not support them all.&lt;br /&gt;A second school of thought argues that if a database does not implement all of Codd's rules, it is not relational. This view, shared by many theorists and other strict adherents to Codd's principles, would disqualify many database systems as not "truly relational". In fact, any database that uses the &lt;a title="SQL" href="http://en.wikipedia.org/wiki/SQL"&gt;SQL&lt;/a&gt; (Structured Query Language) to access and modify data is not an RDBMS under this definition. Advocates of this philosophy refer to systems that follow some but not all of the rules as Pseudo-Relational Database Management Systems (PRDBMS). For clarification, they often refer to RDBMSs that do follow all of the rules as Truly-Relational Database Management Systems (TRDBMS).&lt;br /&gt;Today, almost all RDBMSs employ SQL as their query language but alternatives have been proposed and implemented. Alphora's &lt;a title="Dataphor" href="http://en.wikipedia.org/wiki/Dataphor"&gt;Dataphor&lt;/a&gt; is a commercially available RDBMS that follows all of Codd's rules - both groups recognising it as a RDBMS.&lt;br /&gt;&lt;br /&gt;Dynamic variations&lt;br /&gt;Another common complaint about existing RDBMS is that they are too "static". Speculation is starting to build about the next generation of "dynamic relational" database systems in which columns can be dynamically "created", dynamically sized, and dynamically typed (or type-free, also known as "context typing" in some circles). Each row could be implemented as a map (dictionary or associative array) and missing columns for any given row are simply represented as blank or empty. Some say this violates the true relational model, but others counter that a map is an only an implementation detail. In this viewpoint, a "missing column" is simply a matter of interpretation and presentation choice. Such a system could be used where rapid prototyping or competitive agility is necessary for the particular domain (industry). It may also simplify database usage with dynamic programming languages such as Perl, Ruby, PHP, etc. Extensions may allow formal schemas to be added gradually such that some columns can be designated "required" and/or given specific types or formatting rules&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113759219026593881?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113759219026593881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113759219026593881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113759219026593881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113759219026593881'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/rdbms-and-its-maker.html' title='RDBMS and its MAKER'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113750054527157795</id><published>2006-01-17T17:51:00.000+05:30</published><updated>2006-01-17T17:52:25.353+05:30</updated><title type='text'>Technical Facts About Oracle</title><content type='html'>Technical Facts About Oracle&lt;br /&gt;Published at Talus Software&lt;br /&gt;&lt;a href="http://www.talussoftware.com/"&gt;http://www.talussoftware.com/&lt;/a&gt;&lt;br /&gt;September 18, 2003&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;The Oracle database does not store numbers in IEEE format. IEEE is the lingua franca of CPUs. Therefore, even before you start laying out your tables' definitions, Oracle will make your performance suffer. Oracle must translate needless billions of numbers between it and your apps . . . and there is no work-around for this. The speed that you should have is not possible with Oracle.&lt;br /&gt;2&lt;br /&gt;Oracle page chains when a column's size increases. That means that a single row splits into uncontiguous fragments each time a column increases its size. Change a null to a string and the row has a new page chain. Change a column from "hello" to "hello world" and the row page chains again. Null, varchar and all number columns are subject to page chaining. Yes . . . even number columns--because Oracle stores all numbers as variable length columns (verifiable with vsize()). The larger the number, the more bytes required. Update a column with a smaller number--you waste space. Update a column with a larger number--you now have a page chain. Page chaining is a tremendous performance hit. If you have a 40,000 row table and one of its columns is null, then you update the columns to "hello world", your table now has 40,000 page chains. Oracle DBAs suggest that you make such columns char. You may add terabytes of blanks to your table, but you won't page chain.&lt;br /&gt;&lt;br /&gt;As opposed to Oracle, Sybase never page chains (except for image or text data types). A single row is always contiguous. And all numbers are fixed length. Therefore, Sybase does not have to search and put together all the pieces of a single row. They are already together.&lt;br /&gt;3&lt;br /&gt;Oracle 8i does not support bit operators. Oracle 9i introduces the BITAND operator, but only the BITAND operator. Since Oracle does not store IEEE integer formats, every bit operation consumes tens of thousands of clock cycles instead of a single cycle. Yet another performance hit. If your application performs frequent bit comparisons and needs the results fast, it is imperative that you go with Sybase or Microsoft SQL Server. Sybase and Microsoft store standard IEEE datatypes. and hence use the standard bit operators like "update table set bitmask = bitmask 66536" Under the covers, Sybase and Microsoft are doing a simple single CPU instruction.I have written a set of PL/SQL bit functions as a tourniquet for Oracle. They are in DBPowerSuite under the ./dbaccess/scripts/oracle directory. However, because they are functions, the Oracle optimizer will be inefficient with them . . . but you have no choice with Oracle.&lt;br /&gt;4&lt;br /&gt;Oracle has at least three different languages: Server SQL, SQL*Plus and PL/SQL. The three languages imply functionality and "the most controllable database in the world." But that is a Oracle propaganda. The three languages stem only from the fact that the first language Oracle had invented failed to do what it must; therefore, Oracle developed a second. Since the second language was no good either, Oracle invented a third. Since Oracle could never get it right, they settled for a fusion of the three using bubblegum as the conduit. The bubblegum consists of "BIND", Oracle's weird "version" of dynamic SQL., and the DBMS_OUTPUT package. But even the conduit has major flawsSeveral Oracle fans e-mailed me saying "There is only one SQL language in Oracle. They are all the same." Another person, on the other hand, admitted the disparity and defended it. He said, "SQL*Plus and PL/SQL are a wonderful example of the dichotomy between I/O and the procedural . . . unlike the Sybase potpourri." To him I say, "The mouth and brain is a wonderful example of the dichotomy between I/O and the procedural. But unlike Oracle, the mouth and brain have seamless connections, do not require the user to build nerves and synapses, and do not require an elbow to make them work. "&lt;br /&gt;&lt;br /&gt;The next several points illustrate this.&lt;br /&gt;&lt;br /&gt;5&lt;br /&gt;PL/SQL blocks within a SQL*Plus script ignore SQL*Plus's 'set autocommit on'. Committing transactions within PL/SQL is independent from the SQL*Plus in which the PL?SQL is embedded. The commit syntax is also different.&lt;br /&gt;6&lt;br /&gt;You cannot write any DDL with PL/SQL. 'create table' is invalid with PL/SQL. To the Sybase user, that is like saying that you cannot create a table within a stored procedure. If you want to create tables in an Oracle stored procedure, you have to use dynamic SQL. The table definition may be static, but you have to use dynamic SQL because PL/SQL cannot create tables to begin with. This is an up-front misuse of dynamic. Oracle's dynamic SQL has a different and obtuse syntax. You will have to learn it. Also, any future DML statements in your PL/SQL stored procedure that manage that table will also have to be in Oracle dynamic syntax. After all, you cannot write insert statements into a table which Oracle doesn't think exists.&lt;br /&gt;7&lt;br /&gt;You must have special permission in Oracle to create a table in a PL/SQL dynamic statement. You must have CREATE ANY TABLE permission. You may already have the ability to "CREATE TABLE X", but if you use dynamic SQL to do the exact same thing, you don't have the permission.&lt;br /&gt;8&lt;br /&gt;There is no if statement in SQL*Plus. "if ..., then ...." is impossible with Oracle. It is a standard in Oracle for a programmer to issue SQL*Plus DDL commands knowing that they will fail. You just let SQL*Plus generate an error. That is normal for Oracle. The problem is that "error" means error. One's attention is drawn to it. Each one requires examination. DBAs hate this stuff. Customers hate this stuff. Tech support hates this stuff. The typical tech support's response is "Yeah, that error is okay but that is normal for Oracle."To attempt to handle the error, you can introduce the WHENEVER SQLERROR clause in SQL*Plus, but that is only a Band-Aid. That does not prevent the error to begin with. You can also spool out a SQL command generated from a prior select from USER_TABLES, and then execute this spooled file later. The latter method is the best choice to prevent errors. But the method is just another kludge. It introduces a timing problem for the transaction, and you will also find yourself executing empty commands . . . but that is normal for Oracle.&lt;br /&gt;9&lt;br /&gt;Even though you can do a "select col1, col2 . . . from table" in Server SQL, you cannot do a standard select statement in PL/SQL. This tells you that Oracle does not support result sets. Oracle users will rebuke me, "Oracle does support result sets!" But when you read the Oracle manual, Oracle's definition of a result set is not the same. Oracle purposely introduced the term result set only so that Oracle fans can say, "We support result sets." It was a marketing ploy only. A result set implies nothing in Oracle. Oracle has no concept of parameter result sets, row result sets, cursor result sets, compute result sets, etc., nor the concept of result sets arriving in a stream to the client.&lt;br /&gt;10&lt;br /&gt;You cannot print anything to your screen from within a PL/SQL block in real time. If you want to print out the current iteration of a cursor, just forget it. If you want to print the rows of a cursor as they are being selected, just forget it. Oracle is incapable of doing it. Oracle buffers all the output from a PL/SQL block for printing until after the PL/SQL block completes. Even at that, Oracle limits you to 1 MB of buffer after which SQL*Plus blows up. So, when you have a long running loop, there is no way to tell your user about the progress of your loop. To the user, it looks like your script doesn't work. But that is normal for Oracle. Oracle programmers will spend a day of programming just to simulate a simple Sybase print command.&lt;br /&gt;11&lt;br /&gt;In Oracle, you can only execute one SQL command at a time. Oracle has no concept of a batch. This is true in SQL*Plus as well as through ODBC. So, I assume this is a basic Oracle design limitation. In Sybase, you can send 100s of commands in a batch-- an operation which takes only a single network I/O. In Oracle, you must execute 100s of commands to accomplish the same thing. In Sybase, you load up 100 commands in your car and go to the shop and have them all serviced at one time. In Oracle, you must load you car 100 times, go to the shop 100 times, and have each command serviced one at a time.&lt;br /&gt;12&lt;br /&gt;Oracle does not support client-side timeouts. In Sybase, you can program your client to timeout if the server doesn't respond to a login request or to a query in a settable time. This mechanism allows your client to recover gracefully when the server or network has a problem. Oracle offers no such mechanism. In Oracle, you have to kill -9 your client. If you are a capable programmer and have an extra three man-months to spare, you can program threads into your own client which handle timeouts in lieu of Oracle's inability to do so for itself.&lt;br /&gt;13&lt;br /&gt;When creating a stored procedure using SQL*Plus, you may have errors in your procedure. The best error message Oracle can give you is "Procedure created with warnings or errors." One would think Oracle would be more specific. You actually have to go out of your way to request more information. You must additionally type SHOW ERRORS. Note that the error message implies that Oracle will create a procedure with errors in it.&lt;br /&gt;14&lt;br /&gt;Ever try to change your line width in SQL*Plus on Solaris? Do it and then select from the dictionary. Watch SQL*Plus core dump. SQL*Plus has been core dumping for years.&lt;br /&gt;15&lt;br /&gt;Oracle is inconsistent with the quoted identifier feature. Your company may literally waste man months of work over each instance of this problem. As you know, in Oracle you can use a reserved word for a table name if you put quotes around it. The problem is, is that Oracle will let you get by with a reserved word without quotes in one instance but blow up months later when you try to use it another. For example: create table CLUSTERS. This command works even though CLUSTERS is a reserved word. You can also select * from CLUSTERS. But try: . . .where CLUSTID not in (select CLUSTID from CLUSTERS) and watch Oracle blow up. While I can create a CLUSTERS table and select from it, I cannot refer to CLUSTERS in a subquery. The grammar rules of Oracle SQL change within Oracle SQL. A true linguistic nightmare.&lt;br /&gt;16&lt;br /&gt;The Oracle data dictionary stores all its object names in upper case. This is a throwback from the 7-bit ASCII days of the 1960s. Oracle allows you to access the object in upper case, lower case and mixed case. That is fine. But that concept doesn't work for object names where you have used the quoted identifier. Given create table TEST, you can select * from test, but you cannot select * from "test". Oracle regards this as a feature. Any object-name within quotes will be copied exactly to the data dictionary; yet that is not so for normal unquoted objects. This is another major inconsistency. Because of the reserved word problem, it is tempting to just put quotes around everything. If you do that, however, then all the object names in your SQL scripts have to match exactly those in the data dictionarySybase is refreshing after this particular Oracle nightmare. Sybase is simply consistent. What you create is what you get.&lt;br /&gt;17&lt;br /&gt;A blank line within a SQL command in SQL*Plus is a syntax error. Actually, it is a feature. A blank line tells SQL*Plus to erase your last command. Any leftover SQL clause following your blank line therefore blows up. To the Oracle user this is normal; to the Sybase user this is stupid. Sybase ignores blank lines and reset is the command to erase your last command. The problem is this. You have to make sure all your SQL scripts do not have mid-command blank lines, because SQL*Plus will treat each blank line as an error. Some third party code generation programs are lax with Oracle's wonderful feature, and so those code generation programs will not work with Oracle. In Sybase this problem never happens because Sybase has architecture.You can change this SQL*Plus default behavior by set sqlblanklines on.&lt;br /&gt;18&lt;br /&gt;The problem of not being able to drop the childmost table without the "cascade constraints" clause has been fixed in 9.2.&lt;br /&gt;19&lt;br /&gt;Oracle is incapable of truncating an parent table. A parent table is a table has incoming referential integrity constraints. It doesn't matter if the table is already empty. It doesn't matter if all its child tables are empty. You have to disable its RI constraints. The extra coding to disable and then reenable RI constraints before and after truncation, is substantial and a waste of time. The operation is logically unnecessary.&lt;br /&gt;20&lt;br /&gt;The system manager (Sybase equivalent of "sa") is not allowed to grant permissions on a user's objects to other users. In other words, the system manager does not have the permissions to manage the system. In Oracle, only the user himself can grant others permissions to his objects. Oracle calls this a feature.&lt;br /&gt;21&lt;br /&gt;You cannot create a read-only view in your own schema which reads from tables in another user's schema. You may have select permissions on the other user's tables, but that doesn't matter to Oracle.&lt;br /&gt;22&lt;br /&gt;Avoid creating views based on large tables. Avoid creating views based on views. Oracle's optimizer is extremely lousy at finding the fastest way to the data. Whereas Sybase can return results of a third generation view based on a 20 million row table in 45 minutes, Oracle can never figure it out, even after days of processing, for a table that is 1/20th the size. This Oracle behavior will force you to create work tables, which is what you tried to avoid in the first place.&lt;br /&gt;23&lt;br /&gt;Oracle has screwed up the definition of the null set. NULL has a specific meaning in mathematics, yet Oracle gets it wrong. In math, the null set is the set containing nothing--the empty set. In Oracle, the null set also includes the set containing 0-length strings. The ramifications are severe: 1) An application can no longer discern if a varchar2 column has been touched or not. (An empty string usually means that a user entered data even though the data has no length. A NULL means that the user never touched the column in the first place) and 2) You can longer use a varchar2 as one of the columns in a primary key if it is possible that the varchar2 value is "". The latter limitation will force the DB designer to use a heap table instead of the more desirable index-organized table. That will increase the size of the table significantly and thus will slow down access to it. All this slowness and excess bulk because Oracle has adopted a math convention akin to 0 + 1 = 0.&lt;br /&gt;24&lt;br /&gt;Oracle is single-threaded. Look at your process list (Solaris). Every connection to Oracle has its own process. The listener is its own process. The writer has its own process. The monitor has its own process. Each connection has its own process. In Sybase, all connections and listeners are threads inside the dataserver.&lt;br /&gt;25&lt;br /&gt;Oracle has actually planned a core dump directory for itself. That should tell you something. Note that is it full all the time.&lt;br /&gt;26&lt;br /&gt;Oracle only supports one database per server. Sybase supports 32,767 databases per server.&lt;br /&gt;27&lt;br /&gt;Oracle uses the temporary tablespace to build the indexes of create index commands. If you are creating a large index, your temporary tablespace better be huge too. Hint: make sure your init.ora variable SORT_AREA_SIZE is about 20 MB and that you have turned off logging in the temporary tablespace. If you don't do these two things, Oracle may never complete your create index command.&lt;br /&gt;28&lt;br /&gt;Oracle will use rollback segments to create the indexes. The problem is, is that whether the index gets created or not, there is no need to log any of the rows of an index to the rollback segment or to the redo logs. Either you can create the index or not. So there is no reason to log individual rows of the index. Nonetheless, Oracle will consume gobs of time and resources to log them.&lt;br /&gt;29&lt;br /&gt;Oracle will use the redo logs to create an index.&lt;br /&gt;30&lt;br /&gt;Oracle will step over its own shared memory bounds set in the init.ora file when creating a large enough index. Once it steps over its bounds, no one can log in anymore because Oracle not only had overstepped its bounds, but also it had leaked all the shared memory.&lt;br /&gt;31&lt;br /&gt;To the person who knows only Oracle, core dump directories, index logging, single-threaded and one-database servers are the trappings of home. To the Sybase user, they are museum relics from Jurassic Park. Sybase does not log the rows of an index. Sybase does not use the temporary database to form permanent indexes. Sybase does not have a rollback segment to also log temporary transactions, as if you would want to do that in the first place. And so, the Sybase user is surprised when it takes Oracle 16 hours to build a unique index on a large table whereas to took 40 minutes to build the same index on the same table in Sybase. I became aware that all this was happening when I tried to build an index and saw Oracle run out of temporary tablespace, run out of rollback segment space (2.5 GB), while busily writing to the redo logs. There is a way to ease the pain of this logging. Shut off logging in the temporary tablespaces and in the rollback segments tablespaces.&lt;br /&gt;32&lt;br /&gt;Oracle will log every row in the index to its rollback segments. Oracle uses rollback segments for everything without exception, and even for objects in the temporary tablespace. An index will be logged twice--one for the rows being generated in the permanent tablespace and again for rows being temporary written to in the temporary tablespace.&lt;br /&gt;33&lt;br /&gt;SQL*Plus does not inform you if you have run out of rollback segment while creating an index. It just hangs forever. You have to suspect something is up. You have to continuously view the alert log. tail -f alert.log . . . is normal for Oracle.&lt;br /&gt;34&lt;br /&gt;Point 34 used to slam Oracle's inability to create indexes based on dictionary order. However, in the light of Oracle's function-based indexes, this is not a concern. For review, Sybase users can set up their servers to process search clauses, order by, and case senstivity by setting up server-wide collating sequences. While Oracle doesn't handle that type of in-built automation, Oracle does support function-based indexes. Though function-based indexes require more syntax and are probably never needed aside from collating sequences, you could say that Oracle beats Sybase in flexibility for this one aspect.&lt;br /&gt;35&lt;br /&gt;The network configuration assistant program (netca) on Solaris will erase your entire tnsnames.ora and listener.ora files when you tell it to "Cancel and discard your changes." To the Sybase user, that is like quitting sybsetup or asecfg and having it erase the entire interfaces file.&lt;br /&gt;36&lt;br /&gt;The create database command does not load all the necessary SQL scripts to make the database a database. In Sybase, the equivalent is issuing a create database command and finding that the created database does not have system tables.&lt;br /&gt;37&lt;br /&gt;In Oracle, a database is a server. Oracle only supports one database per server. For each database you want in Oracle, you must run the equivalent of asecfg; that is, dbassist. So, a Sybase DBA who is used to managing 5000 databases on a single server is going to have to run 5000 iterations of dbassist to create his 5000 databases.Now dbassist is a trip in itself. Note that when dbassist generates a script to create the database, the script does not do any error checking. You can literally get thousands of errors and Oracle will say, "Database successfully installed." Remember that DDL errors are normal for Oracle. If you program Oracle, you do not even try to make your program error free because true DDL error handling is not part of Oracle's "architecture." Was the database installed correctly? Of course not.&lt;br /&gt;38&lt;br /&gt;Note that dbassist is incompatible with itself . After you ask dbassist to clean up after an unsuccessful generated script run, dbassist not only removes the database, but also removes the directory structure that your script initially requires. The script you just generated after spending an hour answering dbassist questions, no longer works. You have no choice but to answer all the questions again, even if you answer them the same way.&lt;br /&gt;39&lt;br /&gt;You cannot tell Oracle to use a specific rollback segment for an import. If you are importing a large table with a large index, you must first take all the small rollback segments offline so that Oracle must choose the large rollback segment when doing the import. Remember, Oracle even uses rollback segments to create an index. While you can bust up the import of the table data into smaller transactions with a COMMIT=Y, you cannot bust up the index creation into separate smaller transactions. (This index transaction limitation does not exist in Sybase since Sybase doesn't log the individual rows created during a create index.)&lt;br /&gt;40&lt;br /&gt;You cannot create an index organized table from a heap table or vice-versa. In Sybase lingo, you cannot create or drop a clustered index on an existing table. This has awful and severe consequences. When you need to import a lot of data into your clustered index table, it is always much faster (up to 50x faster) to import the data without the clustered index being present, even if it means the table being recopied. In Oracle, you are stuck. You cannot change an index organized table to a heap table for loading. Therefore, the load will take forever. The work-around is to create a non-clustered index instead. That will effectively double your table's lookup time. In addition, if your index contains most of the columns in your table, then you have doubled the size of your table as well.&lt;br /&gt;41&lt;br /&gt;Here's a major Oracle kludge: The LDAP server. The LDAP server is nothing more than a super thick carpet in order to cover up the severe problem that all users in an Oracle database cannot readily share the tables of another user. There is no concept or equivalent of 'dbo' in Oracle. In Sybase, every user in a Sybase database sees the database's dbo's schema. The dbo's schema is common to all users in a table, and is an addition to the user's own schema. As a poor attempt to provide dbo-like functionality, Oracle introduces the Band-Aid concept of synonyms. If you get tired of creating 10,000 synonyms for the 10,000 objects in your database, Oracle introduces an additional Band-Aid called the LDAP server. The LDAP server is a nightmare in itself.&lt;br /&gt;42&lt;br /&gt;Oracle allows you to create a user name with a "." (dot) in it. Dots are the ANSI standard SQL character to separate the parts of a fully qualified object name. For example, "user.mytable". So, Oracle's username's embedded dots conflict with the ANSI standard. If SQL*Plus runs into any dotted user names, it core dumps. FYI, Sybase does not let you "sp_addlogin" a username with a dot in it.&lt;br /&gt;43&lt;br /&gt;Which brings up another limitation of Oracle. In Sybase, a fully qualified object name is: server.database.owner.object. In Oracle, a fully qualified object name is: owner.object. The conclusion is as bad as it is obvious. Oracle has no concept objects belonging to different databases or servers in their basic architecture. The Oracle fan will say "But you can query tables from remote servers in Oracle!" And they are right. You do it with synonyms. One synonym for every object. If you want to access 2000 tables in a remote server, you have to create and maintain 2000 synonyms. Oracle introduced the concept of synonyms to get around their architecture.&lt;br /&gt;44&lt;br /&gt;I mentioned this one in passing before: You cannot do "select col1, col2 . . . coln from mytable" in a stored procedure. In other words, Oracle stored procedures cannot return a result set. The Sybase user is instantly horrified and rightly so. Returning result sets from procs is so useful, common and easy that it is taken for granted in Sybase. But in Oracle, the way to simulate a row result set is fodder for PhD dissertations. The problem is formidable. Hordes of white papers have been sacrificed on this unholy alter. For giggles, go to google.com. Search on ODBC, Oracle and Stored Procedures. Look at all the material on the subjectThe solution is this: You pass a reference cursor as a parameter to the procedure and then use a client-side fetch on the cursor. Your stored procedure also must be bundled in an Oracle package so that you can type define your cursor. The ODBC developer realizes, "Hey! There is no ODBC parameter type SQL_REFERENCE_CURSOR. I can't pass a parameter that's a reference cursor. " The response is, "Your ODBC driver vendor must provide the reference cursor mechanism inside the driver itself . . . and hide it from the ODBC layer." The company Merant does such a thing. Hats off to them. Their ODBC drivers provide this mechanism under the covers. You still have to go through the considerable pain of setting up these special stored procedures,. But Merant has given one the avenue to simulate result sets with Oracle. In DBPowerSuite, I have included a couple of PL/SQL script examples of how to simulate row result sets in an Oracle proc given that the user is using Merant ODBC drivers.You don't even think about result sets in Sybase. Result sets are a natural feature of the territory. Just like a sunrise, one takes it for granted in Sybase. However, if you use Oracle, the sun does not rise. You have to invent the sun and a rotating earth.Program managers beware. Your database developers and DBAs will spend three times as long accomplishing a task in Oracle than they will in Sybase. That is normal for Oracle. Your developers must invent suns and rotate earths on a daily basis in Oracle. You will not find Oracle lacking functionality, but you will find its functionality convoluted, illogical, counter-intuitive, missing the mark and buried. Oracle's functionality comes this way because Oracle's architectural foundation is not adequate.&lt;br /&gt;45&lt;br /&gt;Oracle is in conflict over the meaning of ';' -- the semicolon. In SQL*Plus, the semicolon executes your command but in PL/SQL means the end of a SQL statement without executing it. To execute a PL/SQL inside SQL*Plus, you type '/' instead. This is a fundamental overlap conflict between execution commands and language syntax. It is a basic architectural flaw which one faces every day and hour when using Oracle. It drives everyone crazy, even Oracle aficionados. The Sybase user, who has grown accustomed to using good software, vomits at this behavior of Oracle. The Oracle user, who has grown accustomed to flaws and quirks, treats this as normal. In Oracle, one gets used to such bad things and gets desensitized after a while.&lt;br /&gt;46&lt;br /&gt;The import utility captures ctrl-C. Say you have 3000 tables in your dump. You get 10 tables into it and for whatever reason, you want to quit. You must type ctrl-C 2990 more times before import will exit. Consider kill -9.&lt;br /&gt;47&lt;br /&gt;Oracle's UPDATE and DELETE statements have no FROM clause. Therefore, you cannot join tables to restrict the set of rows you are updating. Instead of being consistent with the SELECT statement like Sybase, Oracle forces you to be inconsistent. It's work-around time. You now have to figure out a way to simulate a join. You have to think subqueries. Oracle forces you to write a non-intuitive subquery for each column you are setting. If you are setting 3 columns, you have to write 3 subqueries--even if your subqueries are all the same. That's 3 times the processing. The resulting syntax is so convoluted, you will have to refer to examples each time you try to do it. This single Oracle problem will cost your company thousands of dollars both in writing the original statements, and then maintaining them.&lt;br /&gt;48&lt;br /&gt;Oracle lets you create a temporary table, but then forbids you to use a storage clause. There is no reason for this. It is an annoyance which requires expensive work-arounds. For an app I wrote, I needed to create and populate a large temporary table. I declared a big minextentsso that the app would not abort hours later in case of insufficient space. I made the table temporary so that the table would automatically go away if the database connection abnormally went away. But Oracle forbids me to declare minextents for a temporary table. In order to get around this problem, I had to create permanent tables, and write a stored procedure that drops such permanent tables on demand. Another employee of the company had to write a GUI interface to stored procedure so that the customer could maintain his own database.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113750054527157795?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113750054527157795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113750054527157795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113750054527157795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113750054527157795'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/technical-facts-about-oracle.html' title='Technical Facts About Oracle'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113740519396978106</id><published>2006-01-16T15:20:00.000+05:30</published><updated>2006-01-16T15:23:13.990+05:30</updated><title type='text'>History Time Line Of Oracle!</title><content type='html'>&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;                             &lt;tbody&gt;&lt;tr&gt;                              &lt;td align="left" valign="top" width="98%"&gt;                                &lt;p&gt;&lt;img src="http://www.oracle.com/corporate/images/timelinetop.gif" height="149" width="596" /&gt;                                   &lt;img src="http://www.oracle.com/corporate/images/timeline_vert.gif" usemap="#Timeline" border="0" /&gt;&lt;br /&gt;&lt;/p&gt;       &lt;p&gt;&lt;br /&gt;      &lt;img src="http://www.oracle.com/corporate/images/oraclefirst_header.gif" alt="Oracle Firsts" height="75" width="171" /&gt;        &lt;/p&gt;       &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="2004"&gt;2004&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt; First to provide a single customer view from multiple data sources with Oracle Customer DataHub&lt;/span&gt;       &lt;/p&gt;       &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="2003"&gt;2003&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt; First to introduce Enterprise Grid Computing with Oracle 10&lt;i&gt;g&lt;/i&gt;&lt;span&gt;&lt;br /&gt;&lt;p&gt;First database that is available in                      production for 64-bit Linux with IPF.&lt;/p&gt;&lt;/span&gt;&lt;br /&gt;                  &lt;/span&gt;&lt;/p&gt;                           &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="2002"&gt;2002&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database to pass 15 industry                       standard security evaluations and first Real Application Clustering&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First native XML support in a relational                      database&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First fully integrated relational and                      multidimensional database&lt;/span&gt;&lt;br /&gt;                    &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with table compression                      on Unix, NT and Linux&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First complete and integrated business                      intelligence platform&lt;/span&gt;&lt;/p&gt;                           &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="2001"&gt;2001&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database to complete the 3 terabyte                       TPC-H world record&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database to pass over 9 industry                      standard security evaluations&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with built-in Web services&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with integrated data                      mining&lt;/span&gt;&lt;br /&gt;                    &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with support for real                      world packaged applications on a cluster&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with Hash, Range, Composite                      and List partitioning&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with dynamic memory                      management&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                     &lt;span class="bodycopy"&gt;First database with built-in workflow&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with complete online                      maintenance operations&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to support the JOLAP API&lt;/span&gt;&lt;/p&gt;                           &lt;table width="100%"&gt;                      &lt;tbody&gt;&lt;tr&gt;                        &lt;td&gt;                          &lt;div align="right"&gt;&lt;a href="http://www.oracle.com/corporate/home2.html#top"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;                       &lt;/td&gt;                      &lt;/tr&gt;                   &lt;/tbody&gt;       &lt;/table&gt;                           &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="2000"&gt;2000&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to offer complete and simple                      software for information management including the Oracle9i                      Database, Oracle9i Application Server and Oracle9i Developer                      Suite&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Provide a single data model and single                      global instance &lt;/span&gt;&lt;/p&gt;                           &lt;p&gt;&lt;span class="bodycopy"&gt;Industry's first Developer Service                      Provider (DSP)&lt;/span&gt;&lt;/p&gt;                            &lt;p&gt;&lt;span class="bodycopy"&gt;Offers a complete applications suite&lt;/span&gt;                     &lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to offer developers online services                      for application development&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to release a production framework                      for defining Web services&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Launches first online developers skills                      exchange, Oracle Technology Network (OTN) Xchange&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Introduces fully integrated application                       server for internet computing-Oracle Internet Application                      Server (Oracle9iAS)&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Introduces first internet developer                      suite&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to offer an internet file system                      built for the internet, Oracle Internet File System&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Launches Oracle Mobile, wireless applications                      service provider&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Delivers the industry's only complete                      e-business suite, Oracle E-Business Suite 11i&lt;/span&gt;&lt;br /&gt;                    &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Launches E-Business Network&lt;/span&gt;&lt;br /&gt;                  &lt;/p&gt;                           &lt;p&gt;&lt;span class="parahead1"&gt;&lt;a name="1999"&gt;1999&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to integrate Java and XML into                      an application development tool&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Launches first industry exchange, AutoXchange,                      with Ford Motor Company&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Launches complete e-business initiative&lt;/span&gt;&lt;/p&gt;                           &lt;p&gt;&lt;span class="bodycopy"&gt;Provides applications hosting (Oracle                      Outsourcing)&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Delivers first comprehensive, internet-based                       CRM suite&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Overtakes SAP in US manufacturing&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;Offers the only internet platform for                      mobile, embedded, and information appliance computing&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First relational database management                      system (RDBMS) ported to Linux&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First database with XML support&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to offer a full-featured internet                      database&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to introduce capabilities to                       use XML and SQL in Java servlets&lt;/span&gt;&lt;br /&gt;                   &lt;br /&gt;                    &lt;span class="bodycopy"&gt;First to introduce the concept of portlets                      as a way to integrate applications into an e-business portal&lt;/span&gt;&lt;br /&gt;                  &lt;/p&gt;                                                                                                  &lt;div align="right"&gt;&lt;a href="http://www.oracle.com/corporate/home2.html#top"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;       &lt;p&gt;&lt;br /&gt;      &lt;/p&gt;                              &lt;/td&gt;                             &lt;td align="left" valign="top" width="2%"&gt; &lt;/td&gt;                           &lt;/tr&gt;                          &lt;/tbody&gt; &lt;/table&gt;                           &lt;div align="right"&gt;&lt;a href="http://www.oracle.com/corporate/home2.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113740519396978106?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113740519396978106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113740519396978106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113740519396978106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113740519396978106'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/history-time-line-of-oracle.html' title='History Time Line Of Oracle!'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113740329561848583</id><published>2006-01-16T14:20:00.000+05:30</published><updated>2006-01-16T14:51:46.750+05:30</updated><title type='text'>My first day in Class!!!! (16-1-2006)</title><content type='html'>Today was my first day in class. I woke up bit late as usual. The class was at sharp 7:00 AM. But I reached at 7:10 AM. Sir was taking introduction from all students. As I entered Sir asked me to introduce my self to class. Then Sir gave introduction about himself and Oracle. He started from scratch and first thing he taught was "what is data?" Initially I was bit nervous, but as the time passed I calmed down. Sir involves you so much that you never come to how time has passed. At the end it was a nice day.&lt;br /&gt;&lt;br /&gt;Now lets come to the topic of Oracle. I will share with you what I learned today.&lt;br /&gt;&lt;br /&gt;As I told you first thing that Sir taught us was, What is Data?&lt;br /&gt;He explained it beautifully. The final conclusion was that Data is defined as Value of Property of Entity.&lt;br /&gt;&lt;br /&gt;Then Sir taught what is Database?&lt;br /&gt;In short I can just tell you that it is organisation of data.&lt;br /&gt;&lt;br /&gt;There exited a data base called Network or hierarchical Data base. Y2K problem was because of this database only.&lt;br /&gt;Explanation: Suppose you store some data. Now because you have stored the data it is quite obvious that you will need this data some time or the other. This means that method to access the data must be convinient. Suppose you want to store information about a person showing his Name, Age, Sex, Quallification, Job, Income etc... And you store it in following fashion. Suppose that you define that charachers from 1 to 20 are for Name, charachters 21 to 25 are for age, charachters 25 to 30 are for sex, charachers 30 to 50 are for Qualification so on and so forth. It just means that you have assigned particular space for particular entity and you will store that entity there only. Problem comes when you come accross such a entity that it needs more space than the space assigned by you. Take for example it can be name of any person or may be his qualification. Or it may so happen that particular person changes his name or adds more feathers to his cap there by my making his qualification more healthy. In that case if you will change one entity then other entities will also change leading to lot of chaos. Hence this database failed.&lt;br /&gt;&lt;br /&gt;What is Database Management?&lt;br /&gt;Set of protocols ( rules ) that your database follows is called database managment.&lt;br /&gt;&lt;br /&gt;This is what I learned today.&lt;br /&gt;&lt;br /&gt;Hey I just came to know today that All students who have attendence less than 75% won't be allowed to sit for NU exam and also will have to pay the fine. Its all bullshit. God is really testing me from all angles. But I am prepared for it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113740329561848583?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113740329561848583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113740329561848583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113740329561848583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113740329561848583'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/my-first-day-in-class-16-1-2006.html' title='My first day in Class!!!! (16-1-2006)'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-21014893.post-113734967270373757</id><published>2006-01-15T23:38:00.000+05:30</published><updated>2006-01-16T00:02:30.713+05:30</updated><title type='text'>I am a Newbie in Oracle, please help and guide me in learning and understanding  Oracle!!!</title><content type='html'>&lt;span style="font-size:130%;"&gt;Hi everyone pollengrain is back again with a new dream and name of my new dream is oracle.&lt;br /&gt;I am new in Oracle. Infact just started learning Oracle from 16th January 2006. What ever I will learn in Oracle, I will share my experience by posting corresponding articles on my blog page. You come here and read these articles, learn something from it, even share ur database with me and if I am wrong some where please help me in rectifying my mistakes.....................&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Parag Kalra (pollengrain)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/21014893-113734967270373757?l=discoveroracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://discoveroracle.blogspot.com/feeds/113734967270373757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=21014893&amp;postID=113734967270373757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113734967270373757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/21014893/posts/default/113734967270373757'/><link rel='alternate' type='text/html' href='http://discoveroracle.blogspot.com/2006/01/i-am-newbie-in-oracle-please-help-and.html' title='I am a Newbie in Oracle, please help and guide me in learning and understanding  Oracle!!!'/><author><name>Parag Kalra</name><uri>http://www.blogger.com/profile/13414958965440037176</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_V_eFWvv9a2I/SUP1_wlTvwI/AAAAAAAABEY/YhYCiaAThcs/S220/profilepic501575_1.gif.jpeg'/></author><thr:total>0</thr:total></entry></feed>
