<?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-2149685870105310166</id><updated>2012-01-09T08:50:00.177-08:00</updated><title type='text'>Vikrant's Oracle Blog</title><subtitle type='html'>This blog is solely being written for the oracle beginners, who want to pursue their career in oracle database field. I am also intended to write very basic things over here about oracle, that will clear air about oracle basics.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-4475564820177561224</id><published>2009-06-28T22:30:00.000-07:00</published><updated>2009-06-28T23:41:59.497-07:00</updated><title type='text'>Manually Creating Oracle Database</title><content type='html'>hello all,&lt;br /&gt;&lt;br /&gt;As we have learn how to install oracle on RHEL-5, one might be interested in creating oracle database. There are two procedure through which you can create  oracle database if you have oracle software installed.&lt;br /&gt;&lt;br /&gt;For creating oracle database on windows, first install oracle binaries (software) from CD to your system. then follow these steps to create database manually. you can create database with the help of 'Database Configuration Assistant' (DBCA) a tool provided by oracle to create database and installed when you install oracle software and it requires no extra license.&lt;br /&gt;&lt;br /&gt;Before you start creating database please make sure that following are done:-&lt;br /&gt;&lt;br /&gt;1. Make yourself very familiar with oracle initialization parameter.&lt;br /&gt;2. Consider oracle managed file for creating your database.&lt;br /&gt;3. Plan you operating system and partitions.&lt;br /&gt;4. Make sure sufficient disk space exist in your system.&lt;br /&gt;5. Make sure you have  sufficient memory to start oracle instance.&lt;br /&gt;6. Decide your table,index structure for your oracle database.&lt;br /&gt;&lt;br /&gt;Once these basic needs are fulfilled proceed to oracle database specific requirements.&lt;br /&gt;&lt;br /&gt;A. Decide your oracle instance identifier.&lt;br /&gt;B. Authenticate your operating system account with administrator privileges.&lt;br /&gt;C. Create the password file using 'orpwd' utility  on command prompt to create      password file for your database.&lt;br /&gt;&lt;br /&gt;c:\&gt; orapwd file=&lt;filepath&gt; password=&lt;your&gt; entries=&lt;users&gt;&lt;br /&gt;where,&lt;br /&gt;&lt;br /&gt;file            =complete path and name of password file&lt;br /&gt;password = your password for sysdba&lt;br /&gt;entries      = maximum number of DBA's&lt;br /&gt;&lt;br /&gt;example:- orapwd file=d:\oracle\product\database\orclpwd.ora password=password entries=10&lt;br /&gt;&lt;br /&gt;D. create initialization parameter file (pfile), if you can't create one then copy from sample. It should be in form init$oracle_sid.ora. It is generally located in $ORACLE_HOME/database. Below is the sample init.ora file&lt;br /&gt;&lt;br /&gt;&lt;pre class="CE"&gt;# Cache and I/O&lt;br /&gt;&lt;a name="1018598"&gt;&lt;/a&gt;DB_BLOCK_SIZE=4096&lt;br /&gt;&lt;a name="1018599"&gt;&lt;/a&gt;DB_CACHE_SIZE=20971520&lt;br /&gt;&lt;a name="1018601"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018602"&gt;&lt;/a&gt;# Cursors and Library Cache&lt;br /&gt;&lt;a name="1018604"&gt;&lt;/a&gt;CURSOR_SHARING=SIMILAR&lt;br /&gt;&lt;a name="1018605"&gt;&lt;/a&gt;OPEN_CURSORS=300&lt;br /&gt;&lt;a name="1018606"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018608"&gt;&lt;/a&gt;# Diagnostics and Statistics&lt;br /&gt;&lt;a name="1018610"&gt;&lt;/a&gt;BACKGROUND_DUMP_DEST=D:\oracle\admin\mynewdb\bdump&lt;br /&gt;&lt;a name="1018611"&gt;&lt;/a&gt;CORE_DUMP_DEST=D;\oracle\admin\mynewdb\cdump&lt;br /&gt;&lt;a name="1018612"&gt;&lt;/a&gt;TIMED_STATISTICS=TRUE&lt;br /&gt;&lt;a name="1018613"&gt;&lt;/a&gt;USER_DUMP_DEST=D:\oracle\admin\mynewdb\udump&lt;br /&gt;&lt;a name="1018620"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018622"&gt;&lt;/a&gt;# Control File Configuration&lt;br /&gt;&lt;a name="1018624"&gt;&lt;/a&gt;CONTROL_FILES=("D:\oracle\oradata\mynewdb\control01.ctl",&lt;br /&gt;&lt;a name="1019380"&gt;&lt;/a&gt;               "D:\oracle\oradata\mynewdb\control02.ctl",&lt;br /&gt;&lt;a name="1019381"&gt;&lt;/a&gt;               "D:\oracle\oradata\mynewdb\control03.ctl")&lt;br /&gt;&lt;a name="1018625"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018627"&gt;&lt;/a&gt;# Archive&lt;br /&gt;&lt;a name="1018629"&gt;&lt;/a&gt;LOG_ARCHIVE_DEST_1='LOCATION=D;\oracle\oradata\mynewdb\archive'&lt;br /&gt;&lt;a name="1018630"&gt;&lt;/a&gt;LOG_ARCHIVE_FORMAT=%t_%s.dbf&lt;br /&gt;&lt;a name="1018631"&gt;&lt;/a&gt;LOG_ARCHIVE_START=TRUE&lt;br /&gt;&lt;a name="1018632"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018634"&gt;&lt;/a&gt;# Shared Server&lt;br /&gt;&lt;a name="1018636"&gt;&lt;/a&gt;# Uncomment and use first DISPATCHES parameter below when your listener is&lt;br /&gt;&lt;a name="1019406"&gt;&lt;/a&gt;# configured for SSL&lt;br /&gt;&lt;a name="1018637"&gt;&lt;/a&gt;# (listener.ora and sqlnet.ora)&lt;br /&gt;&lt;a name="1019390"&gt;&lt;/a&gt;# DISPATCHERS = "(PROTOCOL=TCPS)(SER=MODOSE)",&lt;br /&gt;&lt;a name="1019391"&gt;&lt;/a&gt;#               "(PROTOCOL=TCPS)(PRE=oracle.aurora.server)"&lt;br /&gt;&lt;a name="1018639"&gt;&lt;/a&gt;DISPATCHERS="(PROTOCOL=TCP)(SER=MODOSE)",&lt;br /&gt;&lt;a name="1019398"&gt;&lt;/a&gt;            "(PROTOCOL=TCP)(PRE=oracle.aurora.server)",&lt;br /&gt;&lt;a name="1019399"&gt;&lt;/a&gt;             (PROTOCOL=TCP)&lt;br /&gt;&lt;a name="1018640"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018642"&gt;&lt;/a&gt;# Miscellaneous&lt;br /&gt;&lt;a name="1018644"&gt;&lt;/a&gt;COMPATIBLE=9.2.0&lt;br /&gt;&lt;a name="1018645"&gt;&lt;/a&gt;DB_NAME=mynewdb&lt;br /&gt;&lt;a name="1019448"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1019451"&gt;&lt;/a&gt;# Distributed, Replication and Snapshot&lt;br /&gt;&lt;a name="1019452"&gt;&lt;/a&gt;DB_DOMAIN=us.oracle.com&lt;br /&gt;&lt;a name="1019465"&gt;&lt;/a&gt;REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE&lt;br /&gt;&lt;a name="1018646"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018648"&gt;&lt;/a&gt;# Network Registration&lt;br /&gt;&lt;a name="1018650"&gt;&lt;/a&gt;INSTANCE_NAME=mynewdb&lt;br /&gt;&lt;a name="1018651"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018653"&gt;&lt;/a&gt;# Pools&lt;br /&gt;&lt;a name="1018655"&gt;&lt;/a&gt;JAVA_POOL_SIZE=31457280&lt;br /&gt;&lt;a name="1018656"&gt;&lt;/a&gt;LARGE_POOL_SIZE=1048576&lt;br /&gt;&lt;a name="1018657"&gt;&lt;/a&gt;SHARED_POOL_SIZE=52428800&lt;br /&gt;&lt;a name="1018658"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018660"&gt;&lt;/a&gt;# Processes and Sessions&lt;br /&gt;&lt;a name="1018662"&gt;&lt;/a&gt;PROCESSES=150&lt;br /&gt;&lt;a name="1018663"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018665"&gt;&lt;/a&gt;# Redo Log and Recovery&lt;br /&gt;&lt;a name="1018667"&gt;&lt;/a&gt;FAST_START_MTTR_TARGET=300&lt;br /&gt;&lt;a name="1019431"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018670"&gt;&lt;/a&gt;# Resource Manager&lt;br /&gt;&lt;a name="1018672"&gt;&lt;/a&gt;RESOURCE_MANAGER_PLAN=SYSTEM_PLAN&lt;br /&gt;&lt;a name="1019436"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018675"&gt;&lt;/a&gt;# Sort, Hash Joins, Bitmap Indexes&lt;br /&gt;&lt;a name="1018677"&gt;&lt;/a&gt;SORT_AREA_SIZE=524288&lt;br /&gt;&lt;a name="1019441"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="1018680"&gt;&lt;/a&gt;# Automatic Undo Management&lt;br /&gt;&lt;a name="1018682"&gt;&lt;/a&gt;UNDO_MANAGEMENT=AUTO&lt;br /&gt;&lt;a name="1018683"&gt;&lt;/a&gt;UNDO_TABLESPACE=undotbs&lt;br /&gt;&lt;/pre&gt;E. Check whether all directories mentioned in the init.ora file exists.&lt;br /&gt;F. Create oracle instance if on windows with following command. We assume that our SID is "orcl"&lt;br /&gt;&lt;br /&gt;c:\&gt;oradim -new -sid orcl -intpwd password -startmode a&lt;br /&gt;&lt;br /&gt; Note:- if you have created password file then this command will overrite that password file. so better create password file with this option.&lt;br /&gt;&lt;br /&gt;G. Now connect to the instance we have created in previous step&lt;br /&gt;&lt;br /&gt;c:\&gt; set oracle_sid=orcl&lt;br /&gt;c:\&gt;sqlplus/nolog&lt;br /&gt;connect sys as sysdba&lt;br /&gt;password: password&lt;br /&gt;sql&gt;&lt;br /&gt;&lt;br /&gt;H. Now you are on sql prompt. start the oracle instance in nomount state.&lt;br /&gt;&lt;br /&gt;sql&gt; startup nomount;&lt;br /&gt;&lt;br /&gt;I. Now run the create database script as follows;-&lt;br /&gt;&lt;br /&gt;create database orcl&lt;br /&gt;user sys identified by password&lt;br /&gt;user system identified by password&lt;br /&gt;logfile group1('d:\oracle\oradata\redo01.log') size 100m,&lt;br /&gt;           group2('d:\oracle\oradata\redo02.log') size 100m,&lt;br /&gt;           group3('d:\oracle\oradata\redo03.log') size 100m,&lt;br /&gt;maxlogfiles 5&lt;br /&gt;maxlogmembers 6&lt;br /&gt;maxloghistory 1&lt;br /&gt;maxdatafiles 100&lt;br /&gt;maxinstances 1&lt;br /&gt;character set US7ASCII&lt;br /&gt;national character set AL16UTF16&lt;br /&gt;datafile 'd:\oracle\oradata\system01.dbf' size 1024m reuse,&lt;br /&gt;             'd:\oracle\oradata\users01.dbf' size 2048m reuse,&lt;br /&gt;             'd:\oracle\oradata\tools01.dbf' size 300m reuse,&lt;br /&gt;             'd:\oracle\oradata\index01.dbf' size 500m reuse,&lt;br /&gt;extent management local&lt;br /&gt;dafault temporary tablespace temp&lt;br /&gt;datafile 'd:\oracle\oradata\temp01.dbf' size 1024m reuse,&lt;br /&gt;undo tablespace unotbs&lt;br /&gt;datafile 'd:\oracle\oradata\undo01.dbf' size 1024m reuse,&lt;br /&gt;archivelog;&lt;br /&gt;&lt;br /&gt;With above script database is created with:-&lt;br /&gt;1.database nam orcl&lt;br /&gt;2.sys and system password is password.&lt;br /&gt;3. maxlog files specify the limit for log group.&lt;br /&gt;4.maxlog members specify the limit for maximum members to be created in one group.&lt;br /&gt;5.maxinstance specify that onle one instance can have this database open and mounted.&lt;br /&gt;6. three log group having one member each.&lt;br /&gt;7. four datafile along with system and users.&lt;br /&gt;8.temporary tablespac temp&lt;br /&gt;9.undo tablespace undotbs.&lt;br /&gt;&lt;br /&gt;J.Once you have done with this database creatin task create data dictiobary views by running ctalog and catproc.sql scripts by opening database.&lt;br /&gt;&lt;br /&gt;sql&gt;@d:\oracle\rdbms\admin\catalog.sql;&lt;br /&gt;sql&gt;@d:\oracle\rdbms\admin\catproc.sql;&lt;br /&gt;&lt;br /&gt;K.Then create server parameter file by command&lt;br /&gt;&lt;br /&gt;sql&gt; create spfile from pfile='d:\oracle\admin\orcl\pfile\initorcl.ora';&lt;br /&gt;&lt;br /&gt;the spfile will be created in dfault location 'd:\oracle\database\spfileorcl.ora' if you do not specify location for spfile.&lt;br /&gt;&lt;br /&gt;sql&gt; shut immediate;&lt;br /&gt;sql&gt; startup;&lt;br /&gt;&lt;br /&gt;this time your database will be opened with spfile you have creatd in last step.&lt;br /&gt;&lt;br /&gt;This way you database is created manually...&lt;br /&gt;&lt;br /&gt;Note:- change paths accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-4475564820177561224?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/4475564820177561224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/06/manually-creating-oracle-database.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/4475564820177561224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/4475564820177561224'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/06/manually-creating-oracle-database.html' title='Manually Creating Oracle Database'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-2622647805058168894</id><published>2009-03-31T04:19:00.000-07:00</published><updated>2009-03-31T04:21:40.022-07:00</updated><title type='text'>Recovery Catalog Creation</title><content type='html'>&lt;span id="postcolor"&gt;hello guys,&lt;br /&gt;&lt;br /&gt;    Today we are going to discuss the step-by-step procedure to create recovery catalog for your database.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This discussion describes how to create an RMAN recovery catalog, which holds RMAN repository data for one or more databases in a separate database schema, in addition to using the control files of the databases.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you are creating your recovery catalog in an already-existing database, add enough room to hold the default tablespace to the recovery catalog schema. If you are creating a new database to hold your recovery catalog, then, in addition to the space for the recovery catalog schema itself, you must allow space for other files in the recovery catalog database:&lt;br /&gt;&lt;br /&gt;SYSTEM tablespace&lt;br /&gt;Temporary tablespaces&lt;br /&gt;Rollback segment tablespaces&lt;br /&gt;Online redo log files&lt;br /&gt;&lt;br /&gt;Assume that we are having our primary database MKTG3, and other database RCAT on which we are going to crate recovery catalog.&lt;br /&gt;&lt;br /&gt;You should not install the catalog in the target database: this tactic defeats the purpose of the catalog. Also, decide whether to operate the catalog database in ARCHIVELOG mode, which is recommended.&lt;br /&gt;&lt;br /&gt;the process of creating recovery catalog owner is as follows:-&lt;br /&gt;&lt;br /&gt;After choosing the recovery catalog database and creating necessary space, you are ready to create the owner of the recovery catalog and grant this user necessary privileges.&lt;br /&gt;&lt;br /&gt;    To create the recovery catalog schema in the recovery catalog database:&lt;br /&gt;&lt;br /&gt;1) connect to the database with administrator privilages containing the recovery catalog:&lt;br /&gt;&lt;br /&gt;conn sys/admin@rcat&lt;br /&gt;&lt;br /&gt;2) create a user and schema for recovery catalog&lt;br /&gt;&lt;br /&gt;    create user recovery identified by catalog&lt;br /&gt;    temporary tablespace &lt;ts&gt;&lt;br /&gt;    default tablespace &lt;ts&gt;&lt;br /&gt;   quota unlimited on &lt;default&gt;;&lt;br /&gt;&lt;br /&gt;3) grant the recovery_catalog_owner role to schema owner.&lt;br /&gt;&lt;br /&gt;sql&gt; grant recovery_catalog_owner to recovery;&lt;br /&gt;&lt;br /&gt;4)make necessary changes to tnsnames.ora and listener.ora files and configure listeners if you are using multiple listener to proivde services to this standby database.&lt;br /&gt;&lt;br /&gt;5) grant RECOVRY TYPE privilages to recovery catalog owner&lt;br /&gt;&lt;br /&gt;sql&gt; grant create type to recovery;&lt;br /&gt;&lt;br /&gt;6) connect to the database that will contain catalog,as catalog owner&lt;br /&gt;&lt;br /&gt;% rman catalog recovery/catalog@rcat&lt;br /&gt;&lt;br /&gt;you can also connect from RMAN prompt&lt;br /&gt;&lt;br /&gt;RMAN&gt; connect catalog recovery/catalog@rcat&lt;br /&gt;&lt;br /&gt;7) run the CREATE CATALOG command to create catalog.&lt;br /&gt;&lt;br /&gt;RMAN&gt; create catalog;&lt;br /&gt;&lt;br /&gt;8) Optionally, start SQL*Plus and query the recovery catalog to see which tables were created:&lt;br /&gt;&lt;br /&gt;sql&gt; SELECT TABLE_NAME FROM USER_TABLES;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Registering a Database in the Recovery Catalog:-&lt;br /&gt;&lt;br /&gt;The first step in using a recovery catalog with a target database is registering the database in the recovery catalog. Use the following procedure:&lt;br /&gt;&lt;br /&gt;1)after making sure the recovery catalog database is open,connect RMAN to the target database.&lt;br /&gt;&lt;br /&gt;RMAN&gt; connect target sys/admin@mktg3&lt;br /&gt;&lt;br /&gt;2) to register to recovery catalog the target database must be mounted or open.&lt;br /&gt;&lt;br /&gt;3) then connect to the recovery catalog&lt;br /&gt;&lt;br /&gt;RMAN&gt; connect catalog recovery/catalog@rcat&lt;br /&gt;&lt;br /&gt;4) Register the target database in the connected recovery catalog:&lt;br /&gt;&lt;br /&gt;RMAN&gt; register database;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RMAN creates rows in the catalog tables to contain information about the target database, then copies all pertinent data about the target database from the control file into the catalog, synchronizing the catalog with the control file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Verify that the registration was successful by running REPORT SCHEMA:&lt;br /&gt;&lt;br /&gt;RMAN&gt; REPORT SCHEMA;&lt;br /&gt;&lt;br /&gt;These are the steps to crate recovery catalog... Hope this will help you in using RMAN more efficiently.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-2622647805058168894?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/2622647805058168894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/recovery-catalog-creation.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2622647805058168894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2622647805058168894'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/recovery-catalog-creation.html' title='Recovery Catalog Creation'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-8902448072215500112</id><published>2009-03-19T04:05:00.000-07:00</published><updated>2009-03-19T04:39:24.824-07:00</updated><title type='text'>Oracle Control Files</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;Every person has a friend, a very good friend. who knows everything about that person. and this friend is very crucial to that person.same way oracle control file is also very crucial to oracle database. It is needed to mount the database.&lt;br /&gt;&lt;br /&gt;Oracle control file stores the complete information about the physical structure of database and and it's status. oracle control file contains following information about oracle database, but not limited to it:&lt;br /&gt;&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:1566914654; 	mso-list-template-ids:274371478;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:.5in; 	mso-level-number-position:left; 	text-indent:-.25in; 	mso-ansi-font-size:10.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0in;} ul 	{margin-bottom:0in;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Database information      (RESETLOGS SCN and their time stamp) &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Archive log history &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Tablespace and datafile      records (filenames, datafile checkpoints, read/write status, offline or      not) &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Redo threads (current online      redo log) &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Database's creation date &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;database name &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;current archive log mode &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Log records (sequence      numbers, SCN range in each log) &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;RMAN catalog &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Database block corruption      information &lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Database ID, which is unique      to each DB&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;This way control file contain contain almost all information about oracle database. The control file must be available for writing by the oracle database server whenever the database is open. Without the control file, the database cannot be mounted and recovery is difficult.&lt;br /&gt;&lt;br /&gt;The control file is created at the time of database creation on the location specified by initialization parameter file. It is recommended that you should multiplex your control file on same host or another machine, because you might need them in case of recovery.&lt;br /&gt;&lt;br /&gt;To backup the control file in running instance, execute following command as sys user:&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database backup controlfile to trace;&lt;br /&gt;&lt;br /&gt;or if you want to backup controlfile in user readable format then execute&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database backup controlfile to '&lt;path&gt;';&lt;br /&gt;&lt;br /&gt;you can multiplex control files with operating system copy command, but for this purpose you have to shut down your database. Once the controlfile are multiplexed, all we be synchronized by oracle if some changes are made to database. follow the following steps to multiplex the control files on you oracle host:&lt;br /&gt;&lt;br /&gt;1.shut down database.&lt;br /&gt;2. copy existing control files to the multiplexing location with operating system copy command. ('copy' in windows and 'cp' in Linux).&lt;br /&gt;3. make entries in initialization parameter file, edit the control_files parameter specifying path newly multiplexed control files.&lt;br /&gt;4. recreate server parameter (sp file) file from newly edited parameter file.&lt;br /&gt;5. open the database.&lt;br /&gt;6. check with view v$controlfile, whether multiplexed controlfile are there in list.&lt;br /&gt;&lt;br /&gt;This way you can multiplexed your control files. If lost in worst situation you can recreate your control file for disaster recovery. following script will explain how to recreate your control file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;startup nomount&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;create  controlfile reuse database 'dbname'  noresetlogs noarchivelog/archivelog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxlogfiles 30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxlogmembers 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxdatafiles 30&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxinstances 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;maxloghistory 500&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;logfile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;group 1 '/uo1/oracle/dbs/redo01.log' size 100m,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;group 2 'u01/oracle/dbs/redo02.log' size 100m&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;datafile&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/system01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/tools01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/index01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/users01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/undotbs01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;'/u01/oracle/dbs/fin01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;add temporary tablespace temp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;tempfile ''/u01/oracle/dbs/temp01.dbf',&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;character set WE8DEC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This way you can create your control file in needed. but always backup and multiplex control files for safe reasons.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;/path&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-8902448072215500112?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/8902448072215500112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/oracle-control-files.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/8902448072215500112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/8902448072215500112'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/oracle-control-files.html' title='Oracle Control Files'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-914756032231384479</id><published>2009-03-05T22:03:00.000-08:00</published><updated>2009-03-05T22:12:06.700-08:00</updated><title type='text'>Installing Oracle 10g R2 on RHEL 5</title><content type='html'>Hi guyes,&lt;br /&gt;&lt;br /&gt;This article will discuss the installation process to &lt;span style="font-weight: bold;"&gt;Install Oracle Database 10g R2 on Red Hat Enterprise Linux 5 (RHEL5).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This article is based on server installation, with SE linux disabled and following group packages installaed:&lt;br /&gt;&lt;br /&gt;  * GNOME Desktop Environment&lt;br /&gt;  * Editors&lt;br /&gt;  * Graphical Internet&lt;br /&gt;  * Text-based Internet&lt;br /&gt;  * Development Libraries&lt;br /&gt;  * Development Tools&lt;br /&gt;  * Legacy Software Development&lt;br /&gt;  * Server Configuration Tools&lt;br /&gt;  * Administration Tools&lt;br /&gt;  * Base&lt;br /&gt;  * Legacy Software Support&lt;br /&gt;  * System Tools&lt;br /&gt;  * X Window System&lt;br /&gt;&lt;br /&gt;The following steps instruct you to install oracle and set kernel parameter required to work oracle safely.&lt;br /&gt;&lt;br /&gt;Download database software:- Download database software for oracle 10g R2 from OTN or Metalink.&lt;br /&gt;&lt;br /&gt;Unzip the files in a directory&lt;br /&gt;&lt;br /&gt;tar -zxvf  10201_database_linux.tar.gz&lt;br /&gt;&lt;br /&gt;Say we are unzipping this tar file in /temp/oracle directory.&lt;br /&gt;&lt;br /&gt;Edit the &lt;span style="font-weight: bold;"&gt;/etc/host&lt;/span&gt; file by adding following lines with specifications&lt;br /&gt;&lt;br /&gt;&lt;ip-address&gt;  &lt;full-qualified-machine-name&gt;  &lt;machine-name&gt;&lt;br /&gt;&lt;br /&gt;Example:- 192.168.0.200   dbserver.test.com   dbserver&lt;br /&gt;&lt;br /&gt;Set kernel Parameters:- By adding following lines in &lt;span style="font-weight: bold;"&gt;/etc/sysctl.conf&lt;/span&gt; file&lt;br /&gt;&lt;br /&gt;***********************************************************************************************************************************************&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#kernel.shmall = 2097152&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#kernel.shmmax = 2147483648&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;kernel.shmmni = 4096&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#semaphores: semmsl, semmns, semopm, semmni&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;kernel.sem = 250  32000  100  128&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;#fs.file_max = 65536&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net.ipv4.ip_local_port_range = 1024  65000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net.core.rmem_default = 262144&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net.core.rmem_max = 262144&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net.core.wmem_default = 262144&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;net.core.wmem_max = 262144&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;***********************************************************************************************************************************************&lt;br /&gt;&lt;br /&gt;As the kernel parameters are set, run the following command to change the current parameters:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/sbin/sysctl -p&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Edit the &lt;span style="font-weight: bold;"&gt;/etc/security/limits.conf&lt;/span&gt; file by adding following lines to it:&lt;br /&gt;&lt;br /&gt;*                                           soft                      nproc                     2047&lt;br /&gt;&lt;br /&gt;*                                          hard                 nproc                      16384&lt;br /&gt;&lt;br /&gt;*                                           soft        nofile                         1024&lt;br /&gt;&lt;br /&gt;*                                           hard                 nofile                         65536&lt;br /&gt;&lt;br /&gt;Add the following lines to &lt;span style="font-weight: bold;"&gt;/etc/pam.d/login&lt;/span&gt; file, if it does not already exist&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;session               required               /lib/security/pam_limits.so&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Disable SELINUX by editing flag as follows in &lt;span style="font-weight: bold;"&gt;/etc/selinux/config&lt;/span&gt; file,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SELINUX=disable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now all the prerequisite are set. We are going to start a database installation, but before that check whether following packages are installed or not:&lt;br /&gt;&lt;br /&gt;To check whether package is installed execute following command as root:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rpm -qa | grep &lt;/span&gt;&lt;package-name&gt;&lt;br /&gt;&lt;br /&gt;This will give you the output and package version and name if installed. If package version is lower that what we need, then insert media of RHEL 5 and execute following command as root:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rpm -Uvh &lt;/span&gt;&lt;package-name and="" version=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;List Of Packages:&lt;/span&gt;&lt;br /&gt;binutils&lt;br /&gt;setarch-2*&lt;br /&gt;make-3*&lt;br /&gt;glibc-2*&lt;br /&gt;libaio-2*&lt;br /&gt;compat-libstdc++-33-3*&lt;br /&gt;compat-gcc-34-3*&lt;br /&gt;compat-gcc-34-c++-3*&lt;br /&gt;gcc-4*&lt;br /&gt;libxp-1*&lt;br /&gt;openmotif-2*&lt;br /&gt;compat-db-4*&lt;br /&gt;control-center&lt;br /&gt;glibc-common&lt;br /&gt;gnome-libs&lt;br /&gt;libstdc++-devel&lt;br /&gt;pdksh&lt;br /&gt;&lt;br /&gt;As the all packages are installed, create the new groups and users:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;groupadd oinstall&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;groupadd dba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;groupadd oper&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;useradd -g oinstall -G dba oracle&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;passwd oracle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With this command enter new password for oracle.&lt;br /&gt;&lt;br /&gt;Now create the directories where oracle software will be installed&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mkdir -p /u01/product/server/db_1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;chown -R oracle.oinstall /u01&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this way we created directories and make oracle the owner.&lt;br /&gt;&lt;br /&gt;Now login as root user and issue this command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;xhost +&lt;machine-name&gt;&lt;/span&gt;&lt;machine_name&gt;&lt;br /&gt;&lt;br /&gt;Edit the &lt;span style="font-weight: bold;"&gt;/etc/redhat-release&lt;/span&gt; file replacing the current release information (Red Hat Enterprise Linux Server 5 (Tikanga)) with following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;redhat-4&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now login as oracle user and ad the following lines to &lt;span style="font-weight: bold;"&gt;/home/.bash_profile&lt;/span&gt; file at the end&lt;br /&gt;&lt;br /&gt;*********************************************************************************************************************************************&lt;br /&gt;&lt;br /&gt;# Oracle Settings&lt;br /&gt;TMP=/tmp; export TMP&lt;br /&gt;TMPDIR=$TMP; export TMPDIR&lt;br /&gt;&lt;br /&gt;ORACLE_BASE=/u01/product; export ORACLE_BASE&lt;br /&gt;ORACLE_HOME=$ORACLE_BASE/server/db_1; export ORACLE_HOME&lt;br /&gt;ORACLE_SID=TSH1; export ORACLE_SID&lt;br /&gt;ORACLE_TERM=xterm; export ORACLE_TERM&lt;br /&gt;PATH=/usr/sbin:$PATH; export PATH&lt;br /&gt;PATH=$ORACLE_HOME/bin:$PATH; export PATH&lt;br /&gt;&lt;br /&gt;LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH&lt;br /&gt;CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH&lt;br /&gt;&lt;br /&gt;if [ $USER = "oracle" ]; then&lt;br /&gt;if [ $SHELL = "/bin/ksh" ]; then&lt;br /&gt;  ulimit -p 16384&lt;br /&gt;  ulimit -n 65536&lt;br /&gt;else&lt;br /&gt;  ulimit -u 16384 -n 65536&lt;br /&gt;fi&lt;br /&gt;fi&lt;br /&gt;*********************************************************************************************************************************************&lt;br /&gt;&lt;br /&gt;Now execute following command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DISPLAY=&lt;/span&gt;&lt;machine-name&gt;&lt;span style="font-weight: bold;"&gt;:0.0; export DISPLAY&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;By navigating to oracle bib directory in $ORACLE_HOME execute&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;./runinstaller&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;Hope this will help you to install oracle on Linux system.....&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/machine-name&gt;&lt;/machine_name&gt;&lt;/package-name&gt;&lt;/package-name&gt;&lt;/machine-name&gt;&lt;/full-qualified-machine-name&gt;&lt;/ip-address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-914756032231384479?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/914756032231384479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/installing-oracle-10g-r2-on-rhel-5.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/914756032231384479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/914756032231384479'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/03/installing-oracle-10g-r2-on-rhel-5.html' title='Installing Oracle 10g R2 on RHEL 5'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-3966793569129321312</id><published>2009-02-24T02:10:00.000-08:00</published><updated>2009-02-24T02:55:45.164-08:00</updated><title type='text'>Oracle Datafiles</title><content type='html'>It's not at all easy to learn a technology completely, but we will try to learn oracle as we can. Let us see oracle datafiles, their structure, how to manage them and how they work.&lt;br /&gt;&lt;br /&gt;Datafiles are physical structure of oracle database. Oracle stores your important data in these datafiles. These are located on hard disk in directory $ORACLE_HOME/oradata/SID along with others important files like redo log files, controlfiles etc.&lt;br /&gt;&lt;br /&gt;One or more physical datafiles make a tablespace. It means  a datafile can have only one tablespace, but a tablespace can have more than one datafiles. Oracle creates a datafile by allocating sufficient amount of disk space plus the overhead required for the file  header.&lt;br /&gt;&lt;br /&gt;When the datafile is created, the associated disk space is formatted, but does not contain any user data. Oracle reserve this space to use it in future.&lt;br /&gt;&lt;br /&gt;When you create database with DBCA, oracle allocates first datafile to system tablespace as it is most important tablespace in database. We can explicitly allocate datafiles to tablespace as and hen we want. Have a look on tablespace and datafiles structure in oracle:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_0ty0mpYphsU/SaPL0zdQjgI/AAAAAAAAADM/bBx2aK_TfuI/s1600-h/tablespace_datafile_table.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 311px;" src="http://1.bp.blogspot.com/_0ty0mpYphsU/SaPL0zdQjgI/AAAAAAAAADM/bBx2aK_TfuI/s400/tablespace_datafile_table.jpg" alt="" id="BLOGGER_PHOTO_ID_5306308893999140354" border="0" /&gt;&lt;/a&gt;The data related to related schema in tablespace is physically stored in datafiles. Schema object does not corresponds to a specific datafile, but a datafile is repository for the schema objects. A datafile can be allocated to multiple  schema, but it is not necessary that a schema object (say table) will reside only in that datafile as shown in above example.&lt;br /&gt;&lt;br /&gt;Datafiles contain first block as it's header, which contains information about space allocated, space available, blocks present etc. in datafile. It also contain other important information such as block size, tablespace, file size, timestamps etc. When database opens, oracle checks whether information in datafile header matches with that of control file. When user request some data, oracle checks it first in buffer cache in SGA and if it is not present there then oracle reads it from appropriate datafile. CKPT process writes in datafile header the current SCN and log sequence number.&lt;br /&gt;&lt;br /&gt;You can check information about datafiles by using v$datafile. You can take datafiles offline any time for you purpose. For this purpose execute following command:&lt;br /&gt;&lt;br /&gt;sql&gt; alter database datafile 'data/file/path.dbf' offline;&lt;br /&gt;&lt;br /&gt;and online by executing following command&lt;br /&gt;&lt;br /&gt;sql&gt; alter database datafile 'data/file/path.dbf' online;&lt;br /&gt;&lt;br /&gt;but remember, when taking datafile online it may ask for media recovery, then you can do&lt;br /&gt;&lt;br /&gt;sql&gt;alter database recover datafile 'data/file/path.dbf';&lt;br /&gt;&lt;br /&gt;That's all what we can discuss about datafiles now. I am sure as we go on, we ill definitly get  to know more about them.&lt;br /&gt;&lt;br /&gt;enjoy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-3966793569129321312?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/3966793569129321312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-datafiles.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/3966793569129321312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/3966793569129321312'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-datafiles.html' title='Oracle Datafiles'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_0ty0mpYphsU/SaPL0zdQjgI/AAAAAAAAADM/bBx2aK_TfuI/s72-c/tablespace_datafile_table.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-4299229951605454994</id><published>2009-02-17T22:31:00.000-08:00</published><updated>2009-02-17T23:32:57.405-08:00</updated><title type='text'>SGA Memory Structures</title><content type='html'>We are learning oracle SGA since last couple of posts, and now we are very much into it. Let's have discussion on memory structures of oracle SGA(System Global Area).&lt;br /&gt;&lt;br /&gt;As we discussed that oracle SGA is consist of several memory structures and background processes. We discussed background processes in last post, let's now have  look at memory structures of SGA.&lt;br /&gt;&lt;br /&gt;SGA is consist of following memory structures:&lt;br /&gt;1. Database buffer cache&lt;br /&gt;2. Shared pool&lt;br /&gt;3. Redo log buffer cache&lt;br /&gt;4. Java pool&lt;br /&gt;5. Large pool&lt;br /&gt;6. Streams pool&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0ty0mpYphsU/SZuzwCiyfEI/AAAAAAAAAC8/IIj-7pHu1jM/s1600-h/SGA.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 209px;" src="http://4.bp.blogspot.com/_0ty0mpYphsU/SZuzwCiyfEI/AAAAAAAAAC8/IIj-7pHu1jM/s400/SGA.jpg" alt="" id="BLOGGER_PHOTO_ID_5304030624056769602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Database Buffer Cache:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The database buffer cache is that region of SGA which holds the copy of data blocks read from datafiles. The buffer cache is shared among all connected user of database. When user try to retrieve data from database, server process read it first from datafiles and place a copy of recently used data blocks in database buffer cache. It is managed by least recently used (LRU) algorithm.Data updation is done in this area. There are three types of buffer in buffer cache:&lt;br /&gt;&lt;br /&gt;A. Dirty buffer:- Dirty buffer are those which are changed or modified, and need to be written to the disk. This task is done by DBWR, and these dirty buffer are flushed out to datafiles.&lt;br /&gt;&lt;br /&gt;B. Free buffers:- Free buffers are those which do not contain any data and ready to use. When server process fetch any data from datafiles, it si stored in free buffers.&lt;br /&gt;&lt;br /&gt;C. Pinned buffers:- Pinned buffer are those which are currently being used or explicitly retained for future used.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Shared Pool:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The shared pool contains most recently used SQL and PL/SQL statements and data definition, data dictionary, character set information. It is further divided into:&lt;br /&gt;&lt;br /&gt;A. &lt;span style="font-weight: bold;"&gt;Library cache&lt;/span&gt;: The library cache includes the shared SQL areas, private SQL areas,PL/SQL procedures and packages, and control structures such as locks and library cache handles. The shared SQL area contains recently executed SQL commands and their execution plans and parse tree where private SQL area contains values for bind variables and run time buffers.&lt;br /&gt;&lt;br /&gt;PL/SQL program units are processed the same way as SQL statements by Oracle. When a PL/SQL program unit is executed, the code is moved to the shared PL/SQL area while the individual SQL commands within the program unit are moved to the shared SQL area. Again, the shared program units are maintained in memory with an LRU algorithm.&lt;br /&gt;&lt;br /&gt;B.&lt;span style="font-weight: bold;"&gt; Data Dictionary Cache&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;The data dictionary cache is collection of database tables and views containing metadata about database, its structure, its privileges and its users. Oracle access the data dictionary during the parsing of SQL statements.  The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers(which hold entire blocks of data).&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Redo Log Buffer Cache&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;The redo log buffer cache is circular buffer in SGA which holds information about changes made to database. It contains the redo entries which contains the information to redo the changes made to database in case of failure.  Changes are made to the database through any of these commands:INSERT, UPDATE, DELETE, CREATE, ALTER, or DROP.&lt;br /&gt;&lt;br /&gt;4.&lt;span style="font-weight: bold;"&gt; Java Pool:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The java pool services parsing requirements for java commands. It is required if installing and using java.&lt;br /&gt;&lt;br /&gt;5.  &lt;span style="font-weight: bold;"&gt;Large Pool:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;&lt;/span&gt;The Large pool is a voluntary area in the SGA that can be configured by the database administrator to provide large memory allocations for specific database operations such as an  Oracle backup or restore. The large pool allows Oracle to request large memory allocations from a separate pool to prevent contention from other applications for the same memory. The large pool does not have an LRU list.&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;Streams Pool:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The streams pool is used when you are using oracle streams. It is used on capture activity. In prior releases of oracle it is assigned 10% from shared pool, which often faces overflow.&lt;br /&gt;&lt;br /&gt;Other than this some memory structures are still there, they are as follows:-&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Program Global Area:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is another memory structure of Oracle.&lt;br /&gt;&lt;br /&gt;(PGA) is the area in the memory that contains the data and process information for one process. This area is non-shared memory. The PGA size is fixed and is dependent on the operating system. The contents of the PGA vary depending on server configuration.&lt;br /&gt;&lt;br /&gt;The memory allocated to hold variables, arrays, and other information that belongs to the session is called stake space.PGA is allocated when the process is completed. Unlike the SGA that is shared by several processes, the PGA provides sort space, session information, stack space, and cursor information for a single server process.&lt;br /&gt;&lt;br /&gt;2.&lt;span style="font-weight: bold;"&gt;Sort Area Size:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The memory area that Oracle uses to sort data is known as the sort area, which uses memory from the PGA for a dedicated server connection. For multi threaded server  configurations, the sort area is allocated from the SGA. Sort area size can grow depending on the need. The parameter SORT_AREA_RETAINED_SIZE determines the size to which the sort area is reduced after the sort operation. The memory released from the sort area is kept with the server process; it is not released to the operating system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-4299229951605454994?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/4299229951605454994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/sga-memory-structures.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/4299229951605454994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/4299229951605454994'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/sga-memory-structures.html' title='SGA Memory Structures'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_0ty0mpYphsU/SZuzwCiyfEI/AAAAAAAAAC8/IIj-7pHu1jM/s72-c/SGA.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-7388810758872925652</id><published>2009-02-16T22:40:00.000-08:00</published><updated>2009-02-17T00:34:20.068-08:00</updated><title type='text'>Oracle Background Processes</title><content type='html'>Hi folks, actually i was bit busy since last couple of days, so was unable to post on blog.&lt;br /&gt;&lt;br /&gt;As post name suggest, we are going to discuss background process that drives oracle for its optimum performance. As the name suggest, these are processes which runs behind the scene, but are the main operating part of oracle database.&lt;br /&gt;&lt;br /&gt;Let's have  look at them in detail.&lt;br /&gt;&lt;br /&gt;As we have discuss, when instance is allocated at RAM (physical memory) means SGA is created. This SGA has some memory structures and background processes. Although memory processes and background processes are interdependent, they holds their own importance too. Some of important background processes and their functions are described in this post.&lt;br /&gt;&lt;br /&gt;First we will discuss all the basic BG processes, which are known and most important.&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;PMON:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The&lt;span style="font-weight: bold;"&gt; &lt;span style="font-style: italic;"&gt;process monitor&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;recovers failed process resources. It checks if any user process fails, it cleans up all resources that user process has acquired,and roll back uncommitted transaction and releasing locks. In shared server environment, PMON restarts any failed dispatcher or server process.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;SMON:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold; font-style: italic;"&gt;system monitor&lt;/span&gt; recovers after instance crash. It performs crash recovery when crashed instance is start again. It monitors and clean temporary extents. It also merges contiguous areas of free space in datafile, this process is called as coalescing. In RAC in non-failed instance, SMON performs instance recovery of other failed instance.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;DBWR:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold; font-style: italic;"&gt;database writer&lt;/span&gt; process writes dirty blocks from database buffer cache to datafiles. Dirty blocks are those blocks which are modified by server process, and need to be flushed out to make room for new blocks in cache.DBWR never ever modify database buffer cache, it is done by server process. DBWR writes to datafiles when space is needed in cache, on commit and when forceful checkpoint is occurred. You can configure more than one DBWR process up to 10.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;LGWR:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;log writer&lt;/span&gt; process writes redo log buffer entries (redo entries) into online redo log files on disk. This is done by LGWR when transaction is committed, every 3 seconds and when DBWR signals LGWR to do so.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;CKPT:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold; font-style: italic;"&gt;checkpoint&lt;/span&gt; process regularly initiates a checkpoint, and updates controlfile and datafile header. This process flushes the redo entries by means of LGWR. Uses DBWR to write all dirty buffer to datafiles and updates datafile header.&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;ARCH:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-weight: bold; font-style: italic;"&gt;archive&lt;/span&gt; process is optional process. If your database is in archive log mode and automating archiving is enabled, then this process is active. This process writes filled redo log files to archive log location specified by you. It is required while recovering database. LGWR is responsible for starting multiple ARCH process if workload increase. There can be up to 10 archiver processes.&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;MMAN:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The MMAN dynamically adjust the size of SGA components. It is new process added to oracle 10g a a part of "Automatic Shared Memory Management".&lt;br /&gt;&lt;br /&gt;These are the basic background processes in oracle SGA. Other than this some background processes are:-&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CQJ0,&lt;/b&gt;&lt;b&gt;FMON,&lt;/b&gt;&lt;b&gt;Pnnn etc. &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We will see them in detail later.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-7388810758872925652?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/7388810758872925652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-background-processes.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/7388810758872925652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/7388810758872925652'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-background-processes.html' title='Oracle Background Processes'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-2394199376963596830</id><published>2009-02-04T23:03:00.000-08:00</published><updated>2009-02-04T23:07:08.186-08:00</updated><title type='text'>Oracle Physical Structure</title><content type='html'>hi friends,&lt;br /&gt;&lt;br /&gt;In last topic we discussed about basic oracle architecture. In this discussion we will discuss physical structure of oracle database. But before that, we have to learn the logical architecture which is involved in physical structure.&lt;br /&gt;&lt;br /&gt;confused....???? let's see.&lt;br /&gt;&lt;br /&gt;Oracle physical structure which include logical structure is as follows:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Logical Structures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Oracle database is divided into smaller logical units to manage, store, and retrieve data efficiently. The logical units are tablespace, segment, extent, and data block. The following figure will explain it more clearly. Have a look:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0ty0mpYphsU/SYqPxMrOn_I/AAAAAAAAAC0/Uy3IaCltEyA/s1600-h/021306_3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 352px;" src="http://3.bp.blogspot.com/_0ty0mpYphsU/SYqPxMrOn_I/AAAAAAAAAC0/Uy3IaCltEyA/s400/021306_3.gif" alt="" id="BLOGGER_PHOTO_ID_5299205986933710834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tablespace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tablespace is a logical structure which holds other logical structure of database. Tablespace is further broken into segments. segment is further broken into extents. This way tablespace holds the segments , extents and datafiles for a particular purpose. Like we have system tablespace, users tablespace, index tablespace and etc., All tablespace segments and extents for that particular purpose. Tablespace can be named, as we seen in above example.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Segments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A Tablespace is further broken into segments. A segment is used to stores same type of objects. That is, every table in the database will store into a specific segment (named Data Segment) and every index in the database will also store in its own segment (named Index Segment). The other segment types are Temporary Segment and Rollback Segment.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Extents&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A segment is further broken into extents. An extent consists of one or more data block. When the database object is enlarged, an extent will be allocated. Unlike a tablespace or a segment, an extent cannot be named.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Data Block&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A data block is the smallest unit of storage in the Oracle database. The data block size is a specific number of bytes within tablespace and it has the same number of bytes. the database block consist of multiple operating system blocks.&lt;br /&gt;&lt;br /&gt;Now lets have a look at actual physical structure of oracle database. It is a structure which holds your actual data. It consist of some files, which resides on disk. These files are datafiles, control files, redo log files and password file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Datafiles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Datafiles holds actual data of oracle database.A datafile is a file that correspondens with a tablespace. One datafile can be used by one tablespace, but one tablespace can has more than one datafiles. When ever user request data, oracle retrieve that data from these datafiles with the help of some processes in the SGA (System Global Area). And also manipulated data is written back to these datafiles, so that changed data is available to all users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Redo Log files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Redo log files are the files that store the redo entries generated by DML statements. It can be used for recovery processes. These files also stores data, but contain only changes made to database. These changes are useful when recovering database. These file can be archived, that is can be copied offline for recovery purpose. this process is called archiving. These files belongs to certain group. We will discuss redo log files in more details later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Control Files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Control files are used to store information about physical structure of database, such as datafiles size and location, redo log files location, etc. Control files are very crucial for database operation.&lt;br /&gt;An Oracle database cannot be started without at least one control file.It contains (but is not limited to) the following types of information:&lt;br /&gt;&lt;br /&gt;* Database information (RESETLOGS SCN and their time stamp)&lt;br /&gt;* Archive log history&lt;br /&gt;* Tablespace and datafile records (filenames, datafile checkpoints, read/write status, offline or not)&lt;br /&gt;* Redo threads (current online redo log)&lt;br /&gt;* Database's creation date&lt;br /&gt;* database name&lt;br /&gt;* current archive log mode&lt;br /&gt;* Log records (sequence numbers, SCN range in each log)&lt;br /&gt;* RMAN catalog&lt;br /&gt;* Database block corruption information&lt;br /&gt;* Database ID, which is unique to each DB&lt;br /&gt;&lt;br /&gt;Hope you have got a bit of information about from these blogs. We will definitely discuss all structures in details in our future topics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-2394199376963596830?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/2394199376963596830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-physical-structure.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2394199376963596830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2394199376963596830'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-physical-structure.html' title='Oracle Physical Structure'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0ty0mpYphsU/SYqPxMrOn_I/AAAAAAAAAC0/Uy3IaCltEyA/s72-c/021306_3.gif' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-1213169123299513460</id><published>2009-02-03T21:40:00.000-08:00</published><updated>2009-02-04T22:55:01.255-08:00</updated><title type='text'>Oracle Basic Architecture</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;As an oracle DBA you must have the very sound knowledge of oracle instance and its architecture.you should be able to differentiate between logical and physical layer of database.&lt;br /&gt;&lt;br /&gt;In this article we will discuss the basic architecture of oracle database, what is an instance, what are physical components and logical components of oracle database.&lt;br /&gt;&lt;br /&gt;oracle database is consist of two main components&lt;br /&gt;1. Oracle Instance (virtual)&lt;br /&gt;2. Oracle files  (physical)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Oracle Instance&lt;/span&gt;:- It is an virtual component that is mounted on your system's physical memory (RAM) when oracle services starts. It occupies some space on your RAM and it is the component of the database which deals with the physical layer of oracle database. The following figure shows all virtual components of Instance, lets see them and discuss about them:-&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0ty0mpYphsU/SYktXhpZmiI/AAAAAAAAACk/co1d_Lk1AJc/s1600-h/image025.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 383px;" src="http://3.bp.blogspot.com/_0ty0mpYphsU/SYktXhpZmiI/AAAAAAAAACk/co1d_Lk1AJc/s400/image025.jpg" alt="" id="BLOGGER_PHOTO_ID_5298816318770354722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As we have discussed that Instance is virtual and is allocated on our system's physical memory, one may ask 'what is instance made up of?', the answer to this question is, instance is made up of 'System Global Area (SGA)' and 'Background Processes', which communicate with physical files of database to serve  request made by user.&lt;br /&gt;&lt;br /&gt;It is recommended by oracle that 50%-70% memory should be given to SGA. We will discuss how to allocate size to SGA.Now SGA is consist of following components:&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Shared Pool&lt;/span&gt;:-This is area of SGA which is divided into two parts, one is library cache which stores information about commonly used SQL and PL/SQL statements. means again if the same statement is issued by another user then oracle would not require to access it from datafile (discussed later) and can prevent lot of hard work. It is maintained by Least Recently Used algorithm, means the statement which are not used frequently are thrown out of library cache.&lt;br /&gt;&lt;br /&gt;The other part is called as dictionary cache which holds information about definition of objects in database, indexes, users and their privileges, authentication information so that no invalid user can access database etc.&lt;br /&gt;&lt;br /&gt;2.&lt;span style="font-weight: bold;"&gt;Database Buffer Cache&lt;/span&gt;:-Buffer cache is used to stores the copies of data block that retrieved from datafiles. That is, when user retrieves data from database, the data will be stored in buffer cache. Its size can be manipulated via DB_CACHE_SIZE parameter in init.ora initialization parameter file.&lt;br /&gt;&lt;br /&gt;Just don't think about other buffer pool components specified in the figure, we will discus them later.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Redo Log Buffer Cache&lt;/span&gt;:-Each DML statement (insert, update, and delete) executed by users will generates the redo entry. What is a redo entry? It is an information about all data changes made by users. That redo entry is stored in redo log buffer before it is written into the database physical structure. To manipulate the size of redo log buffer, you can use the LOG_BUFFER parameter in init.ora initialization parameter file.&lt;br /&gt;&lt;br /&gt;you will get complete idea about redo log file in our next discussion 'Oracle Physical Components'.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;Large Pool&lt;/span&gt;:-Large pool is an optional area of memory in the SGA. It is used to relieves the burden place on the shared pool. It is also used for I/O processes. The large pool size can be set by LARGE_POOL_SIZE parameter in init.ora initialization parameter file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;Java Pool&lt;/span&gt;:-As its name, Java pool is used to services parsing of the Java commands. Its size can be set by JAVA_POOL_SIZE parameter in init.ora initialization parameter file.&lt;br /&gt;&lt;br /&gt;Now as we have discussed the SGA components, let us now switch Background process which work behind the scene in instance, in cooperation with SGA:-&lt;br /&gt;&lt;br /&gt;1.&lt;span style="font-weight: bold;"&gt; DBWn&lt;/span&gt;:-Database writer (DBWn) process is used to write data from buffer cache into the datafiles (in next discussion). Historically, the database writer is named DBWR. But since some of Oracle version allows us to have more than one database writer, the name is changed to DBWn, where n value is a number 0 to 9.&lt;br /&gt;&lt;br /&gt;2.&lt;span style="font-weight: bold;"&gt; LGWR&lt;/span&gt;:- Log writer (LGWR) process is similar to DBWn. It writes the redo entries from redo log buffer into the redo log files.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;CKPT&lt;/span&gt;:- Checkpoint (CKPT) is a process to give a signal to DBWn to writes data in the buffer cache into datafiles. It will also updates datafiles and control files header when log file switch occurs.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;SMON&lt;/span&gt;:- System Monitor (SMON) process is used to recover the system crach or instance failure by applying the entries in the redo log files to the datafiles.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;PMON&lt;/span&gt;:- Process Monitor (PMON) process is used to clean up work after failed processes by rolling back the transactions and releasing other resources.&lt;br /&gt;&lt;br /&gt;So, in this article we discussed the basic virtual (logical) components of oracle database and instance. Physical structure of database is some thing which is easy to understand and main component . So let us see it in next discussion.&lt;br /&gt;&lt;br /&gt;Your comments are always welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-1213169123299513460?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/1213169123299513460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-bsic-architecture.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/1213169123299513460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/1213169123299513460'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-bsic-architecture.html' title='Oracle Basic Architecture'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0ty0mpYphsU/SYktXhpZmiI/AAAAAAAAACk/co1d_Lk1AJc/s72-c/image025.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-7629122986701141189</id><published>2009-02-02T21:29:00.000-08:00</published><updated>2009-02-02T21:57:11.788-08:00</updated><title type='text'>Few Things To Remember For Oracle Students</title><content type='html'>Hi all,&lt;br /&gt;&lt;br /&gt;In this article i am going to discuss my own experience and what i was taught when i was an oracle student.&lt;br /&gt;&lt;br /&gt;Many of us always confuse on 'How to study oracle?', 'How to prepare for oracle online exams?' and lot more question about oracle. Many people on oracle forum ask how oracle can be studied?&lt;br /&gt;&lt;br /&gt;Look oracle is a very interesting technology and practical too. If you have joined oracle training program then they will teach you all the theory part, how oracle works, what are the components of oracle and let you practice on their system. But is it sufficient? practicing a topic of oracle one in a day may make you perfect in that topic, but is it sufficient to be a good DBA? answers might vary.&lt;br /&gt;&lt;br /&gt;But according to me, along with practicing oracle topic with theory, you should practice previous or old topic as well. This will keep you connected with your total progress. Following are some tips which are discussed by experts like Aman sharma, Pavan kumar, Satish kandi, and many more on oracle forum for oracle beginners. Lets have a look:-&lt;br /&gt;&lt;br /&gt;1. As an oracle student you should have enough knowledge about RDBMS and oracle corporation and its product. Its not in your OCP curriculum, but its a good gesture to have knowledge about the company, whose product you are going to use.&lt;br /&gt;&lt;br /&gt;2. First of all if you have a system at your home, install oracle database on it and start practicing. If you don't have one, then you have to spend some extra hours at your institute.&lt;br /&gt;&lt;br /&gt;3. Try to learn how oracle services start and stop on windows. You should have a bit knowledge about operating system process for this. But best suggestion is try to learn oracle on Linux platform. I heard that all institute are providing training on Linux platform now a days, which is a good thing.&lt;br /&gt;&lt;br /&gt;4. Don't hesitate to ask, if you stuck on something. Please remember there is always a senior/expert to ask in IT sector.&lt;br /&gt;&lt;br /&gt;5. Oracle has some components which are virtual, so be sure to identify them clearly. You should have very good understanding of oracle instance in order to understand oracle internals.&lt;br /&gt;&lt;br /&gt;6. Read a lot of documents as you can. I am very bad at this. But still it is recommended by experts to keep reading. Everything is documented in oracle, you jut have to Google it.&lt;br /&gt;&lt;br /&gt;7. Last but not the least, DBA is a very responsible job to do. Do not expect to get job as you complete you certification. Keep practicing on you machine, do what worst can happen to your database and try to recover it. Treat your home PC as a production database and you will find you are getting real world experience.&lt;br /&gt;&lt;br /&gt;hope this helps you to be a good oracle student.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-7629122986701141189?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/7629122986701141189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/few-things-to-remember-for-oracle.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/7629122986701141189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/7629122986701141189'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/few-things-to-remember-for-oracle.html' title='Few Things To Remember For Oracle Students'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-2957786122273194537</id><published>2009-02-01T23:07:00.000-08:00</published><updated>2009-02-02T02:32:44.114-08:00</updated><title type='text'>Oracle Certifications</title><content type='html'>Many students who are interested in making career in oracle, ask me ' how we can get certified?' ,'what is importance of certification?', 'what are the steps to get certified?'&lt;br /&gt;&lt;br /&gt;Look, learning oracle means to learn how oracle works, its internals, its component, how we can get optimum from our system, how to resolve user queries and many more...&lt;br /&gt;&lt;br /&gt;Lets have a detailed look on above topics,&lt;br /&gt;&lt;br /&gt;1. Oracle corporation offers oracle certification. if you clear these exams then you can be appointed as oracle DBA, database analyst, backup admin etc.,&lt;br /&gt;&lt;br /&gt;2. Very popular certification which is also a minimum requirement for perusing career in oracle and to get job as 'Database Administrator' is 'Oracle Certified Professional (OCP)'. OCP's have a deep knowledge of oracle working.&lt;br /&gt;&lt;br /&gt;3. To get certified you must complete as hands on course for oracle certification examination. Find for prometric centers in your city on oracle website.&lt;br /&gt;&lt;br /&gt;4. There are 4 papers which you have to complete to acquire OCP certification.&lt;br /&gt;  A) Introduction to oracle&lt;br /&gt;  B) Fundamental I&lt;br /&gt;&lt;br /&gt;After completing these two papers you are called as 'Oracle Certified Associate (OCA). In this duration you learn how to use SQL language to retrieve, manipulate, delete and insert data in oracle database. In second paper you learn the architecture of oracle database, what are the components of oracle database, how they are work, etc.,&lt;br /&gt;&lt;br /&gt;  C) Fundamentals II&lt;br /&gt;  D) Performance Tuning&lt;br /&gt;&lt;br /&gt;During these season you will learn backup and recovery strategies for oracle database (we will discus them in coming topics). and in last paper you will learn how to tun your database for best performance, means how to size database components for their optimum use.&lt;br /&gt;&lt;br /&gt;there are other certifications too, which hold very high level in oracle community like Oracle Certified Master (OCM), RAC administrator etc. you can find information about all of them on following site:&lt;br /&gt;&lt;br /&gt;http://education.oracle.com/&lt;br /&gt;&lt;br /&gt;Hey, don't get scared....oracle is not a devil, by this time you have a very little idea what is oracle and there are some component that runs it.&lt;br /&gt;&lt;br /&gt;As we discover oracle in our future topic you will become more clear. and i know you are little confuse also by this time. don't worry you can post comments and let me know what you want to know, i will try to post it as soon as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-2957786122273194537?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/2957786122273194537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-certifications.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2957786122273194537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2957786122273194537'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/oracle-certifications.html' title='Oracle Certifications'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2149685870105310166.post-2460375548980037981</id><published>2009-02-01T21:54:00.000-08:00</published><updated>2009-02-01T22:23:31.857-08:00</updated><title type='text'>what Is Oracle?</title><content type='html'>I always wonder when some people as me 'what is oracle?' not necessarily these people are from It field, but oracle is definitely not an UFO for all of us.&lt;br /&gt;&lt;br /&gt;Besides having dictionary meaning ' a shrine where an oracular god is consulted' and 'an authoritative person who divines the future' oracle holds lot of meaning associated with it. For us oracle is a RDBMS (Relational Database Management System). Oracle is an information company. Oracle provides database solutions. rather, explaining it in simple words, 'oracle is a database which holds all your data, tables and if you want images too'.&lt;br /&gt;&lt;br /&gt;Oracle database is #1 database with many features. Larry Ellison and his friends started Software Development Laboratories (SDL) in 1977 and rename their company as oracle, based on their CIA-funded project having code name 'Oracle'.&lt;br /&gt;&lt;br /&gt;Oracle is a database system which holds your data as you want. like an organization may use it to save their employee information, Id's, salary and lots more information. A vendor may use it for storing information about his dealers.&lt;br /&gt;&lt;br /&gt;Like any other excel sheet oracle uses tables and columns to store data, and unlike any other sheet it allows you to see only  a particular row about particular thing like employee, dealer etc.,&lt;br /&gt;&lt;br /&gt;Oracle database use SQL as its manipulation language. you can edit, insert, update and modify your data with this command language.&lt;br /&gt;&lt;br /&gt;For large scale operations oracle is considered as most scalable, consistent and firm database than any other database in market.&lt;br /&gt;&lt;br /&gt;this is what we called very basic about oracle, we can discuss here, as name of this blog is basic oracle. in upcoming post we see how oracle database works, its architecture and its component.&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2149685870105310166-2460375548980037981?l=basicoracledatabase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://basicoracledatabase.blogspot.com/feeds/2460375548980037981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/what-is-oracle.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2460375548980037981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2149685870105310166/posts/default/2460375548980037981'/><link rel='alternate' type='text/html' href='http://basicoracledatabase.blogspot.com/2009/02/what-is-oracle.html' title='what Is Oracle?'/><author><name>Vikrant Dixit</name><uri>http://www.blogger.com/profile/03793609188577824777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='15' src='http://2.bp.blogspot.com/_0ty0mpYphsU/SYawiqTDA1I/AAAAAAAAAB0/Id7AWo_D77M/S220/oraclecert.gif'/></author><thr:total>7</thr:total></entry></feed>
