<?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-6233077182969633798</id><updated>2012-02-12T18:24:12.179+08:00</updated><category term='post start'/><title type='text'>Malaysian Premier Oracle Database blog</title><subtitle type='html'>For Oracle Database Users to discuss technical issues and to build knowledge</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-5264611311413681398</id><published>2011-07-01T09:16:00.003+08:00</published><updated>2011-07-01T09:44:54.480+08:00</updated><title type='text'>Innotiive Asia is Database Company now</title><content type='html'>&lt;div&gt;Innotiive Asia Sdn Bhd is now a database company that specialize in Oracle, MSSQL, MySQL and DB2.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If anybody has any queries or work to be done, please contact us at info@innotiiveasia.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-5264611311413681398?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/5264611311413681398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=5264611311413681398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5264611311413681398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5264611311413681398'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2011/07/innotiive-asia-is-database-company-now.html' title='Innotiive Asia is Database Company now'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-2576423351307827552</id><published>2010-05-20T18:55:00.002+08:00</published><updated>2010-05-20T19:00:33.243+08:00</updated><title type='text'>Looking for Oracle DBAs</title><content type='html'>Hi Guys,&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So long no see.  Innotiive Asia is expanding. Looking for Oracle DBAs. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With Experience. Remuneration comes with experience.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please send your resumes to  hr@innotiiveasia.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Or call me for an interview. 012-2001973&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-2576423351307827552?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/2576423351307827552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=2576423351307827552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2576423351307827552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2576423351307827552'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2010/05/looking-for-oracle-dbas.html' title='Looking for Oracle DBAs'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-2411388029146382047</id><published>2009-10-02T08:02:00.002+08:00</published><updated>2009-10-02T08:15:51.176+08:00</updated><title type='text'>Oracle Blog from Innotiive Asia (M) Sdn Bhd</title><content type='html'>A new oracle blog will be out somewhere on the 2nd week of October 2009 that will be maintained by Innotiive Asia's   Oracle Consultants. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There will be alot of info for new and experienced DBAs. This blog is also used by Innotiive's DBAs to share their experience. You can also share your own experiences and also ask questions and there will a group of dedicated DBAs to answer your questions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please give your suggestions on how to improve this blog so that the DBAs can benefit, especially for Malaysians....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 153, 0);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;http://oracleinnotiive.wordpress.com&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-2411388029146382047?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/2411388029146382047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=2411388029146382047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2411388029146382047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2411388029146382047'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2009/10/oracle-blog-from-innotiive-asia-m-sdn.html' title='Oracle Blog from Innotiive Asia (M) Sdn Bhd'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-4289696660431829458</id><published>2009-08-10T11:07:00.001+08:00</published><updated>2009-08-10T11:11:49.554+08:00</updated><title type='text'>Why is excessive redo generated during an Online/Hot Backup</title><content type='html'>Just a question asked by someone and here is the answer. There is no better person to answer this question than Tom &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Kyte&lt;/span&gt;...:-)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;!--StartFragment--&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;There is not &lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;excessive&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; redo generated, there is additional information logged into &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;the online redo log during a hot backup the first time a block is modified in a &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;tablespace&lt;/span&gt; that is in hot backup mode.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;in hot backup mode only 2 things are different:&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;o the first time a block is changed in a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;datafile&lt;/span&gt; that is in hot backup mode, the ENTIRE &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;BLOCK is written to the redo log files, not just the changed bytes.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Normally only the &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;changed bytes (a redo vector) is written. In hot backup mode, the entire block is logged &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;the FIRST TIME.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;This is because you can get into a situation where the process copying &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;datafile&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DBWR&lt;/span&gt; are working on the same block simultaneously. &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Lets say they are &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;and the OS blocking read factor is 512bytes (the OS reads 512 bytes from disk at a time). &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;The backup program goes to read an 8k Oracle block.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;The OS gives it 4k.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Meanwhile -- &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DBWR&lt;/span&gt; has asked to rewrite this block.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;the OS schedules the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DBWR&lt;/span&gt; write to occur right &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;now.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;The entire 8k block is rewritten.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;The backup program starts running again &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;(multi-tasking OS here) and reads the last 4k of the block.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;The backup program has now &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;gotten an impossible block -- the head and tail are from two points in time.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;We cannot &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;deal with that during recovery.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;Hence, we log the entire block image so that during &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;recovery, this block is totally rewritten from redo and is consistent with itself at &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;least.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;We can recover it from there.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;o the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;datafile&lt;/span&gt; headers which contain the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;SCN&lt;/span&gt; of the last completed checkpoint are NOT &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;updated while a file is in hot backup mode.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;This lets the recovery process understand &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;what archive redo log files might be needed to fully recover this file.&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt; &lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;To limit the effect of this additional logging, you should ensure you only place one &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;tablepspace&lt;/span&gt; at a time in backup mode and bring the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;tablespace&lt;/span&gt; out of backup mode as soon &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-pagination:none;mso-layout-grid-align:none; text-autospace:none"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;as you have backed it up.&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;This will reduce the number of blocks that may have to be &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 16.5pt; "&gt;&lt;span class="Apple-style-span" style="font-family: arial;"&gt;logged to the minimum possible.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;   &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-4289696660431829458?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/4289696660431829458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=4289696660431829458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4289696660431829458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4289696660431829458'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2009/08/why-is-excessive-redo-generated-during.html' title='Why is excessive redo generated during an Online/Hot Backup'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-5024176516907877358</id><published>2009-02-28T11:10:00.003+08:00</published><updated>2009-02-28T11:15:49.630+08:00</updated><title type='text'>Will be blogging again!!!</title><content type='html'>Please accept my appologies for not blogging for 8 months...... Been busy being a new father....&lt;br /&gt;&lt;br /&gt;Will be starting to blog very soon. Please lookup this blog for new and informative issues on Oracle Database.&lt;br /&gt;&lt;br /&gt;Thank y0u and see you soon.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-5024176516907877358?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/5024176516907877358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=5024176516907877358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5024176516907877358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5024176516907877358'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2009/02/will-be-blogging-again.html' title='Will be blogging again!!!'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7428990857126528777</id><published>2008-07-03T12:48:00.002+08:00</published><updated>2008-07-03T13:28:17.219+08:00</updated><title type='text'>INITIALIZATION PARAMETERS</title><content type='html'>Server Parameters for Oracle 9i and 10g&lt;br /&gt;&lt;span style="color:#009900;"&gt;Green &lt;/span&gt;= New in 10g&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Red&lt;/span&gt; = Valid in 9i but dropped (or hidden) in 10g&lt;br /&gt;&lt;strong&gt;Bold&lt;/strong&gt; = Static Parameter - change in Pfile/SPfile&lt;br /&gt;Normal= Dynamic Parameter - change in Pfile/SPfile/ALTER SYSTEM /SESSION&lt;br /&gt;PARAMETER DESCRIPTION&lt;br /&gt;------------------------------ ----------------------------------------&lt;br /&gt;ACTIVE_INSTANCE_COUNT = int Active instances in the cluster&lt;br /&gt;AQ_TM_PROCESSES = int Number of AQ Time Managers to start&lt;br /&gt;ARCHIVE_LAG_TARGET = int Max no. seconds of redos the standby could lose&lt;br /&gt;&lt;span style="color:#009900;"&gt;asm_diskgroups&lt;/span&gt; = string Disk groups to mount automatically&lt;br /&gt;&lt;span style="color:#009900;"&gt;asm_diskstring&lt;/span&gt; = string Disk set locations for discovery&lt;br /&gt;&lt;span style="color:#009900;"&gt;asm_power_limit&lt;/span&gt; = int Number of processes for disk rebalancing&lt;br /&gt;&lt;strong&gt;AUDIT_FILE_DEST&lt;/strong&gt; = 'directory' Directory in which auditing files are to reside&lt;br /&gt;&lt;strong&gt;AUDIT_SYS_OPERATIONS&lt;/strong&gt; = {TRUEFALSE}&lt;br /&gt;&lt;strong&gt;AUDIT_TRAIL&lt;/strong&gt; = {NONE  FALSE  DB  TRUE  OS} Enable system auditing 9i&lt;br /&gt;&lt;span style="color:#009900;"&gt;AUDIT_TRAIL&lt;/span&gt; = {NONE  DB  DB_EXTENDED OS} Enable system auditing 10g&lt;br /&gt;&lt;strong&gt;BACKGROUND_CORE_DUMP&lt;/strong&gt; = {PARTIAL  FULL}&lt;br /&gt;BACKGROUND_DUMP_DEST = 'path or directory'&lt;br /&gt;BACKUP_TAPE_IO_SLAVES = {TRUE  FALSE} DEFERRED&lt;br /&gt;&lt;strong&gt;BITMAP_MERGE_AREA_SIZE&lt;/strong&gt; = int Memory for BITMAP MERGE&lt;br /&gt;&lt;strong&gt;BLANK_TRIMMING&lt;/strong&gt; = {TRUEFALSE}&lt;br /&gt;&lt;strong&gt;CIRCUITS&lt;/strong&gt; = int&lt;br /&gt;&lt;strong&gt;CLUSTER_DATABASE&lt;/strong&gt; = {TRUEFALSE} If TRUE startup in cluster database mode&lt;br /&gt;&lt;strong&gt;CLUSTER_DATABASE_INSTANCES&lt;/strong&gt; = int&lt;br /&gt;&lt;strong&gt;CLUSTER_INTERCONNECTS&lt;/strong&gt; = ipaddr [:ipaddr...] Interconnects for RAC use&lt;br /&gt;&lt;strong&gt;COMMIT_POINT_STRENGTH&lt;/strong&gt; = int&lt;br /&gt;&lt;strong&gt;COMPATIBLE&lt;/strong&gt; = release_number [CHAR: 9.2.0.0.0]&lt;br /&gt;CONSTRAINT[S] = { IMMEDIATE  DEFERRED  DEFAULT }&lt;br /&gt;CONTROL_FILE_RECORD_KEEP_TIME = int Time in Days&lt;br /&gt;&lt;strong&gt;CONTROL_FILES&lt;/strong&gt; =filename [,filename [...] ]&lt;br /&gt;CORE_DUMP_DEST = 'text'&lt;br /&gt;&lt;strong&gt;CPU_COUNT&lt;/strong&gt; = int&lt;br /&gt;C&lt;strong&gt;REATE_BITMAP_AREA_SIZE &lt;/strong&gt;= int&lt;br /&gt;CREATE_STORED_OUTLINES = {TRUE  FALSE  'category_name' } [NOOVERRIDE]&lt;br /&gt;CURSOR_SHARING = {SIMILAR  EXACT  FORCE}&lt;br /&gt;&lt;strong&gt;CURSOR_SPACE_FOR_TIME&lt;/strong&gt; = {TRUEFALSE}&lt;br /&gt;CURRENT_SCHEMA = schema Change the current schema of the session&lt;br /&gt;DB_2k_cache_size = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of cache for 2K buffers&lt;br /&gt;DB_4k_cache_size = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of cache for 4K buffers&lt;br /&gt;DB_8k_cache_size = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of cache for 8K buffers&lt;br /&gt;DB_16k_cache_size = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of cache for 16K buffers&lt;br /&gt;DB_32k_cache_size = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of cache for 32K buffers&lt;br /&gt;&lt;strong&gt;DB_BLOCK_BUFFERS&lt;/strong&gt; = int Deprecated in favour of DB_CACHE_ SIZE&lt;br /&gt;DB_BLOCK_CHECKING = {TRUE  FALSE} DEFERRED&lt;br /&gt;DB_BLOCK_CHECKSUM = {TRUE  FALSE}&lt;br /&gt;&lt;strong&gt;DB_BLOCK_SIZE&lt;/strong&gt; = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;] Do not alter after db creation&lt;br /&gt;&lt;strong&gt;DB_CACHE_ADVICE&lt;/strong&gt; = {ON  READY  OFF}&lt;br /&gt;DB_CACHE_SIZE = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;DB_CREATE_FILE_DEST = directory&lt;br /&gt;DB_CREATE_ONLINE_LOG_DEST_n = directory (where n = 1-5)&lt;br /&gt;Default locn for Oracle-managed control files and online redo logs.&lt;br /&gt;&lt;strong&gt;DB_DOMAIN&lt;/strong&gt; = domain_name Directory part of global database name&lt;br /&gt;DB_FILE_MULTIBLOCK_READ_COUNT = int&lt;br /&gt;&lt;strong&gt;DB_FILE_NAME_CONVERT&lt;/strong&gt; = [(]'dbfile1' , 'dbfile2'...[)]&lt;br /&gt;Datafile name convert patterns and strings&lt;br /&gt;for standby/clone db [old string, new string]&lt;br /&gt;&lt;strong&gt;DB_FILES&lt;/strong&gt; = int&lt;br /&gt;&lt;span style="color:#009900;"&gt;db_flashback_retention_target&lt;/span&gt; = int Max Flashback Database log retention (minutes)&lt;br /&gt;DB_KEEP_CACHE_SIZE = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;&lt;strong&gt;DB_NAME&lt;/strong&gt; = database_name&lt;br /&gt;&lt;span style="color:#009900;"&gt;db_recovery_file_dest&lt;/span&gt; = string Default database recovery file location&lt;br /&gt;&lt;span style="color:#009900;"&gt;db_recovery_file_dest_size&lt;/span&gt; = int Database recovery files size limit&lt;br /&gt;DB_RECYCLE_CACHE_SIZE = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;&lt;span style="color:#009900;"&gt;db_unique_name&lt;/span&gt; = string Database Unique Name&lt;br /&gt;&lt;strong&gt;DB_WRITER_PROCESSES&lt;/strong&gt; = int Number of background database writer&lt;br /&gt;processes to start&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;DBLINK_ENCRYPT_LOGIN&lt;/span&gt; = {TRUEFALSE} Enforce password encryption for distributed login&lt;br /&gt;&lt;strong&gt;DBWR_IO_SLAVES&lt;/strong&gt; = int&lt;br /&gt;&lt;span style="color:#009900;"&gt;DDL_WAIT_FOR_LOCKS&lt;/span&gt; = {TRUEFALSE} Disable NOWAIT DML lock acquisitions&lt;br /&gt;DG_BROKER_CONFIG_FILEn = filename (where n = 1 or 2)&lt;br /&gt;DG_BROKER_START = {TRUEFALSE}&lt;br /&gt;&lt;strong&gt;DISK_ASYNCH_IO&lt;/strong&gt; = {TRUEFALSE}&lt;br /&gt;DISPATCHERS = 'dispatch_clause' (see SQL ref manual for detail)(MTS_Dispatchers in Ora 8/9)&lt;br /&gt;&lt;strong&gt;DISTRIBUTED_LOCK_TIMEOUT&lt;/strong&gt; = int&lt;br /&gt;&lt;strong&gt;DML_LOCKS&lt;/strong&gt; = int One for each table modified in a transaction&lt;br /&gt;DRS_START = {TRUEFALSE} Start DG Broker monitor (DMON process)&lt;br /&gt;ERROR_ON_OVERLAP_TIME = {TRUE  FALSE}&lt;br /&gt;&lt;strong&gt;ENQUEUE_RESOURCES&lt;/strong&gt; = int Resources for enqueues&lt;br /&gt;&lt;strong&gt;EVENT&lt;/strong&gt; = debug_string Debug event control&lt;br /&gt;FAL_CLIENT = string Fetch archive log Client&lt;br /&gt;FAL_SERVER = string Fetch archive log Server&lt;br /&gt;FAST_START_IO_TARGET = int Upper bound on recovery reads(Deprecated)&lt;br /&gt;FAST_START_MTTR_TARGET = int&lt;br /&gt;FAST_START_PARALLEL_ROLLBACK = {FALSE  LOW  HIGH}&lt;br /&gt;Max number of parallel recovery slaves&lt;br /&gt;FILE_MAPPING = {TRUEFALSE}&lt;br /&gt;&lt;span style="color:#009900;"&gt;FILEIO_NETWORK_ADAPTERS&lt;/span&gt; = char Network Adapters for File I/O&lt;br /&gt;FILESYSTEMIO_OPTIONS = {none  setall  directIO  asynch}&lt;br /&gt;FIXED_DATE = {'YYYY_MM_DD_HH24_MI-SS'  'date in default format'}&lt;br /&gt;Fix SYSDATE value for debugging&lt;br /&gt;&lt;strong&gt;GC_FILES_TO_LOCKS&lt;/strong&gt; = '{file_list=lock_count[!blocks][EACH][:...]}'&lt;br /&gt;RAC/OPS - lock granularity number of&lt;br /&gt;global cache locks per file (DFS)&lt;br /&gt;&lt;span style="color:#009900;"&gt;GCS_SERVER_PROCESSES&lt;/span&gt; = int Number of background gcs server processes to start&lt;br /&gt;&lt;strong&gt;GLOBAL_CONTEXT_POOL_SIZE&lt;/strong&gt; = {1 MB  int MB}&lt;br /&gt;GLOBAL_NAMES = {TRUE  FALSE} Enforce that database links have same&lt;br /&gt;name as remote database&lt;br /&gt;HASH_AREA_SIZE = int Size of in-memory hash work area (Shared Server)&lt;br /&gt;HASH_JOIN_ENABLED = {TRUEFALSE}&lt;br /&gt;&lt;strong&gt;HI_SHARED_MEMORY_ADDRESS&lt;/strong&gt; = int SGA starting address (high order 32-bits&lt;br /&gt;on 64-bit platforms)&lt;br /&gt;HS_AUTOREGISTER = {TRUE  FALSE} Enable automatic server DD updates in HS&lt;br /&gt;agent self-registration&lt;br /&gt;&lt;strong&gt;IFILE&lt;/strong&gt; = parameter_file_name Include file in init.ora&lt;br /&gt;INSTANCE = int Connect to a different RAC instance&lt;br /&gt;&lt;strong&gt;INSTANCE_GROUPS&lt;/strong&gt; = group_name [,group_name ... ]&lt;br /&gt;&lt;strong&gt;INSTANCE_NAME&lt;/strong&gt; = instance_id&lt;br /&gt;&lt;strong&gt;INSTANCE_NUMBER&lt;/strong&gt; = int&lt;br /&gt;&lt;span style="color:#009900;"&gt;INSTANCE_TYPE&lt;/span&gt; = {RDBMSASM} Type of instance to be executed&lt;br /&gt;RDBMS or Automated Storage Management&lt;br /&gt;ISOLATION_LEVEL = {SERIALIZABLE  READ COMMITTED}&lt;br /&gt;&lt;strong&gt;JAVA_MAX_SESSIONSPACE_SIZE&lt;/strong&gt; = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;&lt;strong&gt;JAVA_POOL_SIZE&lt;/strong&gt; = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;&lt;strong&gt;JAVA_SOFT_SESSIONSPACE_LIMIT&lt;/strong&gt; = int&lt;br /&gt;JOB_QUEUE_PROCESSES = int&lt;br /&gt;LARGE_POOL_SIZE = int [&lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;]&lt;br /&gt;LICENSE_MAX_SESSIONS = int Maximum number of non-system user sessions&lt;br /&gt;(concurrent licensing)&lt;br /&gt;LICENSE_MAX_USERS = int Maximum number of named users that can be created&lt;br /&gt;(named user licensing)&lt;br /&gt;LICENSE_SESSIONS_WARNING = int Warning level for number of non-system&lt;br /&gt;user sessions&lt;br /&gt;LOCAL_LISTENER = network_name Define which listeners instances register with&lt;br /&gt;&lt;strong&gt;LOCK_NAME_SPACE&lt;/strong&gt; = namespace Used for generating lock names for standby/primary database&lt;br /&gt;assign each a unique name space&lt;br /&gt;&lt;strong&gt;LOCK_SGA&lt;/strong&gt; = {TRUE  FALSE}&lt;br /&gt;&lt;span style="color:#009900;"&gt;LOG_ARCHIVE_CONFIG&lt;/span&gt; = [SENDNOSEND] [RECEIVENORECEIVE] [ DG_CONFIG]&lt;br /&gt;LOG_ARCHIVE_DEST = string&lt;br /&gt;LOG_ARCHIVE_DEST_n = {null_string &lt;br /&gt;{LOCATION=local_pathname  SERVICE=tnsnames_service}&lt;br /&gt;[MANDATORY  OPTIONAL] [REOPEN[=integer]]}&lt;br /&gt;LOG_ARCHIVE_DEST_STATE_n = {ENABLE  DEFER} (n = 1-10)&lt;br /&gt;LOG_ARCHIVE_DUPLEX_DEST = string&lt;br /&gt;&lt;strong&gt;LOG_ARCHIVE_FORMAT&lt;/strong&gt; = string [CHAR: "MyApp%S.ARC"]&lt;br /&gt;&lt;span style="color:#009900;"&gt;LOG_ARCHIVE_LOCAL_FIRST&lt;/span&gt; = {TRUEFALSE} Establish EXPEDITE attribute default value&lt;br /&gt;LOG_ARCHIVE_MAX_PROCESSES = int&lt;br /&gt;LOG_ARCHIVE_MIN_SUCCEED_DEST = int Minimum number of archive destinations&lt;br /&gt;that must succeed&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;LOG_ARCHIVE_START&lt;/span&gt; = {TRUE  FALSE}&lt;br /&gt;LOG_ARCHIVE_TRACE = int Tracing level for Archive logs&lt;br /&gt;&lt;strong&gt;LOG_BUFFER&lt;/strong&gt; = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Redo circular buffer size&lt;br /&gt;LOG_CHECKPOINT_INTERVAL = int Checkpoint threshold, # redo blocks&lt;br /&gt;LOG_CHECKPOINT_TIMEOUT = int Checkpoint threshold, maximum time interval between&lt;br /&gt;checkpoints in seconds&lt;br /&gt;LOG_CHECKPOINTS_TO_ALERT = {TRUEFALSE} Log checkpoint begin/end to alert file&lt;br /&gt;&lt;strong&gt;LOG_FILE_NAME_CONVERT&lt;/strong&gt; = ['old string','new string']&lt;br /&gt;Convert patterns/strings for standby/clone db&lt;br /&gt;&lt;strong&gt;LOG_PARALLELISM&lt;/strong&gt; = int Number of log buffer strands&lt;br /&gt;&lt;strong&gt;LOGMNR_MAX_PERSISTENT_SESSIONS&lt;/strong&gt; = int Maximum no of threads to mine&lt;br /&gt;&lt;strong&gt;MAX_DISPATCHERS&lt;/strong&gt; = int Max number of dispatchers&lt;br /&gt;MAX_DUMP_FILE_SIZE = {size &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;UNLIMITED} [DEFERRED]&lt;br /&gt;&lt;strong&gt;MAX_ENABLED_ROLES&lt;/strong&gt; = int Max number of roles a user can have enabled&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;MAX_ROLLBACK_SEGMENTS&lt;/span&gt; = int Max number of rollback segments in SGA cache&lt;br /&gt;&lt;strong&gt;MAX_SHARED_SERVERS&lt;/strong&gt; = int Max number of shared servers]&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_circuits&lt;/span&gt; = int Max number of circuits (10g see CIRCUITS)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_dispatchers&lt;/span&gt; Specifications of dispatchers (10g see DISPATCHERS)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;MTS_LISTENER_ADDRESS&lt;/span&gt; Address(es) of network listener [CHAR]&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_max_dispatchers&lt;/span&gt; Max number of dispatchers (10g see MAX_DISPATCHERS)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_max_servers&lt;/span&gt; Max number of shared servers (10g see MAX_SHARED_SERVERS)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;MTS_MULTIPLE_LISTENERS&lt;/span&gt; = {TRUEFALSE} Are multiple listeners enabled?&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;MTS_SERVERS&lt;/span&gt; = int Number of shared servers to start up [NUMBER]&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_service&lt;/span&gt; = string Service supported by dispatchers [CHAR]&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;mts_sessions&lt;/span&gt; = int max number of shared server sessions [NUMBER]&lt;br /&gt;&lt;br /&gt;nls_calendar ='string' NLS calendar system name (Default=GREGORIAN)&lt;br /&gt;nls_comp = {BINARY  ANSI} NLS comparison, Enterprise Edition&lt;br /&gt;nls_currency ='string' NLS local currency symbol&lt;br /&gt;nls_date_format ='format' NLS Oracle date format&lt;br /&gt;nls_date_language =language NLS date language name (Default=AMERICAN)]&lt;br /&gt;nls_dual_currency = currency_symbol&lt;br /&gt;nls_iso_currency = territory Override the default set by NLS_TERRITORY&lt;br /&gt;nls_language = language NLS language name (session default)&lt;br /&gt;nls_length_semantics = {BYTECHAR}} Default when creating new columns&lt;br /&gt;nls_nchar_conv_excp = {TRUEFALSE} Raise an exception instead of&lt;br /&gt;allowing an implicit conversion&lt;br /&gt;nls_numeric_characters ="decimal_character group_separator"&lt;br /&gt;nls_sort = {BINARY linguistic_def} Case-sensitive or insensitive sort&lt;br /&gt;linguistic_def may be BINARY, BINARY_CI, BINARY_AI,&lt;br /&gt;GERMAN, GERMAN_CI, etc&lt;br /&gt;nls_territory = territory Territory name (country settings)&lt;br /&gt;nls_time_format =time_format Time format&lt;br /&gt;nls_time_tz_format = time_format Time with timezone format&lt;br /&gt;nls_timestamp_format = time_format Timestamp format&lt;br /&gt;nls_timestamp_tz_format = time_format Timestamp with timezone format&lt;br /&gt;&lt;br /&gt;O7_DICTIONARY_ACCESSIBILITY = {TRUE  FALSE} Allow Dictionary Access (as in Ora V7 )&lt;br /&gt;OBJECT_CACHE_MAX_SIZE_PERCENT = int DEFERRED Space for application objects Max&lt;br /&gt;OBJECT_CACHE_OPTIMAL_SIZE = int DEFERRED Space for application objects Min&lt;br /&gt;OLAP_PAGE_POOL_SIZE =int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt;&lt;br /&gt;OPEN_CURSORS = int Max # cursors per session&lt;br /&gt;&lt;strong&gt;OPEN_LINKS&lt;/strong&gt; = int Max # open links per Session&lt;br /&gt;&lt;strong&gt;OPEN_LINKS_PER_INSTANCE&lt;/strong&gt; = int Max # open links per instance&lt;br /&gt;OPTIMIZER_DYNAMIC_SAMPLING = int&lt;br /&gt;OPTIMIZER_FEATURES_ENABLE = {8.0.08.0.38.0.48.0.58.0.68.0.78.1.08.1.38.1.48.1.58.1.68.1.79.0.09.0.19.2.0}&lt;br /&gt;Configure qry optimiser based on an Oracle release No.&lt;br /&gt;OPTIMIZER_INDEX_CACHING = int Percent to cache (favour nested loop joins &amp;amp; IN-list)&lt;br /&gt;OPTIMIZER_INDEX_COST_ADJ = int Adjust the cost of index vs FTS&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;OPTIMIZER_MAX_PERMUTATIONS&lt;/span&gt; = int Max join permutations per qry block&lt;br /&gt;OPTIMIZER_MODE = [RULE  CHOOSE  FIRST_ROWS  ALL_ROWS]&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_collection_name&lt;/span&gt; =collection Name for use by Oracle TRACE&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_collection_path&lt;/span&gt; =path Path to .cdf &amp;amp; .dat files (ORACLE_HOME/otrace/admin/cdf)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_collection_size&lt;/span&gt; =int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Max trace file size&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_enable&lt;/span&gt; = {TRUEFALSE} Enable Oracle Trace&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_facility_name&lt;/span&gt; ={ORACLED  ORACLEE  ORACLESM  ORACLEC} TRACE event set&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;oracle_trace_facility_path&lt;/span&gt; =path TRACE definition files: ORACLE_HOME/otrace/admin/fdf/&lt;br /&gt;OS_AUTHENT_PREFIX = prefix Prefix for auto-logon accounts [string]&lt;br /&gt;OS_ROLES = {TRUEFALSE} Retrieve roles from the operating system&lt;br /&gt;PARALLEL_ADAPTIVE_MULTI_USER = {TRUE  FALSE} Tune degree of parallelism&lt;br /&gt;PARALLEL_AUTOMATIC_TUNING = {TRUEFALSE} Automatic tuning&lt;br /&gt;PARALLEL_EXECUTION_MESSAGE_SIZE = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Message buffer size&lt;br /&gt;PARALLEL_INSTANCE_GROUP = 'group' RAC: Limit instances used&lt;br /&gt;&lt;strong&gt;PARALLEL_MAX_SERVERS&lt;/strong&gt; = int&lt;br /&gt;PARALLEL_MIN_PERCENT = int Min percent of threads required for&lt;br /&gt;parallel query&lt;br /&gt;&lt;strong&gt;PARALLEL_MIN_SERVERS&lt;/strong&gt; = int&lt;br /&gt;PARALLEL_SERVER = [TRUE  FALSE] Startup in parallel server mode&lt;br /&gt;PARALLEL_SERVER_instances = int No. of instances (used for sizing SGA)&lt;br /&gt;PARALLEL_THREADS_PER_CPU = int&lt;br /&gt;PARTITION_VIEW_ENABLED = {TRUEFALSE} Deprecated (use partition TABLES)&lt;br /&gt;PGA_AGGREGATE_TARGET = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Automatically size the SQL working area&lt;br /&gt;&lt;span style="color:#009900;"&gt;plsql_code_type&lt;/span&gt; ={INTERPRETED  NATIVE} Code-type&lt;br /&gt;PLSQL_COMPILER_FLAGS = { [DEBUG  NON_DEBUG] [INTERPRETED  NATIVE] }&lt;br /&gt;plsql_debug ={TRUE  FALSE}&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;plsql_native_c_compiler&lt;br /&gt;&lt;/span&gt;plsql_native_library_dir = ['Path_to_directory']&lt;br /&gt;plsql_native_library_subdir_count = int&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;plsql_native_linker&lt;/span&gt; =path Path to linker&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;plsql_native_make_file_name&lt;/span&gt; =path Pathname of make file&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;plsql_native_make_utility&lt;/span&gt; =path Pathname of make utility&lt;br /&gt;&lt;span style="color:#009900;"&gt;plsql_optimize_level&lt;/span&gt; Optimize level&lt;br /&gt;PLSQL_V2_COMPATIBILITY = {TRUE  FALSE} [DEFERRED]&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;plsql_warnings&lt;/span&gt; =string Compiler warnings settings&lt;br /&gt;See also DBMS_WARNING and DBA_PLSQL_OBJECT_SETTINGS&lt;br /&gt;&lt;strong&gt;PRE_PAGE_SGA&lt;/strong&gt; = {TRUEFALSE} Pre-page sga for process&lt;br /&gt;&lt;strong&gt;PROCESSES&lt;/strong&gt; = int User processes&lt;br /&gt;QUERY_REWRITE_ENABLED = {FORCE  TRUE  FALSE} [DEFERRED  NOOVERRIDE]&lt;br /&gt;QUERY_REWRITE_INTEGRITY = {ENFORCED  TRUSTED  STALE_TOLERATED}&lt;br /&gt;&lt;strong&gt;RDBMS_SERVER_DN&lt;/strong&gt; = Distinguished Name&lt;br /&gt;&lt;strong&gt;READ_ONLY_OPEN_DELAYED&lt;/strong&gt; = {TRUE  FALSE} Delay opening read_only files until first access&lt;br /&gt;&lt;strong&gt;RECOVERY_PARALLELISM&lt;/strong&gt; = int Server processes to use for parallel recovery&lt;br /&gt;&lt;strong&gt;REMOTE_ARCHIVE_ENABLE&lt;/strong&gt; = [RECEIVE[,SEND]  FALSE  TRUE]&lt;br /&gt;Enable or disable sending archived redo logs to/from remote destinations&lt;br /&gt;REMOTE_DEPENDENCIES_MODE = {TIMESTAMP  SIGNATURE}&lt;br /&gt;Remote-procedure-call dependencies mode&lt;br /&gt;REMOTE_LISTENER =network_name&lt;br /&gt;&lt;strong&gt;REMOTE_LOGIN_PASSWORDFILE&lt;/strong&gt; ={NONE  SHARED  EXCLUSIVE} Use a password file&lt;br /&gt;REMOTE_OS_AUTHENT = {TRUE  FALSE} Allow non-secure remote clients to use&lt;br /&gt;auto-logon accounts&lt;br /&gt;REMOTE_OS_ROLES = {TRUE  FALSE} Allow non-secure remote clients to use os roles&lt;br /&gt;REPLICATION_DEPENDENCY_TRACKING = {TRUE  FALSE}&lt;br /&gt;RESOURCE_LIMIT = {TRUE  FALSE} Master switch for resource limit&lt;br /&gt;RESOURCE_MANAGER_PLAN = plan_name Turn on Resource Manager plan&lt;br /&gt;resumable_timeout =seconds Set resumable_timeout&lt;br /&gt;ROLLBACK_SEGMENTS = (rbs1 [, rbs2] ... )&lt;br /&gt;ROW_LOCKING = [ALWAYS  DEFAULT  INTENT]&lt;br /&gt;&lt;strong&gt;SERIAL_REUSE&lt;/strong&gt; = {DISABLE  SELECT  DML  PLSQL  ALL} Cursor memmory management&lt;br /&gt;SERVICE_NAMES = db_service_name [,db_service_name [,...] ]&lt;br /&gt;SESSION_CACHED_CURSORS = int Session cursors to cache&lt;br /&gt;&lt;strong&gt;SESSION_MAX_OPEN_FILES&lt;/strong&gt; = int Max no. of BFiles (LOB) each session can open&lt;br /&gt;&lt;strong&gt;SESSIONS&lt;/strong&gt; = int Max no. of user and system sessions&lt;br /&gt;&lt;strong&gt;SGA_MAX_SIZE&lt;/strong&gt; =int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Initial SGA size&lt;br /&gt;&lt;span style="color:#009900;"&gt;sga_target&lt;/span&gt; = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Target size of SGA&lt;br /&gt;&lt;strong&gt;SHADOW_CORE_DUMP&lt;/strong&gt; = {PARTIAL  FULL  NONE} Include SGA in core file&lt;br /&gt;&lt;strong&gt;SHARED_MEMORY_ADDRESS&lt;/strong&gt; = int SGA starting address (platform specific)&lt;br /&gt;&lt;strong&gt;SHARED_POOL_RESERVED_SIZE&lt;/strong&gt; = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Reserved area of shared pool&lt;br /&gt;&lt;strong&gt;SHARED_POOL_SIZE&lt;/strong&gt; = int Size of shared pool&lt;br /&gt;SHARED_SERVERS = int Number of shared servers to start up (MTS)&lt;br /&gt;&lt;strong&gt;SHARED_SERVER_SESSIONS&lt;/strong&gt; = int Max number of shared server sessions&lt;br /&gt;SKIP_UNUSABLE_INDEXES = {TRUE  FALSE}&lt;br /&gt;&lt;span style="color:#009900;"&gt;smtp_out_server&lt;/span&gt; = server_clause utl_smtp server and port configuration parameter&lt;br /&gt;SORT_AREA_RETAINED_SIZE =int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; [DEFERRED] UGA Memory to retain (Shared Server)&lt;br /&gt;SORT_AREA_SIZE = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; [DEFERRED] In-memory sort work area (Shared Server)&lt;br /&gt;SORT_MULTIBLOCK_READ_COUNT Obsolete in 9i&lt;br /&gt;&lt;strong&gt;SPFILE&lt;/strong&gt; =spfile_name Parameter file&lt;br /&gt;&lt;span style="color:#009900;"&gt;sp_name&lt;/span&gt; =name Service Provider Name&lt;br /&gt;&lt;strong&gt;SQL92_SECURITY&lt;/strong&gt; = {TRUE  FALSE} Require select privilege for update/delete&lt;br /&gt;SQL_TRACE = {TRUE  FALSE} Enable SQL trace&lt;br /&gt;&lt;span style="color:#009900;"&gt;sqltune_category&lt;/span&gt; =category Qualifier for applying hintsets&lt;br /&gt;SQL_VERSION =version Sql language version, for compatibility&lt;br /&gt;STANDBY_ARCHIVE_DEST = 'filespec' Standby database archivelog destination&lt;br /&gt;STANDBY_FILE_MANAGEMENT = {MANUAL  AUTO}&lt;br /&gt;Automate file mmanagement on standby DB&lt;br /&gt;STAR_TRANSFORMATION_ENABLED = {TEMP_DISABLE  TRUE  FALSE}&lt;br /&gt;STATISTICS_LEVEL = {ALL  TYPICAL  BASIC} Collect Statistics&lt;br /&gt;&lt;span style="color:#009900;"&gt;streams_pool_size&lt;/span&gt; = int &lt;a href="http://www.ss64.com/orasyntax/initora.html#notes"&gt;bytes&lt;/a&gt; Size of the streams pool&lt;br /&gt;&lt;strong&gt;TAPE_ASYNCH_IO&lt;/strong&gt; = {TRUE  FALSE} Allow I/O requests to tape devices at the same time as CPU processing&lt;br /&gt;&lt;strong&gt;THREAD&lt;/strong&gt; =int Redo thread to use (RAC)&lt;br /&gt;TIMED_OS_STATISTICS = int Gather OS statistics every x seconds&lt;br /&gt;TIMED_STATISTICS = {TRUE  FALSE} Collect time statistics&lt;br /&gt;TIME_ZONE = '[+  -] hh:mm' LOCAL  DBTIMEZONE  'time_zone_region'&lt;br /&gt;TRACE_ENABLED = {TRUE  FALSE} Trace execution path (Internal use only-Oracle support services)&lt;br /&gt;TRACEFILE_IDENTIFIER = "traceid" Trace file custom identifier&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;TRANSACTION_AUDITING&lt;/span&gt; = {TRUE  FALSE} [DEFERRED]&lt;br /&gt;&lt;strong&gt;TRANSACTIONS&lt;/strong&gt; = int Max. number of concurrent active transactions&lt;br /&gt;&lt;strong&gt;TRANSACTIONS_PER_ROLLBACK_SEGMENT&lt;/strong&gt; = int&lt;br /&gt;&lt;strong&gt;UNDO_MANAGEMENT&lt;/strong&gt; = {MANUAL  AUTO} Undo space management mode (Manual=rollback segs)&lt;br /&gt;UNDO_RETENTION = int Undo retention in second&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;UNDO_SUPPRESS_ERRORS&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; &lt;/span&gt;= {TRUE FALSE} Suppress RBU errors in SMU mode&lt;br /&gt;UNDO_TABLESPACE =undoname Select an undo tablespace&lt;br /&gt;USE_INDIRECT_DATA_BUFFERS = {TRUEFALSE} Configure SGA Memory cache for &gt;4Gb RAM&lt;br /&gt;USE_PRIVATE_OUTLINES = {TRUE FALSE category_name }&lt;br /&gt;USE_STORED_OUTLINES = { TRUE FALSE category_name} [NOOVERRIDE]&lt;br /&gt;USER_DUMP_DEST = 'directory_name' User process dump directory&lt;br /&gt;UTL_FILE_DIR Utl_file accessible directories list&lt;br /&gt;&lt;strong&gt;UTL_FILE_DIR&lt;/strong&gt; ='Path1', 'Path2'..&lt;br /&gt;or&lt;br /&gt;UTL_FILE_DIR ='Path1' # Must be&lt;br /&gt;UTL_FILE_DIR ='Path2' # consecutive entries&lt;br /&gt;WORKAREA_SIZE_POLICY = {AUTO  MANUAL} Policy used to size SQL working areas&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ss64.com/orasyntax/initora.html"&gt;http://www.ss64.com/orasyntax/initora.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7428990857126528777?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7428990857126528777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7428990857126528777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7428990857126528777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7428990857126528777'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/07/initialization-parameters.html' title='INITIALIZATION PARAMETERS'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-725943839134032892</id><published>2008-06-16T15:27:00.000+08:00</published><updated>2008-06-16T15:29:23.951+08:00</updated><title type='text'>ALTER TABLESPACE OFFLINE vs. ALTER DATABASE DATAFILE OFFLINE</title><content type='html'>There is a difference between:&lt;br /&gt;Taking the tablespace offline and taking the datafiles offline&lt;br /&gt;&lt;br /&gt;ALTER TABLESPACE (tablespace_name ) OFFLINE; does a checkpoint on all datafiles and then takes the datafiles offline.&lt;br /&gt;&lt;br /&gt;ALTER DATABASE DATAFILE (datafile_path)  OFFLINE;does not perform a checkpoint, so that if the database is open, you may need to perform media recovery when bringing it online.&lt;br /&gt;&lt;br /&gt;That is the reason why:&lt;br /&gt;You cannot do ‘alter database datafile (datafile_path) offline’ if you are in noarchivelog (but tablespace offline works)&lt;br /&gt;You cannot do ‘alter tablespace (tablespace_name) offline’ if database is read-only (but datafile offline works)&lt;br /&gt;&lt;br /&gt;Note that in both cases, you can check the STATUS column from v$datafile to see if the file is online, offline or needs recovery.&lt;br /&gt;&lt;br /&gt;http://www.quest-pipelines.com/pipelines/dba/tips06.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-725943839134032892?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/725943839134032892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=725943839134032892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/725943839134032892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/725943839134032892'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/06/alter-tablespace-offline-vs-alter.html' title='ALTER TABLESPACE OFFLINE vs. ALTER DATABASE DATAFILE OFFLINE'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-6226040028368654028</id><published>2008-06-11T16:45:00.002+08:00</published><updated>2008-06-11T16:48:44.988+08:00</updated><title type='text'>System Change Number (SCN)</title><content type='html'>The system change number (SCN) is an ever-increasing internal timestamp that uniquely identifies a committed version of the database. Every time a user commits a transaction, Oracle records a new SCN. You can obtain SCNs in a number of ways, for example,&lt;br /&gt;&lt;br /&gt;a) alert log.&lt;br /&gt;b) select dbms_flashback.get_system_change_number from dual;&lt;br /&gt;&lt;br /&gt;The SCN plays an important role to determine if the database is in a consistent state or not when the database is brought up. The background process SMON checks the SCN in all datafile headers when the database is started. Everything is fine if all of these SCNs matches with the SCN found in the controlfile. They must be the same. If the SCNs are not same, the database is in an inconsistent state. Recovery is needed.&lt;br /&gt;&lt;br /&gt;The SCN plays a vital role for providing consistent reads.&lt;br /&gt;&lt;br /&gt;Basically, it works as follows: The query reads a db block. This block has as an attribute the SCN when it was last changed. If this SCN is greater than the SCN that was in place when (our) query began, it means that the block was changed after we have started our query. So we have to find an older version of the block. If this block is found in the rollback segments/undo, we use it for our query.&lt;br /&gt;When a (reading) query starts, it is important that the values of the rows selected are the same as when the query started, even if another session has changed those rows. This is refered to as read consistency. Read consistency is achieved through the SCN (system change number).&lt;br /&gt;&lt;br /&gt;When a checkpoint occurs, Oracle must update the headers of all datafiles to record the details of the checkpoint. This is done by the CKPT process. The CKPT process does not write blocks to disk; DBWn always performs that work.&lt;br /&gt;&lt;br /&gt;The System Change Number (SCN) is how Oracle internally keeps track of the timing of events (i.e., transactions) in the database. The SCN does not have a time associated with it, but a higher SCN occurred after a lower SCN. There is no correlation between the SCN values and the time between when the SCNs were generated. Two SCNs that differ by a value of 10 could be generated one second apart or 10 minutes apart.&lt;br /&gt;&lt;br /&gt;Since the online redo log files contain transaction information, it is useful to know when that transaction took place, relative to other transactions. So SCNs are written to the online redo log files. Any record written to the online redo log file has an associated SCN so the database will know when that change took place.&lt;br /&gt;&lt;br /&gt;The SCN is stored in other places as well. One of the most important is the control files. The control file keeps track of changes to the database. As such, it needs to know the SCN.&lt;br /&gt;The datafile headers also contain the SCN of the most recent transaction that changed the datafile’s contents. When you start Oracle, Oracle checks the SCN in the datafile with the SCN in the control file. If the SCN in the datafile is “older” than the SCN in the control file, Oracle knows that the file needs recovery. When you make a tablespace READ ONLY, all of its datafiles have the SCN frozen, but Oracle does not worry about this because it knows the files have not had changes made to it.&lt;br /&gt;Another place the SCN is stored is in the data block. The SCN in the block will show when the block’s contents were last updated.&lt;br /&gt;&lt;br /&gt;From&lt;br /&gt;http://jenniferlinca.wordpress.com/category/backup-and-recovery/&lt;br /&gt;http://searchoracle.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid41_gci1188377,00.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-6226040028368654028?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/6226040028368654028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=6226040028368654028' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/6226040028368654028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/6226040028368654028'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/06/syetem-change-number-scn.html' title='System Change Number (SCN)'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-3225447679379188550</id><published>2008-04-10T14:14:00.001+08:00</published><updated>2008-04-10T14:16:26.741+08:00</updated><title type='text'>Oracle Index Monitoring</title><content type='html'>The Oracle engine maintains all indexes whether it is used or not.There are so many applications out there that creates alot of indexes without knowing Maintenance of these indexes will take resources.Too many unused indexes may also slow down the system ecpecially on systems where there is write intensive.&lt;br /&gt;Index monitoring is a way to identify unused indexes so that you can safely remove them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;TO START OR STOP INDEX MONITORING&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Alter index INDEX_A MONITORING USAGE;&lt;br /&gt;Alter inded INDEX_A NOMONITORING USAGE;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;When you monitor these indexes, make sure you run this during the lifecycle of your applcation.Do not run this when your application is not running because you may not get the true picture.&lt;br /&gt;The information on the monitoring of index usage will be displayed in&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SELECT index_name,       table_name,       monitoring,       used,       start_monitoring,       end_monitoring&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;FROM   v$object_usage&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;WHERE  index_name = 'INDEX_A'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ORDER BY index_name;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You must connect as the object owner to see the usage.&lt;br /&gt;&lt;br /&gt;One flaw in this method is it simply isn't granular enough. All it will tell me is that an index has been used but doesn't give a picture of how often it is used.&lt;br /&gt;&lt;br /&gt;There is a way to do it but it is another story...:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-3225447679379188550?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/3225447679379188550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=3225447679379188550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3225447679379188550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3225447679379188550'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/04/oracle-index-monitoring.html' title='Oracle Index Monitoring'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-8474614083095795411</id><published>2008-03-27T11:56:00.003+08:00</published><updated>2008-03-27T12:02:20.165+08:00</updated><title type='text'>Optimizer_mode and statistics gathering in 10g</title><content type='html'>The OPTIMIZER_MODE parameter has a new default value of ALL_ROWS in OracleDatabase 10g.&lt;br /&gt;In Oracle Database 10g, the Optimizer uses dynamic sampling to get statistics for these tables and uses Cost Based Optimizer(CBO). The other two possible values are FIRST_ROWS_N and FIRST_ROWS.&lt;br /&gt;The CHOOSE and RULE values are no longer supported by Oracle.&lt;br /&gt;&lt;br /&gt;In Oracle Database 10g an automatic statistics gathering job is enabledby default when a database is created .This is because of the default setting STATISTICS_LEVEL=TYPICAL.&lt;br /&gt;This is also true when you do database upgrade. Oracle will automatically collect statistics for alldatabase objects which are missing statistics by running an Oracle Scheduler job(GATHER_STATS_JOB) during a predefined maintenance window.&lt;br /&gt;Statistics on a table are considered stale when more than 10% of the rows are changed.&lt;br /&gt;The maintenance window by default is opens every night from 10:00 pm to 6:00 am and all day on weekends.This can be changed.&lt;br /&gt;&lt;br /&gt;In 9i to gather statistics automatically on tables, you have to set MONITORING on when creating the table or using the alter table command.&lt;br /&gt;In 10g MONITORING and NOMONITORING is no longer in use.It has been depreciated.&lt;br /&gt;&lt;br /&gt;Monitoring tracks the approximate number of DMLs (INSERT, UPDATE, and DELETE)operations for the table since the last time statistics were gathered. information about how many rows are affected is maintained in the SGA, until periodically (about every 15 minutes.This can be changed) after that the background process called SMON flush the data into the data dictionary.(another use of SMON )&lt;br /&gt;This data dictionary information is made AVAILABLE through the tablesDBA_TAB_MODIFICATIONS, ALL_TAB_MODIFICATIONS or USER_TAB_MODIFICATIONS views.&lt;br /&gt;Oracle uses these views to identify tables with stale statistics. Whenever there is 10% change in data in a table, Oracle considers the statistics to be stale.Then it will start to collect statiscts during the maintanence window (STATISTICS_LEVEL=TYPICAL. That is the default)&lt;br /&gt;Since in 10g CBO is used, having up to date statistics is so important to generate good execution plans. Automatic statistics collection is the way to go in 10g.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-8474614083095795411?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/8474614083095795411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=8474614083095795411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8474614083095795411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8474614083095795411'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/03/optimizermode-and-statistics-garthering.html' title='Optimizer_mode and statistics gathering in 10g'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-1531588424351803879</id><published>2008-03-26T11:01:00.002+08:00</published><updated>2008-03-26T11:09:41.740+08:00</updated><title type='text'>Oracle Remote Diagnostic Agent (RDA)</title><content type='html'>&lt;strong&gt;Remote Diagnostic Agent (RDA)&lt;/strong&gt; is a set of command-line diagnostic scripts that are executed by an engine written in the Perl programming language. &lt;br /&gt;RDA is a good tool to gather detailed information about an Oracle environment. The data gathered or the output is  used to aid in problem diagnosisand also  also for seeing the overall system configuration.&lt;br /&gt;&lt;br /&gt;Oracle Support encourages the use of RDA because it provides a detail  picture of the customer's environment. . RDA is designed to be as unobtrusive as possible; it does not modify Oracle or OS systems in any way. It collects useful data for diagnostic or to see the overall picture.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;OS Platforms that are supported&lt;br /&gt;&lt;/strong&gt;IBM AIX&lt;br /&gt;Intel Linux (Oracle Enterprise, RedHat, and SuSE)&lt;br /&gt;HP-UX (10.* and 11.*)&lt;br /&gt;HP Tru64 Linux PPC&lt;br /&gt;Mac OS X/Darwin&lt;br /&gt; Sequent Dynix/Ptx&lt;br /&gt; Sun Solaris (2.6 - 2.10)&lt;br /&gt;Windows XP Professional&lt;br /&gt; Windows 2000 Workstation and Server&lt;br /&gt;Windows 2003 Server&lt;br /&gt;HP OpenVMS Alpha 7.3-2 and above&lt;br /&gt;HP OpenVMS Itanium&lt;br /&gt; ZLinux&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Oracle Products that are supported&lt;br /&gt;&lt;/strong&gt;Oracle RDBMS Server (Standard and Enterprise Editions)&lt;br /&gt;Oracle RAC Cluster (Single/Multiple Nodes, Automatic Storage Management, Oracle Cluster File System, Data Guard)&lt;br /&gt;Oracle Application Server (iAS 1.0.2.x/9.0.x/10.1.2.x/10.1.3.x,10.1.4.x,&lt;br /&gt;HTTP Server,WebCache,J2EE/OC4J)&lt;br /&gt;Oracle Oracle Data Integrator&lt;br /&gt;Oracle Management Server and Intelligent Agent (Grid Server, Agent Server, DB Control) OLAP Products (Express Server, Financial Analyzer, and Demand Planning Server)&lt;br /&gt;Oracle Developer (Forms and Reports)&lt;br /&gt;Oracle JDBC/PRO *C/ODBC and other development client related information&lt;br /&gt;Oracle Collaboration Suites (Email Server,Calendar,Discussions,Content Services,Workspaces,WebClient, and Wireless)&lt;br /&gt;Oracle Identity Management (Internet Directory and COREid)&lt;br /&gt;Oracle Networking products&lt;br /&gt; Oracle Ebusiness Suite 11i and 12&lt;br /&gt;Oracle Portal Software 7.0, 7.2, and 7.3&lt;br /&gt;Oracle Retail (Retek)&lt;br /&gt;&lt;br /&gt;for more information on how to download,install and run RDA,please see metalink Note: 330363.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-1531588424351803879?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/1531588424351803879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=1531588424351803879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/1531588424351803879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/1531588424351803879'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/03/oracle-remote-diagnostic-agent-rda.html' title='Oracle Remote Diagnostic Agent (RDA)'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-714243913414044858</id><published>2008-03-17T15:20:00.002+08:00</published><updated>2008-03-17T15:25:17.646+08:00</updated><title type='text'>What a DBA shouldn't do....</title><content type='html'>Here is a list of things that a DBA shouldn't do.I got this info&lt;br /&gt;from an Oracle expert Rachel Carmichael of Dragonfly Consulting LLC.She presented this topic in an event organized by International Oracle Users Group (IOUG).i think it will benefit you all.&lt;br /&gt;&lt;br /&gt;1. &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Dont backup your database&lt;/strong&gt;&lt;/span&gt; - This is one BIG MISTAKE you can&lt;br /&gt;do.Database is slow or fast, but it is still running.When data is&lt;br /&gt;gone, you are gone too.&lt;br /&gt;&lt;br /&gt;2.&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Do not test the recovery features&lt;/strong&gt;&lt;/span&gt; - Whe you do backup, please test&lt;br /&gt;the recovery features, this is the best way to know whether you are&lt;br /&gt;backing up properly.&lt;br /&gt;&lt;br /&gt;3.&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;If you do backup,you do not need to export&lt;/strong&gt;&lt;/span&gt; - Sometimes export can&lt;br /&gt;help you to recover from certain issues.A good dba must always think&lt;br /&gt;ways to lower MTTR (Mean Time To Recover).&lt;br /&gt;&lt;br /&gt;4.&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Do not monitor the database.Anything wrong user will complain&lt;/strong&gt;&lt;/span&gt;- To&lt;br /&gt;be a good DBA, always be PROACTIVE not REACTIVE.&lt;br /&gt;&lt;br /&gt;5.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;U&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;se cache hit ratios instead of wait events to monitor performance&lt;/span&gt;&lt;/strong&gt;.- If older systems yes.9i and 10g BETTER use wait events.More accurate.&lt;br /&gt;&lt;br /&gt;6.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Got a performance problem? Increase your shared pool&lt;/span&gt;&lt;/strong&gt;.Please investigate what the real issue is.Sometimes increasing memory can halt your system.&lt;br /&gt;&lt;br /&gt;7.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Index every single column in every single table just in case&lt;/span&gt;&lt;/strong&gt;-the more index you have,the more upkeep Oracle has to do.Please always justify your index creation&lt;br /&gt;&lt;br /&gt;8.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Don't analyze tables or generate stats&lt;/span&gt;&lt;/strong&gt;!- Oracle becomes more cleverer if you generate stats and also please test first.&lt;br /&gt;&lt;br /&gt;9.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Fix your space problems by turning autoextend on every datafile in every tablespace&lt;/span&gt;&lt;/strong&gt;. -This is not the best way or the right way.You won't know when you are going to hit a big problem.&lt;br /&gt;&lt;br /&gt;10.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Go ahead -- apply every critical fix without testing them first&lt;/span&gt;&lt;/strong&gt;.- Please test sometimes it can back fire.&lt;br /&gt;&lt;br /&gt;11.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;When new releases come out, upgrade ASAP and use all the new features in each release&lt;/span&gt;&lt;/strong&gt;.- Please know whether you need it or your application support it first.Always let others test first before you do it :-)&lt;br /&gt;&lt;br /&gt;12.&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Grant everyone "connect," "resource" and "DBA" privileges&lt;/span&gt;&lt;/strong&gt;.- This is the worse thing you can do.Give access to users who need it only.&lt;br /&gt;&lt;br /&gt;Enjoy thinking.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-714243913414044858?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/714243913414044858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=714243913414044858' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/714243913414044858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/714243913414044858'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/03/what-dba-shouldnt-do.html' title='What a DBA shouldn&apos;t do....'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-2016449109464524912</id><published>2008-02-11T16:54:00.000+08:00</published><updated>2008-02-11T16:56:55.392+08:00</updated><title type='text'>Basic Database security</title><content type='html'>As a DBA, it is your responsibility  to secure your  organization's database from unauthorized access.&lt;br /&gt;&lt;br /&gt;In this article I am going to suggest some guidelines that is mandatory to have for all oracle databases.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;1.  Data Integrity:&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Always keep a check on integrity of the data in the database. Before adding any sort of data whether important or unimportant your system must ensure that the data is valid and correct. Data Integrity prevents data from becoming invalid  always returns correct results.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;2. Use Access Control System:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Always grant enough or appropriate privileges to users and those privileges should be given to only those users who require them to accomplish their tasks. Excessive grant of unnecessary privileges can compromise the security of your database.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;3. Role Based Authentication:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;You can also grant role based authentication. You can segregate the roles into administrator, programmer, operator, user and so on. Permission to perform a certain task should be based on the privileges granted to that role. Also maintain a log of each role to keep track of each role's activities.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;4. Password Protection:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Make your database root account password protected. Also maintain password for each user account in the database.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;5. Use Oracle Views:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Views provide a powerful and flexible security mechanism for the database. By using views you can hide parts of database from certain users. The user is not aware of the parts missing from the view.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;6. Back Up your database appropriately:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Backup your database and archive logs correctly, so that you can recovery it in case of failure. Do test your backup from time to time.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;7. Maintain Log Files:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Maintain  your database  log files if you can.This will help you keep track of client's activities.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;8. Disable Remote Access:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;If it is feasible for your company, ensure that no users can get remote access to your database system. This will reduce the risk of network attacks from unauthorized or malicious  users.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-2016449109464524912?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/2016449109464524912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=2016449109464524912' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2016449109464524912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2016449109464524912'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/02/basic-database-security.html' title='Basic Database security'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-3846378787664686218</id><published>2008-01-28T12:14:00.000+08:00</published><updated>2008-01-28T12:18:39.760+08:00</updated><title type='text'>Opening a Oracle 10gR2 standby database in Read-Write mode for DML, DDL operations without affecting the primary database.</title><content type='html'>&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Task&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Opening the Standby Database in Read-Write mode, do a test and bring it back to a standby database without recopying of datafiles, logfiles or recreating the standby controlfile. Then showing that the test did not have an effect on primary db.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Summary&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Before proceeding, one must have a working dataguard configuration. Make sure that logs are being passed from the primary db to the secondary db. The task here is to open the standby database in read-write mode, insert some data and then revert it back to its previous consistent state with the primary db without recopying of datafiles or recreating the standby controlfile. This is similar to the snapshot feature available in 11g.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Benefit&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;This is helpful when one has a working dataguard configuration and wants to test some scripts on live data. After the tests, data can be reverted to its original state. This also avoids the need to create a test database or perform export or import to get the live data to test on as this is time consuming.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33cc00;"&gt;I. STEPS&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;NOTE: Make sure that the dataguard is working&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the PRIMARY&lt;br /&gt;&lt;br /&gt;Create a table and insert some values&lt;br /&gt;SQL&gt; create table mytest(id number);&lt;br /&gt;SQL&gt; insert into mytest values(1);&lt;br /&gt;SQL&gt; insert into mytest values(2);&lt;br /&gt;SQL&gt; insert into mytest values(3);&lt;br /&gt;SQL&gt; commit;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the STANDBY&lt;br /&gt;&lt;br /&gt;Stop the Dataguard&lt;br /&gt;a.    SQL&gt; alter database recover managed standby database cancel;&lt;br /&gt;&lt;br /&gt;Enable Flashback&lt;br /&gt;a.    Check whether flashback is enabled&lt;br /&gt;                          i.        SQL&gt; select flashback_on from v$database;&lt;br /&gt;                         ii.        If no, then&lt;br /&gt;·         SQL&gt; alter database flashback on;&lt;br /&gt;&lt;br /&gt;Create restore point&lt;br /&gt;SQL&gt; create restore point before_open guarantee flashback database;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the PRIMARY&lt;br /&gt;&lt;br /&gt;Archive the current log file&lt;br /&gt;a.    SQL&gt; alter system archive log current;&lt;br /&gt;&lt;br /&gt;Stop logs being shipped to the standby&lt;br /&gt;a.    SQL&gt; alter system set log_archive_dest_state_2=DEFER&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the STANDBY&lt;br /&gt;&lt;br /&gt;Activate the standby database&lt;br /&gt;a.    SQL&gt; alter database activate standby database&lt;br /&gt;&lt;br /&gt;Open the standby database&lt;br /&gt;a.    SQL&gt; alter database open&lt;br /&gt;&lt;br /&gt;Query mytest table and insert some values&lt;br /&gt;a.    SQL&gt; select * from mytest; (Here you will get 3 rows)&lt;br /&gt;b.    SQL&gt; insert into mytest values(4);&lt;br /&gt;c.    SQL&gt; insert into mytest values(5);&lt;br /&gt;d.    SQL&gt; insert into mytest values(6);&lt;br /&gt;e.    SQL&gt; select * from mytest; (Here you will get 6 rows)&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the STANDBY&lt;br /&gt;&lt;br /&gt;To revert the standby back to its previous configuration, use the restore point we created. This would means any changes to the done to the data while the standby was open is lost.&lt;br /&gt;a.    SQL&gt; shutdown immediate;&lt;br /&gt;b.    SQL&gt; startup mount;&lt;br /&gt;c.    SQL&gt; flashback database to restore point before_open;&lt;br /&gt;&lt;br /&gt;Switch it back to a standby database&lt;br /&gt;a.    SQL&gt; alter database convert to physical standby;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the PRIMARY&lt;br /&gt;&lt;br /&gt;Enable logs to be shipping from primary again&lt;br /&gt;a.    SQL&gt; alter system set log_archive_dest_state_2=ENABLE;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the STANDBY&lt;br /&gt;&lt;br /&gt;Drop the restore point&lt;br /&gt;a.    SQL&gt; drop restore point before_open;&lt;br /&gt;&lt;br /&gt;Activate the Dataguard&lt;br /&gt;a.    SQL&gt;  alter database recover managed standby database disconnect from           session;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the PRIMARY&lt;br /&gt;&lt;br /&gt;Query the mytest table&lt;br /&gt;a.     SQL&gt; select * from mytest (Here you will get the 3 original rows)&lt;br /&gt;&lt;br /&gt;Check whether the logs are being shipped from the primary to the standby&lt;br /&gt;a.    SQL&gt; archive log list;&lt;br /&gt;b.    SQL&gt; alter system switch logfile;&lt;br /&gt;&lt;br /&gt;NOTE: The following steps are performed on the STANDBY&lt;br /&gt;&lt;br /&gt;Check whether the standby is receiving the logs&lt;br /&gt;a.    SQL&gt; select sequence#, applied, archived from v$archived_log;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-3846378787664686218?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/3846378787664686218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=3846378787664686218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3846378787664686218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3846378787664686218'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2008/01/opening-oracle-10gr2-standby-database.html' title='Opening a Oracle 10gR2 standby database in Read-Write mode for DML, DDL operations without affecting the primary database.'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7400014588847934668</id><published>2007-12-14T11:53:00.000+08:00</published><updated>2007-12-14T11:54:40.712+08:00</updated><title type='text'>Oracle Secure Backup and Oracle Secure Backup Express</title><content type='html'>Now ORACLE provides a free Media Management layer(MML) as part of its Oracle Secure Backup server software.&lt;br /&gt;&lt;br /&gt;It offers a easy and convinent way to implement a tape backup statergy without using a third party MML where you must pay aditional licence fees.&lt;br /&gt;&lt;br /&gt;If you have a single server, you can use Oracle Secure Backup Express.It is limited to  a single host with one direct-attached tape drive.&lt;br /&gt;&lt;br /&gt;Oracle Secure Backup Express is the replacement product for Legato Storage Manager (LSM) and Legato Single Server Version (LSSV).&lt;br /&gt;One distinct advantage of OSB Express over LSSV is that OSB Express can do file system backup.&lt;br /&gt;Oracle Secure Backup Express is bundled with the Oracle Database and its free.&lt;br /&gt;&lt;br /&gt;Oracle's technical support organization will provide technical support, phone support, or updates to you for Oracle Secure Backup Express when it is used to back up another Oracle Product that has a valid Customer Support Identifier (CSI).&lt;br /&gt;&lt;br /&gt;If you have a big environment you can use the full fledge Oracle Secure Backup.&lt;br /&gt;Oracle Secure Backup  is licensed by the number of tape drives utilized (clients are unlimited).&lt;br /&gt;You can user OSB with Oracle Database 9i,10g and 11g.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7400014588847934668?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7400014588847934668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7400014588847934668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7400014588847934668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7400014588847934668'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/12/oracle-secure-backup-and-oracle-secure.html' title='Oracle Secure Backup and Oracle Secure Backup Express'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-4377533264497151929</id><published>2007-12-10T18:53:00.000+08:00</published><updated>2007-12-10T18:59:25.112+08:00</updated><title type='text'>RMAN and Online Redo logs</title><content type='html'>As you all know RMAN doesnt backup online redo logs&lt;br /&gt;&lt;br /&gt;The online redo logs files are never backed up by RMAN or any hot backup method.&lt;br /&gt;&lt;br /&gt;The online redo logs files contain the latest data or redo generated by the database.(The data comes from redo log buffer written by LGWR).&lt;br /&gt;&lt;br /&gt;The contents of the current redo logs are not archived until a log switch occurs.&lt;br /&gt;This means if all your members in a redo log group fails, you would lose the latest information.&lt;br /&gt;&lt;br /&gt;To minimize these failures, here are some suggestions that you can implement to safeguard your online redo logs&lt;br /&gt;&lt;strong&gt;1. Multiplex your groups to have redundancy members&lt;br /&gt;2. Do not put same members of the same group in one disk controller&lt;br /&gt;3. Use RAID for your online redo logs&lt;br /&gt;4. Make sure switching happens at regular intervals (use archive_lag_target parameter)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Only &lt;strong&gt;Oracle Dataguard Implementation with Maximum Protection Mode&lt;/strong&gt; can save all committed data in the event you lose all members of the current online redolog group&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-4377533264497151929?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/4377533264497151929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=4377533264497151929' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4377533264497151929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4377533264497151929'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/12/rman-and-online-redo-logs.html' title='RMAN and Online Redo logs'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7393113644547813908</id><published>2007-11-29T16:18:00.000+08:00</published><updated>2007-11-29T16:32:25.692+08:00</updated><title type='text'>Oracle Background Processes</title><content type='html'>Hi,Sorry for not posting any info for some time because I have been really busy.&lt;br /&gt;&lt;br /&gt;Here is an article on Background processes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Background processes for Orcacle9i&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Database writer (DBWn)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a name="14274"&gt;&lt;/a&gt;·         The database writer writes modified blocks from the database buffer cache to the datafiles.&lt;br /&gt;·         Oracle allows a maximum of 20 database writer processes (DBW0-DBW9 and DBWa-DBWj).&lt;br /&gt;·         The initialization parameter DB_WRITER_PROCESSES specifies the number of DBWn processes.&lt;br /&gt;·         Oracle selects an appropriate default setting for this initialization parameter (or might adjust a user specified setting) based upon the number of CPUs and the number of processor groups.&lt;br /&gt;&lt;a name="23422"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name="14277"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Log writer (LGWR)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a name="14279"&gt;&lt;/a&gt;·         The log writer process writes redo log entries to disk.&lt;br /&gt;·         Redo log entries are generated in the redo log buffer of the system global area (SGA), and LGWR writes the redo log entries sequentially into an online redo log file.&lt;br /&gt;·         If the database has a multiplexed redo log, LGWR writes the redo log entries to a group of online redo log files.&lt;br /&gt;&lt;br /&gt;&lt;a name="14284"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Checkpoint (CKPT)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a name="14286"&gt;&lt;/a&gt;·         At specific times, all modified database buffers in the system global area are written to the datafiles by DBWn. This event is called a checkpoint.&lt;br /&gt;&lt;br /&gt;·         The checkpoint process is responsible for signalling DBWn at checkpoints and updating all the datafiles and control files of the database to indicate the most recent checkpoint.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;System monitor (SMON)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a name="14290"&gt;&lt;/a&gt;·         The system monitor performs crash recovery when a failed instance starts up again.&lt;br /&gt;·         In a cluster database (Oracle9i Real Application Clusters), the SMON process of one instance can perform instance recovery for other instances that have failed.&lt;br /&gt;·         SMON also cleans up temporary segments that are no longer in use and recovers dead transactions skipped during crash and instance recovery because of file-read or offline errors. These transactions are eventually recovered by SMON when the tablespace or file is brought back online. &lt;a name="14353"&gt;&lt;/a&gt;&lt;br /&gt;·         SMON also coalesces free extents within the database's dictionary-managed tablespaces to make free space contiguous and easier to allocate.&lt;br /&gt;&lt;br /&gt;&lt;a name="14292"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Process monitor (PMON)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;a name="14294"&gt;&lt;/a&gt;·         The process monitor performs process recovery when a user process fails.&lt;br /&gt;·         PMON is responsible for cleaning up the cache and freeing resources that the process was using.&lt;br /&gt;·         PMON also checks on the dispatcher processes and server processes and restarts them if they have failed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Archiver (ARCn)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a name="14298"&gt;&lt;/a&gt;·         One or more archiver processes copy the online redo log files to archival storage when they are full or a log switch occurs.&lt;br /&gt;&lt;br /&gt;&lt;a name="14300"&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Recoverer (RECO)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;·         The recoverer process is used to resolve distributed transactions that are pending due to a network or system failure in a distributed database.&lt;br /&gt;·         At timed intervals, the local RECO attempts to connect to remote databases and automatically complete the commit or rollback of the local portion of any pending distributed transactions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;New Background process for Oracle10g&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Memory Monitor (MMON)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;MM&lt;a name="sthref1627"&gt;&lt;/a&gt;ON performs various manageability-related background tasks, for example:&lt;br /&gt;·         Issuing alerts whenever a given metrics violates its threshold value.&lt;br /&gt;·         Taking snapshots by spawning additional process (MMON slaves)&lt;br /&gt;·         Capturing statistics value for SQL objects which have been recently modified&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Recovery Writer (RVWR)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;Enabling Flashback Database starts a new RVWR background process.&lt;br /&gt;This process is similar to the LGWR (log writer) process.&lt;br /&gt;The new process writes Flashback Database data to the Flashback Database logs.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;Memory Manager (MMAN)&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;Memory Manager (MMAN) coordinates the sizing of different memory components within SGA.&lt;br /&gt;MMAN keeps a track of sizes of components and allocates/de-allocates memory based on their usage.&lt;br /&gt;This process is used only when you enable Automatic Shared Memory Management.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Memory Monitor Light (MMNL)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;·         The Memory Monitor Light (MMNL) process introduced in 10g is responsible for writing out statistics buffer to disk as needed.&lt;br /&gt;·         Performs frequent and light-weight manageability-related tasks, such as session history capture and metrics computation.&lt;br /&gt;·         It works with Automatic Workload Repository (AWR)&lt;br /&gt;&lt;br /&gt;Please post if you have any questions.Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7393113644547813908?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7393113644547813908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7393113644547813908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7393113644547813908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7393113644547813908'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/11/oracle-background-processes.html' title='Oracle Background Processes'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-8852632924247316266</id><published>2007-08-30T12:52:00.000+08:00</published><updated>2007-08-30T12:56:54.766+08:00</updated><title type='text'>Flashback Recovery</title><content type='html'>A new feature in Oracle 10g. With Oracle 10g, flashback database enables to rollback the database either in full restore or partially to a specific point-in-time. Flashback feature is an easy and fast way to restore the database to a previous state without hassle.&lt;br /&gt;&lt;br /&gt;This feature in Oracle 9i was called a flashback query. Restore is dependant on the size of the undo tablespace retention period. The bigger the undo area the longer Oracle keeps data.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Basic implementation of flashback recovery.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;1) Enable archivelog:&lt;br /&gt;&lt;br /&gt;            SQL&gt; startup mount;&lt;br /&gt;            SQL&gt; alter database archivelog;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database open;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; archive log list;&lt;br /&gt;Database log mode              Archive Mode&lt;br /&gt;Automatic archival             Enabled&lt;br /&gt;Archive destination            USE_DB_RECOVERY_FILE_DEST&lt;br /&gt;Oldest online log sequence     15&lt;br /&gt;Next log sequence to archive   17&lt;br /&gt;Current log sequence           17&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) Setting required parameters:&lt;br /&gt;&lt;br /&gt;            * mounted mode&lt;br /&gt;&lt;br /&gt;            SQL&gt; alter system set db_flashback_retention_target=1200;&lt;br /&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; show parameter db_recovery_file_dest_size&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE                         &lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;db_recovery_file_dest_size           big integer 2G                            &lt;br /&gt;SQL&gt; show parameter db_recovery_file_dest&lt;br /&gt;&lt;br /&gt;NAME                                 TYPE        VALUE                         &lt;br /&gt;------------------------------------ ----------- ------------------------------&lt;br /&gt;db_recovery_file_dest                string      D:\oracle\product\10.2.0\flash&lt;br /&gt;                                                                                                                                 _recovery_area                &lt;br /&gt;db_recovery_file_dest_size           big integer 2G                            &lt;br /&gt;&lt;br /&gt;SQL&gt; alter database flashback on;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database open;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;- db_flashback_retention_target = seconds the flashback data is kept.&lt;br /&gt;- db_recovery_file_dest_size = size of the flashback data.&lt;br /&gt;- db_recovery_file_dest = destination of the flashback data.&lt;br /&gt;&lt;br /&gt;SQL&gt; select flashback_on from v$database;&lt;br /&gt;&lt;br /&gt;FLASHBACK_ON&lt;br /&gt;------------------&lt;br /&gt;YES&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) Verifying the flashback statistics:&lt;br /&gt;&lt;br /&gt;            SQL&gt; desc v$flashback_database_log;&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- ----------------------------&lt;br /&gt;               OLDEST_FLASHBACK_SCN                               NUMBER&lt;br /&gt;               OLDEST_FLASHBACK_TIME                              DATE&lt;br /&gt;               RETENTION_TARGET                                   NUMBER&lt;br /&gt;               FLASHBACK_SIZE                                     NUMBER&lt;br /&gt;               ESTIMATED_FLASHBACK_SIZE                           NUMBER&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from  v$flashback_database_log;&lt;br /&gt;&lt;br /&gt;OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE                 &lt;br /&gt;-------------------- --------- ---------------- --------------                 &lt;br /&gt;ESTIMATED_FLASHBACK_SIZE                                                       &lt;br /&gt;------------------------                                                       &lt;br /&gt;                318155 23-AUG-07             1200        8192000                 &lt;br /&gt;                       0         &lt;br /&gt;&lt;br /&gt;4) Testing the flashback recovery:&lt;br /&gt;           &lt;br /&gt;            creating a tablespace:&lt;br /&gt;            SQL&gt; create tablespace test datafile&lt;br /&gt;            2  'd:\oracle\product\10.2.0\oradata\TIME\t1.dbf' size 1m&lt;br /&gt;            3  extent management local uniform size 100k;&lt;br /&gt;&lt;br /&gt;               Tablespace created&lt;br /&gt;&lt;br /&gt;               creating user:&lt;br /&gt;            SQL&gt; create user flash identified by back&lt;br /&gt;            2  default tablespace test&lt;br /&gt;            3  quota 200k on test&lt;br /&gt;            4  temporary tablespace temp;&lt;br /&gt;&lt;br /&gt;User created&lt;br /&gt;&lt;br /&gt;SQL&gt; grant connect, resource to flash;&lt;br /&gt;&lt;br /&gt;Grant succeeded.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) Creating a table:&lt;br /&gt;&lt;br /&gt;            SQL&gt; conn flash/back&lt;br /&gt;Connected.&lt;br /&gt;&lt;br /&gt;SQL&gt; create table time (start_tag NUMBER(5), end_tag NUMBER(5));&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;SQL&gt; insert into time VALUES ('1.001','1.010');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&gt; insert into time VALUES ('1.003','1.010');&lt;br /&gt;&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&gt; commit;&lt;br /&gt;&lt;br /&gt;Commit complete.&lt;br /&gt;&lt;br /&gt;SQL&gt; drop table time;&lt;br /&gt;&lt;br /&gt;Table dropped.&lt;br /&gt;&lt;br /&gt;SQL&gt; desc time;&lt;br /&gt;ERROR:&lt;br /&gt;ORA-04043: object time does not exist&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6) Running flashback on table level:&lt;br /&gt;&lt;br /&gt;SQL&gt; flashback table "TIME" to before drop;&lt;br /&gt;&lt;br /&gt;Flashback complete.&lt;br /&gt;&lt;br /&gt;SQL&gt; desc time;&lt;br /&gt; Name                                      Null?    Type&lt;br /&gt; ----------------------------------------- -------- ----------------------------&lt;br /&gt; START_TAG                                          NUMBER(5)&lt;br /&gt; END_TAG                                            NUMBER(5)&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from v$flashback_database_log;&lt;br /&gt;&lt;br /&gt;OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE                 &lt;br /&gt;-------------------- --------- ---------------- --------------                 &lt;br /&gt;ESTIMATED_FLASHBACK_SIZE                                                       &lt;br /&gt;------------------------                                                       &lt;br /&gt;              318155 23-AUG-07             1200        8192000                 &lt;br /&gt;               144445440&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7) Running flashback database recovery:&lt;br /&gt;&lt;br /&gt;            SQL&gt; shutdown immediate&lt;br /&gt;Database closed.&lt;br /&gt;Database dismounted.&lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;SQL&gt; startup mount exclusive;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;&lt;br /&gt;Total System Global Area  167772160 bytes                                      &lt;br /&gt;Fixed Size                  1247876 bytes                                      &lt;br /&gt;Variable Size              71304572 bytes                                      &lt;br /&gt;Database Buffers           88080384 bytes                                      &lt;br /&gt;Redo Buffers                7139328 bytes                                      &lt;br /&gt;Database mounted.&lt;br /&gt;&lt;br /&gt;SQL&gt; flashback database to timestamp to_timestamp('23-08-2007 01:59', 'DD-MM-YYYY      HH24:MI:SS');&lt;br /&gt;&lt;br /&gt;Flashback complete.&lt;br /&gt;&lt;br /&gt;SQL&gt; alter database open resetlogs;&lt;br /&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;SQL&gt; select username from user_users where username='FLASH';&lt;br /&gt;&lt;br /&gt;no rows selected&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from v$flashback_database_log;&lt;br /&gt;&lt;br /&gt;OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE                 &lt;br /&gt;-------------------- --------- ---------------- --------------                 &lt;br /&gt;ESTIMATED_FLASHBACK_SIZE                                                       &lt;br /&gt;------------------------                                                       &lt;br /&gt;              318155 23-AUG-07             1200        8192000                 &lt;br /&gt;                       0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-8852632924247316266?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/8852632924247316266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=8852632924247316266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8852632924247316266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8852632924247316266'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/08/flashback-recovery.html' title='Flashback Recovery'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7810359238156856013</id><published>2007-07-24T16:11:00.000+08:00</published><updated>2007-07-24T16:18:22.454+08:00</updated><title type='text'>FLASH RECOVERY AREA 10g</title><content type='html'>The Flash Recovery Area, a new feature in 10g, is a specific area of disk storage that is set aside  for retention of backup components such as :-&lt;br /&gt;datafiles&lt;br /&gt;image copies&lt;br /&gt;archived redo logs&lt;br /&gt;control file autobackup copies and etc&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Features include:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Centralized Backup Files location&lt;/span&gt; - All backup components can be stored in one consolidated disk. The Flash Recovery Area can be configured for use by multiple database instances if so desired.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Automated Disk-Based Backup and Recovery&lt;/span&gt; -Once the Flash Recovery Area is configured, all backup components are managed automatically by the Oracle server.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Flashback Logs&lt;/span&gt;. The Flash Recovery Area is also used to store and manage flashback logs, which are used during Flashback Backup operations to quickly restore a database to a prior desired state.( I will discuss this in another article)&lt;br /&gt;&lt;br /&gt; Oracle recommends that the Flash Recovery Area should be sized large enough to include all files required for backup and recovery. Just make sure you have enough continuous disk space.&lt;br /&gt;&lt;br /&gt;When sizing, you need to take into account the RMAN backup retention policy, storage device type that you are using and number of data block changes.&lt;br /&gt;&lt;br /&gt;A warning server alert is issued when the flash recovery area is 85% full.&lt;br /&gt;A critical server alert is issued when the flash recovery area is 97% full.&lt;br /&gt;(These percentages can be changed )&lt;br /&gt;&lt;br /&gt;You can see the alerts in the alert.log and in DBA_OUTSTANDING_ALERTS.&lt;br /&gt;If the flash recovery area becomes full, an error will be issued.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Setting Up the Flash Recovery Area.&lt;/span&gt;&lt;br /&gt;These involve setting up 2 main initialization parameter.&lt;br /&gt;&lt;br /&gt;DB_RECOVERY_FILE_DEST_SIZE specifies the total size of all files that can be stored in the Flash Recovery Area.( when reached maximum, it can be changed by alter system)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;This parameter has to be set first&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DB_RECOVERY_FILE_DEST specifies the physical disk location where the Flashback Recovery Area will be stored. Oracle recommends that this be a separate location from the database's datafiles, control files, and redo logs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ALTER SYSTEM SET db_file_recovery_dest_size = '5G' SCOPE=BOTH;&lt;br /&gt; and then set DB_FILE_RECOVERY_DEST and DB_FLASHBACK_RETENTION_TARGET&lt;br /&gt;&lt;br /&gt;ALTER SYSTEM SET db_file_recovery_dest = 'c:\oracle\innotiive\flash' SCOPE=BOTH;&lt;br /&gt;ALTER SYSTEM SET db_flashback_retention_target = 2880;( in minutes)&lt;br /&gt;(It is for retention of flasback logs ).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7810359238156856013?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7810359238156856013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7810359238156856013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7810359238156856013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7810359238156856013'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/07/flash-recovery-area-10g.html' title='FLASH RECOVERY AREA 10g'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7631964479006433050</id><published>2007-06-16T17:23:00.000+08:00</published><updated>2007-06-16T17:48:24.790+08:00</updated><title type='text'>Renaming the existing database</title><content type='html'>Here is a step by step guide on how to change an existing database name. Ths guide is done by one of the Innotiiveasia's consultant.I hope it helps you all and if you have any comments, feel free to do it in this blog.Hapy reading.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Renaming the existing database&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Connect to the database we wanted to change.&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;select name from v$database;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;NAME&lt;br /&gt;---------&lt;br /&gt;PROD&lt;br /&gt;&lt;br /&gt;The existing database name is prod, changing the database name to test. First force a log switch.&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;alter system switch logfile;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;System altered.&lt;br /&gt;&lt;br /&gt;Then backup the controlfile to trace&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;alter database backup controlfile to trace resetlogs;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt; Note: This will create a trace file containing the "CREATE CONTROLFILE" command to recreate the controlfile in its current form.  &lt;br /&gt;&lt;br /&gt;4.      shutdown the database using shutdown immediate command.      &lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;shutdown immediate&lt;/span&gt;     &lt;br /&gt;&lt;br /&gt;Database closed.     &lt;br /&gt;Database dismounted.     &lt;br /&gt;ORACLE instance shut down.&lt;br /&gt;&lt;br /&gt;5.      Find the trace file in udump and modify it as below&lt;br /&gt;&lt;br /&gt;cd $ORACLE_HOME/admin/prod/udump&lt;br /&gt; [oracle@localhost udump]$ ls -lrt&lt;br /&gt;total 1024&lt;br /&gt;&lt;br /&gt;-rw-r-----  1 oracle dba    695 Jun 12 13:41 prod_ora_6567.trc&lt;br /&gt;-rw-r-----  1 oracle dba   2094 Jun 12 13:41 prod_ora_6569.trc&lt;br /&gt;-rw-r-----  1 oracle dba    695 Jun 12 13:42 prod_ora_6604.trc&lt;br /&gt;-rw-r-----  1 oracle dba    666 Jun 12 13:42 prod_ora_6580.trc&lt;br /&gt;-rw-r-----  1 oracle dba    795 Jun 12 13:42 prod_ora_6605.trc&lt;br /&gt;-rw-r-----  1 oracle dba    638 Jun 12 13:43 prod_ora_6619.trc&lt;br /&gt;-rw-r-----  1 oracle dba    695 Jun 12 13:43 prod_ora_6642.trc&lt;br /&gt;-rw-r-----  1 oracle dba   6161 Jun 12 15:29 prod_ora_6644.trc&lt;br /&gt;-rw-r-----  1 oracle dba    695 Jun 12 16:25 prod_ora_7693.trc&lt;br /&gt;-rw-r-----  1 oracle dba    666 Jun 12 16:25 prod_ora_7668.trc&lt;br /&gt;-rw-r-----  1 oracle dba  10260 Jun 12 16:40 prod_ora_7694.trc&lt;br /&gt;&lt;br /&gt;6.  Check the latest trace file and use vi to edit the file. Delete all the statement in trace file until the file set 2 STARTUP NOMOUNT.&lt;br /&gt;&lt;br /&gt; Below is the trace file, which i deleted the unnecessary statement until the startup nomount.   STARTUP NOMOUNT&lt;br /&gt;CREATE CONTROLFILE set DATABASE "TEST" RESETLOGS  NOARCHIVELOG    MAXLOGFILES 16   &lt;br /&gt;MAXLOGMEMBERS 3   &lt;br /&gt;MAXDATAFILES 100   &lt;br /&gt;MAXINSTANCES 8   &lt;br /&gt;MAXLOGHISTORY 292&lt;br /&gt;LOGFILE &lt;br /&gt;GROUP 1 '/u02/oradata/prod/redo01.log'  SIZE 50M, &lt;br /&gt;GROUP 2 '/u02/oradata/prod/redo02.log'  SIZE 50M, &lt;br /&gt;GROUP 3 '/u02/oradata/prod/redo03.log'  SIZE 50M&lt;br /&gt;-- STANDBY LOGFILE&lt;br /&gt;DATAFILE&lt;br /&gt; '/u02/oradata/prod/system01.dbf', &lt;br /&gt;'/u02/oradata/prod/undotbs01.dbf',&lt;br /&gt; '/u02/oradata/prod/sysaux01.dbf', &lt;br /&gt;'/u02/oradata/prod/users01.dbf'&lt;br /&gt;CHARACTER SET WE8ISO8859P1;&lt;br /&gt;-- Commands to re-create incarnation table&lt;br /&gt;-- Below log names MUST be changed to existing filenames on&lt;br /&gt;-- disk. Any one log file from each branch can be used to&lt;br /&gt;"prod_ora_7694.trc" 136L, 5750C                               1,0-1         Top  &lt;br /&gt;&lt;br /&gt;7.       Edit the trace file. Change the word 'REUSE' to 'set' and the 'olddbname' to ‘newdbname’.&lt;br /&gt;&lt;br /&gt;      FROM: CREATE CONTROLFILE REUSE DATABASE "olddbname"   RESETLOGS        &lt;br /&gt;TO: CREATE CONTROLFILE set DATABASE "newdbname"  RESETLOGS &lt;br /&gt;      &lt;br /&gt;This is how the file will look after modification &lt;br /&gt;&lt;br /&gt; STARTUP NOMOUNT&lt;br /&gt;CREATE CONTROLFILE set DATABASE "TEST" RESETLOGS  NOARCHIVELOG    MAXLOGFILES 16   &lt;br /&gt;MAXLOGMEMBERS 3   &lt;br /&gt;MAXDATAFILES 100   &lt;br /&gt;MAXINSTANCES 8   &lt;br /&gt;MAXLOGHISTORY 292&lt;br /&gt;LOGFILE &lt;br /&gt;GROUP 1 '/u02/oradata/prod/redo01.log'  SIZE 50M, &lt;br /&gt;GROUP 2 '/u02/oradata/prod/redo02.log'  SIZE 50M, &lt;br /&gt;GROUP 3 '/u02/oradata/prod/redo03.log'  SIZE 50M&lt;br /&gt;&lt;br /&gt;-- STANDBY LOG FILE&lt;br /&gt;DATAFILE&lt;br /&gt;  '/u02/oradata/prod/system01.dbf', &lt;br /&gt;'/u02/oradata/prod/undotbs01.dbf', &lt;br /&gt;'/u02/oradata/prod/sysaux01.dbf', &lt;br /&gt;'/u02/oradata/prod/users01.dbf'&lt;br /&gt;CHARACTER SET WE8ISO8859P1;&lt;br /&gt;-- Commands to re-create incarnation table&lt;br /&gt;-- Below log names MUST be changed to existing filenames on&lt;br /&gt;-- disk. Any one log file from each branch can be used to&lt;br /&gt;"prod_ora_7694.trc" 136L, 5750C                               1,0-1         Top&lt;br /&gt;&lt;br /&gt; Note: SAVE the modified trace file to a new name.sql such as “rename.sql” &lt;br /&gt;&lt;br /&gt;8.      Connect to sqlplus and startup the database in nomount stage and check whether the database using spfile or pfile.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; startup nomount&lt;/span&gt;&lt;br /&gt;ORACLE instance started.&lt;br /&gt;Total System Global Area  276824064 bytes&lt;br /&gt;Fixed Size                  1218944 bytes&lt;br /&gt;Variable Size              79693440 bytes&lt;br /&gt;Database Buffers          192937984 bytes&lt;br /&gt;Redo Buffers                2973696 bytes&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;show parameter spfile;&lt;/span&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;----------- ------------------------------&lt;br /&gt;spfile                                    string&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;show parameter db_name;&lt;/span&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------db_name                              string          prod &lt;br /&gt;&lt;br /&gt;9.      Change the db_name in spfile to the new database name&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;alter system set db_name=test scope=spfile;&lt;/span&gt;&lt;br /&gt;System altered.     &lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;show parameter db_name;&lt;/span&gt;&lt;br /&gt;NAME                                 TYPE        VALUE&lt;br /&gt;------------------------------------ ----------- ------------------------------db_name                              string          test&lt;br /&gt;10.  Shutdown the database, rename the existing controlfile  and run the script&lt;br /&gt;&lt;br /&gt; [oracle@localhost udump]$ cd /u02&lt;br /&gt;[oracle@localhost u02]$ cd oradata/prod&lt;br /&gt;[oracle@localhost prod]$ ls&lt;br /&gt;control01.ctl  redo01.log  sysaux01.dbf  undotbs01.dbf&lt;br /&gt;control02.ctl  redo02.log  system01.dbf  users01.dbf&lt;br /&gt;control03.ctl  redo03.log  temp01.dbf&lt;br /&gt;[oracle@localhost prod]$ mv control01.ctl con1.ctl&lt;br /&gt;[oracle@localhost prod]$ mv control02.ctl con2.ctl&lt;br /&gt;oracle@localhost prod]$ mv control03.ctl con3.ctl&lt;br /&gt;&lt;br /&gt;[oracle@localhost prod]$ lscon1.ctl  con3.ctl    redo02.log  sysaux01.dbf  temp01.dbf     users01.dbf control2.ctl  redo01.log  redo03.log  system01.dbf  undotbs01.dbf&lt;br /&gt;&lt;br /&gt;11. Run The Script&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt;@$ORACLE_HOME/admin/prod/udump/rename&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ORA-00308: cannot open archived log 'ARCH:&lt;br /&gt;'ORA-27037: unable to obtain file status&lt;br /&gt;Linux Error: 2: No such file or directory&lt;br /&gt;Additional information: 3 &lt;br /&gt;&lt;br /&gt;Specify log: {&lt;ret&gt;=suggested  filename  AUTO  CANCEL}&lt;br /&gt;&lt;br /&gt;11.  When we encounter the statement above apply the logfiles path&lt;br /&gt;&lt;br /&gt;Specify log: {&lt;ret&gt;=suggested  filename  AUTO CANCEL}&lt;br /&gt;/u02/oradata/prod/redo02.log&lt;br /&gt;Log applied.&lt;br /&gt;Media recovery complete.    &lt;br /&gt;&lt;br /&gt;12.  Once the media recovery complete, open the database with resetlogs&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; alter database open resetlogs;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;13.  The global database name may also need to be changed&lt;br /&gt;&lt;br /&gt;SQL&gt; &lt;span style="color:#ff0000;"&gt;alter database rename global_name to test;&lt;/span&gt;&lt;br /&gt;Database altered.&lt;br /&gt;&lt;br /&gt;14.  To confirm the database name already been changed,&lt;br /&gt;&lt;br /&gt;select the database name from v$database.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; select name from v$database;&lt;/span&gt;&lt;br /&gt;NAME&lt;br /&gt;---------&lt;br /&gt;TEST&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7631964479006433050?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7631964479006433050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7631964479006433050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7631964479006433050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7631964479006433050'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/06/renaming-existing-database.html' title='Renaming the existing database'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-345069011138709176</id><published>2007-05-31T12:28:00.000+08:00</published><updated>2007-06-02T12:44:04.888+08:00</updated><title type='text'>Segment Shrink in 10g</title><content type='html'>DML activities like updates and deletes will make segements have chunks of free space within their data blocks.This will make the particular object fragmented&lt;br /&gt;This can lead to very poor performance because select statements that does full table scans will have to scan more blocks to retrieve data.&lt;br /&gt;&lt;br /&gt;In oracle 9i, to reclaim free space we can do the following&lt;br /&gt;1.Drop the table,recreate it and then load back the data or&lt;br /&gt;2.Use the 'ALTER TABLE MOVE' command to move the table to a new tablespace&lt;br /&gt;3.Online table reorganization&lt;br /&gt;&lt;br /&gt;In Oracle 10g, you are able to shrink segments with commands directly.&lt;br /&gt;&lt;br /&gt;During this operation&lt;br /&gt;-Segment data is compacted.&lt;br /&gt;-High-water mark (HWM) is brought down.&lt;br /&gt;-Unused space is released back to the tablespace containing the segment.&lt;br /&gt;&lt;br /&gt;e.g&lt;br /&gt;-- Enable row movement.&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;ALTER TABLE ABU.ORDERS ENABLE ROW MOVEMENT;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;/span&gt;&lt;br /&gt;-- Recover space and amend the high water mark (HWM).&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;ALTER TABLE ABU.ORDERS SHRINK SPACE;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;br /&gt;&lt;/span&gt;-- Recover space, but don't amend the high water mark (HWM).&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#cc0000;"&gt;ALTER TABLE ABU.ORDERS SHRINK SPACE COMPACT;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;br /&gt;&lt;/span&gt;-- Recover space for the object and all dependant objects.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#cc0000;"&gt;ALTER TABLE ABU.ORDERS SHRINK SPACE CASCADE;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The shrink is accomplished by moving rows between blocks, hence the requirement for row movement to be enabled for the shrink to take place.&lt;br /&gt;For these operations to work, the objects needs to be in a tablespace with automatic segment-space management enabled.&lt;br /&gt;You need not make a tablespace read-only, offline, or autoextensible before shrinking any of the segments in that tablespace.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-345069011138709176?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/345069011138709176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=345069011138709176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/345069011138709176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/345069011138709176'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/05/segment-shrink-in-10g.html' title='Segment Shrink in 10g'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-3181926698134674792</id><published>2007-05-28T13:39:00.000+08:00</published><updated>2007-05-28T13:51:59.716+08:00</updated><title type='text'>Temporary tablespace groups in 10g</title><content type='html'>The main idea behind temporary tablespace groups is to improve the scalability of operations that require more temporary space. This is a new feature introduced in 10g.&lt;br /&gt;&lt;br /&gt;There must be a minimum of one tablespace in a temporary tablespace group and groups cannot exist without at least one temporary tablespace.&lt;br /&gt;&lt;br /&gt;The group will not exist when the last tablespace member is removed from it. For a user to be able to use the group, assign the tablespace group name when assigning temporary tablespace to users.&lt;br /&gt;&lt;br /&gt; There is no explicit limit on the maximum number of tablespaces that are contained in a group.&lt;br /&gt;&lt;br /&gt;EXAMPLES&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;– create a temporary tablespace without a group&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;CREATE TEMPORARY TABLESPACE temp1&lt;br /&gt;TEMPFILE ‘C:/oracle/10g/temp1.dbf ‘ SIZE 250M&lt;br /&gt;TABLESPACE GROUP ‘’;     -- same as not specifying a group&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; – create a temporary tablespace group with one tablespace (TEMP1) in it:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;CREATE TEMPORARY TABLESPACE TEMP1&lt;br /&gt;TEMPFILE ‘C:/oracle/10g/temp1.dbf ‘ SIZE 250M&lt;br /&gt;TABLESPACE GROUP TEMPGRP1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;If the tablespace group does not already exist, then Oracle Database creates it during execution of this statement:&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt; – user TEMPGRP1 as the default temporary tablespace for all new users in the database:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPGRP1;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt; - Make user ALI use the temporary tablespace group&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#990000;"&gt;ALTER USER ALI TEMPORARY TABLESPACE TEMPGRP1;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-3181926698134674792?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/3181926698134674792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=3181926698134674792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3181926698134674792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/3181926698134674792'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/05/temporary-tablespace-groups-in-10g.html' title='Temporary tablespace groups in 10g'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-7091622483266194447</id><published>2007-04-28T23:33:00.000+08:00</published><updated>2007-04-29T00:00:52.415+08:00</updated><title type='text'>Roles</title><content type='html'>Before I talk about roles, there is a few points that I want the readers to understand before I begin.&lt;br /&gt;&lt;br /&gt;All Oracle objects (e.g.tables, indexes, etc) are owned by users who created them.&lt;br /&gt;- only the user who created a table will be able to see its data.To allow other  to see rows, the owner/user must   grant access privileges.&lt;br /&gt;- Oracle has system privileges that allow global access rights.&lt;br /&gt;- Oracle has object privileges that allow grants to specific tables.&lt;br /&gt;&lt;br /&gt;Any big organization will face difficulties to manage their database users in the form of managing their system and objects privileges.&lt;br /&gt;&lt;br /&gt;In these companies staffs come and go plus they may have selected privileges on many objects.&lt;br /&gt;Roles will be most helpful to manage this problem.&lt;br /&gt;&lt;br /&gt;A role is a set or group of privileges that can be granted to users or roles. This is a great way for DBA to save time and effort.&lt;br /&gt;&lt;br /&gt;To be able to create a role, you must have at least the CREATE ROLE system privileges.&lt;br /&gt;&lt;br /&gt;The syntax for creating a role is:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CREATE ROLE role_name[ NOT IDENTIFIED  IDENTIFIED {BY password  USING [schema.] package  EXTERNALLY  GLOBALLY } ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt; If both the NOT IDENTIFIED and IDENTIFIED phrases are omitted in the CREATE ROLE statement, the role will be created as a NOT IDENTIFIED role.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The role_name phrase is the name of the new role that you are creating.&lt;br /&gt;&lt;br /&gt;The NOT IDENTIFIED phrase means that the role is immediately enabled. No password is required to enable the role.&lt;br /&gt;&lt;br /&gt;The IDENTIFIED phrase means that a user must be authorized by a specified method before the role is enabled.&lt;br /&gt;&lt;br /&gt;The BY password phrase means that a user must supply a password to enable the role.&lt;br /&gt;&lt;br /&gt;The USING package phrase means that you are creating an application role - a role that is enabled only by applications using an authorized package.&lt;br /&gt;&lt;br /&gt;The EXTERNALLY phrase means that a user must be authorized by an external service to enable the role. An external service can be an operating system or third-party service.&lt;br /&gt;&lt;br /&gt;The GLOBALLY phrase means that a user must be authorized by the enterprise directory service to enable the role.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt; Example:&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;CREATE ROLE abc;&lt;br /&gt;&lt;/span&gt;This 1st example creates a role called abc.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CREATE ROLE abcIDENTIFIED BY abc123;&lt;br /&gt;&lt;/span&gt;This 2nd example creates the same role called abc, but now it is password protected with the password of abc123.&lt;br /&gt;&lt;br /&gt;The syntax for granting privileges on a table is:&lt;br /&gt;grant privileges on object to role_name&lt;br /&gt;&lt;br /&gt;For example, if you wanted to grant select, insert, update, and delete privileges on a table called emp to a role named abc, you would execute the following statement:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;grant select, insert, update, delete on emp to abc;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;You can also use the all keyword to indicate that you wish all permissions to be granted.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;grant all on emp to abc;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Revoke Privileges (on Tables) to Roles.Once you have granted privileges, you may need to revoke some or all of these privileges. To do this, you can execute a revoke command. You can revoke any combination of select, insert, update, delete, references, alter, and index.&lt;br /&gt;&lt;br /&gt;The syntax for revoking privileges on a table is:&lt;br /&gt;revoke privileges on object from role_name;&lt;br /&gt;&lt;br /&gt;For example, if you wanted to revoke delete privileges on a table called emp from a role named abc, you would  execute the following statement:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;revoke delete on emp from abc;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;If you wanted to revoke all privileges on a table, you could use the all keyword.&lt;br /&gt;&lt;/span&gt;For example:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;revoke all on emp from abc;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Granting the Role to a User&lt;br /&gt;GRANT role_name TO user_name;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;GRANT abc to bakar;&lt;br /&gt;&lt;/span&gt;This example would grant the role called abc to the user named bakar.&lt;br /&gt;&lt;br /&gt;The user bakar will automatically gets all the privileges that was in the role abc&lt;br /&gt;&lt;br /&gt;The SET ROLE statement allows you to enable or disable a role for a current session.&lt;br /&gt;&lt;br /&gt;When a user logs into the database, all default roles are enabled, but non-default roles must be enabled with the SET ROLE statement.&lt;br /&gt;&lt;br /&gt;The syntax for the SET ROLE statement is:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SET ROLE( role_name [ IDENTIFIED BY password ] ALL [EXCEPT roleA, roleB, ... ] NONE );&lt;br /&gt;&lt;/span&gt;The role_name phrase is the name of the role that you wish to enable.&lt;br /&gt;The IDENTIFIED BY password phrase is the password for the role to enable it. If the role does not have a password, this phrase can be omitted.&lt;br /&gt;The ALL phrase means that all roles should be enabled for this current session, except those listed in the EXCEPT phrase.&lt;br /&gt;The NONE phrase disables all roles for the current session. (including all default roles)&lt;br /&gt;&lt;br /&gt;Example&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SET ROLE abc IDENTIFIED BY abc123;&lt;br /&gt;&lt;/span&gt;This example would enable the role called abc with a password of abc123.&lt;br /&gt;&lt;br /&gt;A default role means that the role is always enabled for the current session when the user logs on. It is not necessary to issue the SET ROLE statement. To set a role as a DEFAULT role, you need to issue the ALTER USER statement.&lt;br /&gt;&lt;br /&gt;The syntax for setting a role as a DEFAULT role is:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ALTER USER user_nameDEFAULT ROLE( role_name ALL [EXCEPT roleA, roleB, ... ] NONE );&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The user_name phrase is the name of the user whose role you are setting as DEFAULT.&lt;br /&gt;The role_name phrase is the name of the role that you wish to set as DEFAULT.&lt;br /&gt;The ALL phrase means that all roles should be enabled as DEFAULT, except those listed in the EXCEPT phrase.&lt;br /&gt;The NONE phrase disables all roles as DEFAULT.&lt;br /&gt;&lt;br /&gt;Example:&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ALTER USER bakarDEFAULT ROLE abc;&lt;/span&gt;&lt;br /&gt;This example would set the role called abc as a DEFAULT role for the user called bakar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ALTER USER bakar DEFAULT ROLE ALL;&lt;br /&gt;&lt;/span&gt;This example would set all roles assigned to bakar as DEFAULT.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ALTER USER bakarDEFAULT ROLEALL EXCEPT abc;&lt;br /&gt;&lt;/span&gt;This example would set all roles assigned to bakar as DEFAULT, except for the role called abc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-7091622483266194447?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/7091622483266194447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=7091622483266194447' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7091622483266194447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/7091622483266194447'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/04/roles.html' title='Roles'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-5948061257915106422</id><published>2007-04-12T20:58:00.000+08:00</published><updated>2007-04-12T21:09:24.206+08:00</updated><title type='text'>How to be a successful Oracle Database Professional</title><content type='html'>I  read this article in a blog from a very famous Oracle Guru, Tom Kyte (&lt;a href="http://tkyte.blogspot.com"&gt;http://tkyte.blogspot.com&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;I thought of sharing this with you all of what he thinks to become a successful Oracle Database Professional.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Ways to go to become a successful Oracle Database Professional&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Be involved, participate. I cannot stress that one enough.&lt;br /&gt;&lt;br /&gt;2. Understand.  It is not good enough to think you know how something should work according to you.  You have to understand how it actually does work.  What you believe to be the way something is implemented could be far from the truth as to how it actually is implemented.&lt;br /&gt;&lt;br /&gt;3.Ask why whenever you don't know why. We could just shorten that to "ask". If you don't ask, you'll never know.  If you are answering questions and don't ask some yourself - you are doing it wrong.&lt;br /&gt;&lt;br /&gt;4.Trust but Question Authority. If you see something written as a statement of fact without any supporting evidence either ignore it entirely or if you feel it could be beneficial to you if true develop a method to test the concept and see if it holds true.&lt;br /&gt;&lt;br /&gt;5.If you want to be successful, you'll be communicating.  Be precise in that communication. It really does make a difference.  Clarity is necessary and preciseness is mandatory for clarity.&lt;br /&gt;&lt;br /&gt;6.When you participate and start giving your own answers, your own input - do it right&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I hope this sayings from Tom Kyte motivates you all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-5948061257915106422?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/5948061257915106422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=5948061257915106422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5948061257915106422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/5948061257915106422'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/04/how-to-be-successful-oracle-database.html' title='How to be a successful Oracle Database Professional'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-8472920305109144283</id><published>2007-04-02T08:46:00.000+08:00</published><updated>2007-04-02T09:02:42.998+08:00</updated><title type='text'>orakill on windows</title><content type='html'>This utility is provided only with Oracle databases on WINDOWS platforms.Ths executable allows a DBA to kill sessions in Oracle withuot connecting to the database.That is you can do it on DOS command prompt.(orakill.exe)&lt;br /&gt;&lt;br /&gt;Unix system are processes based while windows environment are thread based.&lt;br /&gt;In Unix, every oracle sessions can be seen individually by using the ps comand but in windows&lt;br /&gt;based system all sessions are in the oracle.exe executables.That means you won't be able to see&lt;br /&gt;sessions individually.&lt;br /&gt;&lt;br /&gt;The &lt;em&gt;orakill&lt;/em&gt; will do the same thing in windows what kill -9 does in UNIX.&lt;br /&gt;C:\oracle&gt;orakill&lt;br /&gt;Usage: orakill sid thread&lt;br /&gt;where sid = the Oracle instance to target&lt;br /&gt;thread = the thread id of the thread to kill&lt;br /&gt;&lt;br /&gt;The thread id should be retrieved from the spid column of a query such as:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;select spid, osuser, s.program &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;from v$process p, v$session s &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;where p.addr=s.paddr;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to get a better view, you can user the below query to replace the above.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;select b.spid, a.osuser, a.username &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;from v$process b, v$session a &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;where b.addr=a.paddr&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;and a.username is not null;&lt;br /&gt;&lt;/span&gt;e.g&lt;br /&gt;SPID OSUSER USERNAME&lt;br /&gt;------------ ------------------------------ -------------------&lt;br /&gt;2508 MURALI\innotiive PRASANA&lt;br /&gt;2644 MURALI\innotiive ALI&lt;br /&gt;&lt;br /&gt;C:\oracle&gt;orakill PROD 2644&lt;br /&gt;Kill of thread id 2644 in instance PROD successfully signalled.&lt;br /&gt;&lt;br /&gt;SQL&gt;&lt;span style="color:#ff6666;"&gt;select b.spid, a.osuser, a.username from &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;v$process b, v$session a where b.addr=a.paddr &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff6666;"&gt;and a.username is not null;&lt;br /&gt;&lt;/span&gt;SPID OSUSER USERNAME&lt;br /&gt;------------ ------------------------------ --------------&lt;br /&gt;2508 MURALI\innotiive PRASANA&lt;br /&gt;&lt;br /&gt;You can also kill a user session from the Oracle databasee.g.alter system kil session (sid,serial#);&lt;br /&gt;&lt;br /&gt;You can get the value of sid and serial# from the v$session view.&lt;br /&gt;One of the reason to use &lt;em&gt;orakill&lt;/em&gt; instead of alter system kill session is orakill will clear&lt;br /&gt;any locks that exist but alter system kill session will remain connected until it times out and&lt;br /&gt;then it release the locks.&lt;br /&gt;&lt;br /&gt;The &lt;em&gt;orakill &lt;/em&gt;utility should be used as a last resort only. If the session cannot be killed more&lt;br /&gt;gracefully (via alter system kill session), or the instance is inaccessible via SQL, then&lt;br /&gt;orakill should be used to terminate the offending session.&lt;br /&gt;&lt;br /&gt;Be careful not to kill a background process as this may cause the database to be down.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-8472920305109144283?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/8472920305109144283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=8472920305109144283' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8472920305109144283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/8472920305109144283'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/04/orakill-on-windows.html' title='orakill on windows'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-430347944929215311</id><published>2007-03-24T00:16:00.000+08:00</published><updated>2007-03-24T00:24:30.621+08:00</updated><title type='text'>Bigfile Tablespace in 10g</title><content type='html'>Database tables nowdays holds alot of data. This is of because data is important for companies to make decisions.As you are aware the concept of BI (Business Intelligence), it is becoming famous nowdays. BI needs alot of data to make better decisions.&lt;br /&gt;&lt;br /&gt;To address this craving,Oracle has come up with th Bigfile Tablespace concept.&lt;br /&gt;&lt;br /&gt;Bigfile tablespaces(BFT) are tablespaces with a single large datafile(this means you can only have 1 datafile for bigfile tablespace). In contrast to normal (smallfile) tablespaces can have several datafiles(max 1022 files), but each is limited in size (the size of the disk partiton).&lt;br /&gt;&lt;br /&gt;This concept is introduced in 10g.&lt;br /&gt;&lt;br /&gt;Bigfile tablespaces(BFT) must be locally managed with automatic segment-space management.&lt;br /&gt;&lt;br /&gt;Temporary tablespaces, the SYSTEM tablespace and locally managed undo tablespaces are exceptions to this rule.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;e.g. of creating a bigfile tablespace &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;CREATE BIGFILE TABLESPACE innotiivebig DATAFILE '/a1/oracle/innotiivebig01.dbf' SIZE 200G;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;CREATE BIGFILE TABLESPACE innotiivebig DATAFILE '/a1/oracle/innotiivebig01.dbf' SIZE 200G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;The size of the file can be specified in kilobytes (K), megabytes (M), gigabytes (G), or terabytes (T).&lt;br /&gt;&lt;br /&gt;DBA_TABLESPACES AND V$TABLESPACE contain a new column called BIGFILE that allows administrators to determine if the tablespace is a Smallfile or Bigfile tablespace.&lt;br /&gt;&lt;br /&gt;Before you even consider creating one of these things, make sure that your environment is able to support its expansion&lt;br /&gt;&lt;br /&gt;For using BFT,the underlying operating system should support Large File.In other words the file system should have Large File Support(LFS).&lt;br /&gt;&lt;br /&gt;Bigfile tablespaces will have a future in many Oracle environments but they must only be implemented with much forethought.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-430347944929215311?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/430347944929215311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=430347944929215311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/430347944929215311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/430347944929215311'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/03/bigfile-tablespace-in-10g.html' title='Bigfile Tablespace in 10g'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-2093151297040576494</id><published>2007-03-16T01:14:00.000+08:00</published><updated>2007-03-16T01:34:51.268+08:00</updated><title type='text'>Oracle Recycle Bin</title><content type='html'>This is a new feature in Oracle10g.Prior to 10g,when you issue the DROP command&lt;br /&gt;e.g. &lt;span style="color:#ff0000;"&gt;DROP table EMP;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The particular table is dropped and also its dependent objects (indexes,costraints and triggers,etc).&lt;br /&gt;In Oracle 10g it will be renamed to a system generated string and logically placed in the recycle bin.Each dropped object will be placed in the recycle bin which is in the same tablespace the schema from which it was dropped from.&lt;br /&gt;&lt;br /&gt;The recycle bin is actually a new data dictionary table(SYS.RECYCLEBIN$) that records information about dropped tables.When an object is dropped,Oracle just renames the table and all its associated objects (indexes, triggers,etc) to a system-generated name that begins with BIN$.&lt;br /&gt;There are two recyclebin views, &lt;span style="color:#ff0000;"&gt;USER_RECYCLEBIN&lt;/span&gt; and &lt;span style="color:#ff0000;"&gt;DBA_RECYCLEBIN&lt;/span&gt;. For convenience, the synonym &lt;span style="color:#ff0000;"&gt;RECYCLEBIN&lt;/span&gt; points to your &lt;span style="color:#ff0000;"&gt;USER_RECYCLEBIN&lt;/span&gt;. The recyclebin is enabled by default in 10g, but you can turn it on or off with the &lt;span style="color:#ff0000;"&gt;RECYCLEBIN &lt;/span&gt;initialization parameter, at the system or session level.&lt;br /&gt;&lt;br /&gt;Users will retain all writes and privileges to the recyclebin object just as before the object was dropped.&lt;br /&gt;There is no special storage for these dropped objects because it will still remain in the tablespace they were dropped from.&lt;br /&gt;Dropped objects is still counted in the users's quota.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;Here are some examples.Have fun!!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; create table t (name varchar2(8));&lt;br /&gt;Table created.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;SQL&gt; insert into t values ('ali');&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&gt; insert into t values ('abu');&lt;br /&gt;1 row created.&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from t;&lt;br /&gt;NAME&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;--------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ali&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;abu&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;SQL&gt; drop table t;&lt;br /&gt;Table dropped.&lt;br /&gt;&lt;br /&gt;SQL&gt; select * from t;select * from t&lt;br /&gt;*ERROR at line 1:ORA-00942: table or view does not exist&lt;br /&gt;&lt;br /&gt;SQL&gt; select object_name,original_name,ts_name,droptime from recyclebin;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;OBJECT_ NAME ORIGINAL_NAME TS_NAME DROPTIME&lt;br /&gt;---------------------- ------------------- ------------ ---------------&lt;br /&gt;BIN$DgYaFTOBTrScJ+2ba85IXA==$0 T USERS 2007-03-15:10:14:22&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;You can also type&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; show recyclebin;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME-------------- --------------- --------------------- --------------- -------------&lt;br /&gt;T BIN$DgYaFTOBTrScJ+2ba85IXA==$0 TABLE 2007-03-15:10:14:22&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;To query the content of a table in recyclebin&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; select * from "BIN$DgYaFTOBTrScJ+2ba85IXA==$0";&lt;br /&gt;NAME&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;--------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ali&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;abu&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;to recover the dropped table&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; flashback table t to before drop;&lt;br /&gt;Flashback complete.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; select * from t;&lt;br /&gt;NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;--------&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ali&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;abu&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; select * from recyclebin;&lt;br /&gt;no rows selected&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;Some other commands&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;1.to recover the table to a different name&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; flashback table t to before drop rename to t1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;2. To drop permanently(do not go to recyclebin)&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;SQL&gt; DROP table t purge;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;When you issue the DROP TABLESPACE....INCLUDING CONTENTS,all objects will be drop and won't go to the recyclebin and all objects in the recyclebin will be removed.&lt;br /&gt;&lt;br /&gt;Usually indexes,constraints and triggers should retain the original name after the dropped table is recovered but now the indexes has system generated names not original names.This is a bug in Oracle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-2093151297040576494?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/2093151297040576494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=2093151297040576494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2093151297040576494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/2093151297040576494'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/03/oracle-recycle-bin.html' title='Oracle Recycle Bin'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-1816861645446014797</id><published>2007-03-09T14:23:00.000+08:00</published><updated>2007-03-09T14:50:54.491+08:00</updated><title type='text'>SPFILE or PFILE</title><content type='html'>Someone ask me the other day the differences between spfile and pfile&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Here are my input:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;PFILE or SPFILE are file that is used to store database intialization parameters.&lt;br /&gt;&lt;br /&gt;The pfile or spfile is read during instance startup to get instance specific settings.&lt;br /&gt;&lt;br /&gt;SPFILE was implemented or introduced from 9i only.In 10g pfile is still supported&lt;br /&gt;You only can use one at a time but both files can exist in the default location.&lt;br /&gt;&lt;br /&gt;By default, if you do not specify PFILE in your STARTUP command, Oracle will use the spfile.&lt;br /&gt;&lt;br /&gt;Changes to pfile can be made by editing the file and do a shutdown startup but for spfile, changes are made using the alter system command.&lt;br /&gt;&lt;br /&gt;To create a server parameter file from a parameter file&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;login as sys&lt;br /&gt;create spfile from pfile;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="color:#333333;"&gt;(&lt;/span&gt;both files will bin located in $ORACLE_HOME/dbs for Unix and $ORACLE_HOME/database for windows)&lt;br /&gt;&lt;br /&gt;By using spfile changes can be made in 3 ways as specified below&lt;br /&gt;&lt;span style="color:#990000;"&gt;&lt;strong&gt;SCOPE = SPFILE&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;em&gt;e.g. alter system set sql_trace=true scope =spfile;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;(For both static and dynamic parameters, changes are recorded in the spfile, to be given effect in the next restart.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;SCOPE = MEMORY&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;e.g alter system set undo_tablespace=undotbs1 scope=memory;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;(For dynamic parameters, changes are applied in memory only. No static parameter changes is allowed.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;SCOPE = BOTH&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;e.g alter system set log_archive_dest_1 =/u01/arch2 scope=both;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;For dynamic parameters, the change is applied in both the server parameter file and memory. No static parameters changes is allowed.)&lt;br /&gt;&lt;br /&gt;For dynamic parameters, we can also specify the DEFERRED keyword. When specified, the change is effective only for future sessions.&lt;br /&gt;&lt;br /&gt;We can also use the server parameter file to create a pfile&lt;br /&gt;This would be useful for:&lt;br /&gt;1) Creating backups of the spfile.&lt;br /&gt;2) For diagnostic purposes&lt;br /&gt;3) Modifying the spfile by first exporting it, editing the output file, and then recreating it.&lt;br /&gt;&lt;br /&gt;The following example creates a pfile from spfile&lt;br /&gt;&lt;em&gt;&lt;span style="color:#ff0000;"&gt;login as sys&lt;br /&gt;CREATE PFILE FROM SPFILE;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;(both files will bin located in $ORACLE_HOME/dbs for Unix and $ORACLE_HOME/database for windows)&lt;br /&gt;&lt;br /&gt;Fell free to comment or ask questions....Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-1816861645446014797?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/1816861645446014797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=1816861645446014797' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/1816861645446014797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/1816861645446014797'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/03/spfile-or-pfile.html' title='SPFILE or PFILE'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6233077182969633798.post-4645922989267412772</id><published>2007-03-05T23:51:00.000+08:00</published><updated>2007-03-06T00:44:30.787+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='post start'/><title type='text'>Welcome all Malaysian Oracle Users</title><content type='html'>I am starting this blog to help &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;&lt;em&gt;Malaysian Oracle Users&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;, so that they can share their experiences on Oracle Databases (7,8,8i,9i,10g)&lt;br /&gt;&lt;br /&gt;I will try my best to post new/fresh/old experiences that I have encountered as a Database consultant.&lt;br /&gt;&lt;br /&gt;Please give your comments if there is any mistakes or how to make this blog better.&lt;br /&gt;&lt;br /&gt;Hope to do it weekly. &lt;span style="font-size:130%;color:#ff0000;"&gt;WATCH OUT!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6233077182969633798-4645922989267412772?l=muralioracle.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://muralioracle.blogspot.com/feeds/4645922989267412772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6233077182969633798&amp;postID=4645922989267412772' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4645922989267412772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6233077182969633798/posts/default/4645922989267412772'/><link rel='alternate' type='text/html' href='http://muralioracle.blogspot.com/2007/03/welcome-all-malaysian-oracle-users.html' title='Welcome all Malaysian Oracle Users'/><author><name>Murali Shankar Gnanaganesan</name><uri>http://www.blogger.com/profile/11411383113362362208</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry></feed>
