<?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-1236255186472302605</id><updated>2011-11-24T23:59:16.441-08:00</updated><category term='ethics'/><category term='partition maintenance licensing'/><category term='recovery'/><category term='theft'/><category term='autolog'/><category term='oradebug'/><category term='prelim'/><category term='best practice'/><category term='hang'/><category term='license'/><category term='ORA-01017 ORA-16191 log transport dataguard streams'/><category term='CDC'/><category term='reinstantiation'/><category term='oracle'/><title type='text'>SQL&gt; oradeblog</title><subtitle type='html'>Exploring Oracle's less documented and less understood features and functions</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1236255186472302605.post-2134062304013466203</id><published>2009-01-30T12:41:00.001-08:00</published><updated>2009-01-30T12:52:44.106-08:00</updated><title type='text'>Goodbye ORA-600, hello, Blue Gecko</title><content type='html'>Things are changing a little around here.  I have been running &lt;a href="http://www.ora-600.net/"&gt;ORA-600 Consulting &lt;/a&gt;for five years, and have made the big decision to join &lt;a href="http://www.bluegecko.net/"&gt;Blue Gecko&lt;/a&gt;, a remote administration and managed hosting provider here in Seattle.  My new colleagues look familiar. They are the same people that I worked with in the first several years of building &lt;a href="http://www.amazon.com/"&gt;Amazon.com&lt;/a&gt;'s IT infrastructure in the late 90s.&lt;br /&gt;&lt;br /&gt;This was a big decision, but my direction increasingly has been toward teaching and emergency support.  These happen to be two areas Blue Gecko is excited to build on.  So I will continue my focus in these two areas with the support of a great company.  Best of all, I will no longer have to be in charge of billing, accounting, sales and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;toilet&lt;/span&gt; cleaning duties for my own company.  This should leave me more time to work on the Oracle topics I care about more.&lt;br /&gt;&lt;br /&gt;I'm hoping my clients will all come over to Blue Gecko with me.  They'll frankly get much better support from the 24x7 support staff and mature monitoring and administration infrastructure Blue Gecko provides.  They can still ask for me if they want!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-2134062304013466203?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/2134062304013466203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=2134062304013466203' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/2134062304013466203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/2134062304013466203'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2009/01/goodbye-ora-600-hello-blue-gecko.html' title='Goodbye ORA-600, hello, Blue Gecko'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-5500410505366442903</id><published>2009-01-02T14:29:00.000-08:00</published><updated>2009-01-10T16:14:08.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ORA-01017 ORA-16191 log transport dataguard streams'/><title type='text'>Log transport annoyance with ORA-01017 and ORA-16191</title><content type='html'>In 11g, setting up log transport for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;DataGuard&lt;/span&gt;, Streams, CDC, etc., you are likely to run into this annoyance. No matter how carefully you make the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SYS&lt;/span&gt; passwords in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;passwordfile&lt;/span&gt; the same byte-for-byte on both the source and destination hosts, the source &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;archiver&lt;/span&gt; will fail trying to log in to the destination DB with these messages written to the alert log:&lt;br /&gt;&lt;br /&gt;ORA-01017: invalid &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;username&lt;/span&gt;/password; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;logon&lt;/span&gt; denied&lt;br /&gt;ORA-16191: Primary log shipping client not logged on standby&lt;br /&gt;&lt;br /&gt;The solution is to create the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;passwordfiles&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;orapwd&lt;/span&gt; using the argument '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;ignorecase&lt;/span&gt;=y':&lt;br /&gt;&lt;br /&gt;% &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;orapwd&lt;/span&gt; file=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;orapwORCL&lt;/span&gt; password=crash_on_install &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ignorecase&lt;/span&gt;=y&lt;br /&gt;&lt;br /&gt;This issue has been documented by several &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;bloggers&lt;/span&gt; and forum participants, but there is still no note in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Metalink&lt;/span&gt; as of today. I'm not sure what part of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;codepath&lt;/span&gt; contains this bug or if perhaps this is one of those that would be addressed with the "not a bug" response from &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;dev&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;You will probably have found this article after following the instructions in the error documentation:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Check that primary and standby are using password files and that both primary and standby have the same &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;SYS&lt;/span&gt; password. Restart primary and/or standby after ensuring that password file is accessible and REMOTE_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;LOGIN&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;PASSWORDFILE &lt;/span&gt;initialization parameter is set to SHARED or EXCLUSIVE. &lt;/blockquote&gt;&lt;br /&gt;Restart the primary. I love it :-) Jeez.&lt;br /&gt;&lt;br /&gt;All I can say is I am sorry you went through this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-5500410505366442903?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/5500410505366442903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=5500410505366442903' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/5500410505366442903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/5500410505366442903'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2009/01/log-transport-annoyance-with-ora-01017.html' title='Log transport annoyance with ORA-01017 and ORA-16191'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-7952613543718429908</id><published>2008-12-09T18:00:00.000-08:00</published><updated>2008-12-09T18:35:11.527-08:00</updated><title type='text'>What can I kill?</title><content type='html'>Fairly often, I have to kill Oracle background processes. At first this probably seems crazy. Do I want to destroy my database?&lt;br /&gt;&lt;br /&gt;No, it is SOP. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Archivers&lt;/span&gt; (ARC&lt;em&gt;n&lt;/em&gt;) are my favorite targets. You can solve all kinds of problems by killing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;archivers&lt;/span&gt; and letting them be automatically restarted. Often issues with redo transport services (Streams, CDC, Logical Data Guard) can be solved by forcing the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;archivers&lt;/span&gt; to restart.&lt;br /&gt;&lt;br /&gt;Another time you might want to kill a background process is if it is leaking memory.&lt;br /&gt;&lt;br /&gt;Unfortunately, there are many &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;processes&lt;/span&gt; in Oracle that cannot be killed. Off the top of your head you might mention &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;PMON&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SMON&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;LGWR&lt;/span&gt;. Is there anyplace in the documentation that breaks down which you can kill without terminating the instance? No. So I experimented on 11&lt;em&gt;g&lt;/em&gt; with these results:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Killable&lt;/span&gt;:&lt;br /&gt;&lt;/strong&gt;ARC&lt;em&gt;n&lt;/em&gt;: Redo log &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;archivers&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;CJQ&lt;/span&gt;&lt;em&gt;n&lt;/em&gt;: Job scheduler coordinator&lt;br /&gt;D&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;nnn&lt;/span&gt;&lt;/em&gt;: Dispatchers&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;DIA&lt;/span&gt;0: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Diagnosibility&lt;/span&gt; process 0&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;DIAG&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Diagnosibility&lt;/span&gt; coordinator&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;FDBA&lt;/span&gt;: Flashback data &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;archiver&lt;/span&gt; process&lt;br /&gt;J&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;nnn&lt;/span&gt;&lt;/em&gt;: Job scheduler processes&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;MMNL&lt;/span&gt;: Manageability Monitor Process 2&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;MMON&lt;/span&gt;: Manageability Monitor Process&lt;br /&gt;PING: Interconnect latency measurement&lt;br /&gt;Q&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;nnn&lt;/span&gt;&lt;/em&gt;: Queue cleanup processes&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;QMNC&lt;/span&gt;: Queue coordinator&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;RECO&lt;/span&gt;: Distributed recovery process&lt;br /&gt;S&lt;em&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;nnn&lt;/span&gt;&lt;/em&gt;: Shared servers&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;SMCO&lt;/span&gt;: Space management coordinator&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Wnnn&lt;/span&gt;: Space management processes&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Instance-Critical:&lt;br /&gt;&lt;/strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;ACMS&lt;/span&gt;: Atomic &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;controlfile&lt;/span&gt; to memory server&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;CKPT&lt;/span&gt;: Checkpoint&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;DBRM&lt;/span&gt;: Resource manager process&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;DBW&lt;/span&gt;&lt;em&gt;n&lt;/em&gt;: Database writer processes&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;LGWR&lt;/span&gt;: Redo log writer&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;LMD&lt;/span&gt;&lt;em&gt;n&lt;/em&gt;: Global &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;enqueue&lt;/span&gt; service daemons&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;LMON&lt;/span&gt;: Global &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;enqueue&lt;/span&gt; service monitor&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;MMAN&lt;/span&gt;: Memory manager&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;PMON&lt;/span&gt;: Process monitor&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;PSP&lt;/span&gt;&lt;em&gt;n&lt;/em&gt;: Process &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;spawners&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;RMS&lt;/span&gt;&lt;em&gt;n&lt;/em&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;RAC&lt;/span&gt; management server&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;RVWR&lt;/span&gt;: Recovery writer&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;SMON&lt;/span&gt;: System monitor process&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;VKTM&lt;/span&gt;: Virtual keeper of time process&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-7952613543718429908?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/7952613543718429908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=7952613543718429908' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7952613543718429908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7952613543718429908'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2008/12/what-can-i-kill.html' title='What can I kill?'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-2086843227890975527</id><published>2008-12-08T23:34:00.000-08:00</published><updated>2008-12-09T00:14:29.821-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='autolog'/><category scheme='http://www.blogger.com/atom/ns#' term='recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='reinstantiation'/><category scheme='http://www.blogger.com/atom/ns#' term='best practice'/><category scheme='http://www.blogger.com/atom/ns#' term='CDC'/><title type='text'>Keeping CDC from falling apart catastrophically</title><content type='html'>CDC, especially the log-based implementations such as "asynchronous autolog" can be a really nice effective way to maintain a DSS system with low impact on a production OLTP data source.&lt;br /&gt;&lt;br /&gt;One problem with CDC is that it uses Streams, specifically the logminer capture and apply components, which can be challenging to make work successfully. A constant danger is the CDC staging database encounterin a problem that makes it unable to continue processing changes. In development, we find ourselves rebuilding the change source and sets frequently to overcome bugs, mistakes and mysterious failures.&lt;br /&gt;&lt;br /&gt;In production, however, rebuilding the CDC environment requires rebuilding the entire DSS reporting system or data warehouse. Each change from the production source must be captured by CDC or there will be data loss. Rebuilding CDC implies losing transactions.&lt;br /&gt;&lt;br /&gt;As it turns out, everything hinges on the availability fo a recent logminer data dictionary build in the redo logs. With CDC, you can reinstantiate the CDC environment as of any point in time, as long as you have a source archivelog with a dictionary build, and all subsequent logs to the current pont in time. Thus my #1 recommendation for people using async autolog CDC:&lt;br /&gt;&lt;br /&gt;Generate a data dictionary into the source redologs daily using a script similar to this:&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SQL&gt; variable dicscn number&lt;br /&gt;SQL&gt; exec dbms_capture_adm.build(:dicscn)&lt;br /&gt;SQL&gt; column discn  format 9999999999999999999999&lt;br /&gt;SQL&gt; print dicscn&lt;p&gt;&lt;/p&gt;(Record this SCN)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you ever need to reinstantiate the CDC environment, re-create the change source as of the SCN of the last available dictionary build:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SQL&gt; exec dbms_cdc_publish.create_autolog_change_source( -&lt;br /&gt;     change_source_name=&gt;'MYSOURCE', -&lt;br /&gt;     description=&gt;'My OLTP Source', -&lt;br /&gt;     source_database=&gt;'MYDB', -&lt;br /&gt;     first_scn=&gt;'&lt;scn&gt;', -&lt;br /&gt;     online_log=&gt;'y')&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then ceate a change set that begins processing changes as of the time that the previous failed CDC staging system failed:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;SQL&gt; exec dbms_cdc_publish.create_change_set( -&lt;br /&gt;     change_set_name=&gt;'MYSET', -&lt;br /&gt;     description=&gt;'My Change Set', -&lt;br /&gt;     change_source_name=&gt;'MYSOURCE', -&lt;br /&gt;     begin_date=&gt;to_date('2008-12-09 18:00:00','yyyy-mm-dd hh24:mi:ss'), -&lt;br /&gt;     stop_on_ddl=&gt;'y')&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Finally create your change tables and subscriptions as usual. The changes in the change tables will beg as of the date specified in create_change_set.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-2086843227890975527?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/2086843227890975527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=2086843227890975527' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/2086843227890975527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/2086843227890975527'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2008/12/keeping-cdc-from-falling-apart.html' title='Keeping CDC from falling apart catastrophically'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1236255186472302605.post-7234235316378540244</id><published>2008-11-21T12:42:00.000-08:00</published><updated>2008-12-04T09:04:25.198-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ethics'/><category scheme='http://www.blogger.com/atom/ns#' term='license'/><category scheme='http://www.blogger.com/atom/ns#' term='theft'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Working for unlicensed sites</title><content type='html'>I &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;wonder how&lt;/span&gt; other independent professionals feel about helping companies that are running systems on Oracle without purchasing sufficient (or any) licenses from Oracle. Where do you draw the line? A few examples can be illuminating:&lt;br /&gt;&lt;br /&gt;One client of mine simply wanted to complete the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;RFP&lt;/span&gt; requirements to write a proposal to sell servers to a major bank. They only needed to install Oracle on a single host, run a simple load test against it for 24 hours, and submit the results with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;RFP&lt;/span&gt;. I did not ask, but Oracle was clearly unlicensed at this site.&lt;br /&gt;&lt;br /&gt;Another client is running a major order processing and fulfillment system, and "are not sure" if they are licensed. They &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;definitely&lt;/span&gt; have no support. My sense is that when you fork over your $50K+tax per &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;proc&lt;/span&gt;, you will notice the cash missing from your budget. Do you &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;think&lt;/span&gt; I should push for proof of license compliance or is it none of my business?&lt;br /&gt;&lt;br /&gt;If your answer is the latter, are there any ethics to apply to these scenarios? How far do you go? Would you download &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;EE&lt;/span&gt; onto their server yourself and call it their problem if they fail to license it?&lt;br /&gt;&lt;br /&gt;What about a site that queries v$active_session_history without paying for the tuning pack?&lt;br /&gt;&lt;br /&gt;I routinely help those interested in complying to do so, and help in negotiations with Oracle, but what about these egregiously non-compliant sites?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-7234235316378540244?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/7234235316378540244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=7234235316378540244' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7234235316378540244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7234235316378540244'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2008/11/working-for-unlicensed-sites.html' title='Working for unlicensed sites'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1236255186472302605.post-1658759402703823900</id><published>2008-11-17T13:30:00.000-08:00</published><updated>2008-11-17T13:36:50.080-08:00</updated><title type='text'>How to set your server process spinning</title><content type='html'>For one of my presentations I searched for some time for a way to make my own server process get into a spinning and hung state.  I found the best example in this SQL, which spins on 11.1.0.6 and can be run by any user, including non-privileged.  When I had a friend run it as a non-privileged user on a windows server, it made the server almost unusable, and necessitated stoping the Oracle service to get things back to normal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; select 1 from dual where regexp_like(' ','^*[ ]*a');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The statement will not return, and you may not be able to ^C out of it.  The server process/thread will consume all idle CPU and the time will be spent in uninstrumented code (STATUS=WAITED SHORT TIME and SECONDS_IN_WAIT &gt; 1).&lt;br /&gt;&lt;br /&gt;Don't run this on any system that you can be fired for bringing down!  You have been warned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-1658759402703823900?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/1658759402703823900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=1658759402703823900' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/1658759402703823900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/1658759402703823900'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2008/11/how-to-set-your-server-process-spinning.html' title='How to set your server process spinning'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-8246112210813877569</id><published>2008-11-17T10:12:00.000-08:00</published><updated>2008-11-17T10:39:37.520-08:00</updated><title type='text'>The alert log, tail -f, Flatland and Windows DBAs</title><content type='html'>I was working with Dan Morgan over at PSOUG Saturday and mentioned to him that the ADR Command Interpreter (ADRCI) in 11g provides `tail -f`-like capabilities for the alert log, including on Windows.  He was impressed by this, as previously, we have had to download third-party software to do anything like `tail -f` against the alert log on Windows.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;c:\&gt; adrci&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ADRCI: Release 11.1.0.6.0 - Beta on Mon Nov 17 10:29:51 2008&lt;br /&gt;Copyright (c) 1982, 2007, Oracle.  All rights reserved.&lt;br /&gt;adrci&gt; show alert -tail 100 -f&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I imagine the ability to follow the tail of  logfile to be nothing short of revelatory for some Windows-only DBAs, some of whose eyes I have seen visbly widen in amazement as they watched output appear in the cmd window real-time from the alert log. I described it to Dan as being like popping out from a two-dimensional world into a world where you suddenly realize there are three dimentions.  Wow!  Everything looks so colorful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-8246112210813877569?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/8246112210813877569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=8246112210813877569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/8246112210813877569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/8246112210813877569'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2008/11/alert-log-tail-f-flatland-and-windows.html' title='The alert log, tail -f, Flatland and Windows DBAs'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-8478679497647393874</id><published>2007-11-30T15:34:00.000-08:00</published><updated>2007-11-30T15:42:25.175-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='partition maintenance licensing'/><title type='text'>Starwood's partiton management isn't automated...</title><content type='html'>My Sprint broadband service isn't too quick where I am staying on vacation with my family, so I thought I'd try the hotel broadband at the Westin.  When I loaded the web page to sign in, I got:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Our Apologies. Error occured while processing your request.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Please try again later.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;Cause: ORA-14400: inserted partition key does not map to any partition &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One more thing we all need to automate: partition maintenance.&lt;br /&gt;&lt;br /&gt;If I were an Oracle sales person, I might say to myself, "Gee, I wonder if they're licensed for the partitioning option."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-8478679497647393874?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/8478679497647393874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=8478679497647393874' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/8478679497647393874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/8478679497647393874'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2007/11/starwoods-partiton-management-isnt.html' title='Starwood&apos;s partiton management isn&apos;t automated...'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-3290651714261872159</id><published>2007-10-31T14:40:00.000-07:00</published><updated>2007-10-31T15:03:45.731-07:00</updated><title type='text'>unit_test command in oradebug</title><content type='html'>&lt;span style="font-family:arial;"&gt;Thanks to Dan Morgan from PSOUG for getting me to start down this road.  Dan pointed me at the unit_test command in oradebug in 11&lt;em&gt;g&lt;/em&gt; as well as the dbke_test test:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test &lt;test&gt; &lt;option&gt; [arg] [...]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;So, what to type in after unit test.  There's no usage output when you input garbage:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test foo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ORA-00070: command foo is not valid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;There's a promising section in the output of strings of an oracle 11&lt;em&gt;g&lt;/em&gt; binary with the word 'test' appearing frequently:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ksuxkil_test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ksudss_dbg_test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test dbke_test foo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Invalid option for dbke_test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Usage: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_unit_main  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_flow_direct  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_flow_kge  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_test_tagrule  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test sweep  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_test_split  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_flow_kge_soft  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dde_flow_kge_ora  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test dump_incid_cache  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test reset_incid_cache  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;dbke_test suspend&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Aha!  Seems a few of these tests visible in the binary have usage prompts.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I played around with dbke_test (related to ADR) and came up with a couple nice permutations:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test dbke_test dde_flow_kge_ora 12333 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test dbke_test dde_flow_kge_ora stupid_idiot 0 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;ORA-700 anyone?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug unit_test dbke_test dde_flow_kge_soft foo bar baz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Run it on a test system unless you want to give your fellow DBA a heart attack. &lt;/span&gt;&lt;span style="font-family:arial;"&gt;Thanks again to Dan for sharing.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-3290651714261872159?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/3290651714261872159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=3290651714261872159' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/3290651714261872159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/3290651714261872159'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2007/10/unittest-command-in-oradebug.html' title='unit_test command in oradebug'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1236255186472302605.post-7120233766063582524</id><published>2007-10-31T10:17:00.000-07:00</published><updated>2007-10-31T10:30:48.085-07:00</updated><title type='text'>Secrets of the ORA-600 lookup tool</title><content type='html'>&lt;span style="font-family:arial;"&gt;Metalink's &lt;/span&gt;&lt;a href="https://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&amp;amp;p_id=153788.1"&gt;&lt;span style="font-family:arial;"&gt;ORA-600/ORA-7445 and call stack lookup tool&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; is incredibly useful for finding reference information on various permutations of these errors.  I opened the page source for this Metalink page and it is quite interesting.  The entire table of error arguments and their corresponding Metalink note IDs is visible. Also we can see the code for processing call stacks, which is educational.  We learn, for instance, that the tool supports gdb backtraces.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;There is always a link to this tool at the bottom of my web page, &lt;a href="http://www.ora-600.net/"&gt;http://www.ora-600.net&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-7120233766063582524?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/7120233766063582524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=7120233766063582524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7120233766063582524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/7120233766063582524'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2007/10/secrets-of-ora-600-lookup-tool.html' title='Secrets of the ORA-600 lookup tool'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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-1236255186472302605.post-6244315100183963036</id><published>2007-10-30T16:15:00.000-07:00</published><updated>2007-10-30T16:21:03.228-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hang'/><category scheme='http://www.blogger.com/atom/ns#' term='prelim'/><category scheme='http://www.blogger.com/atom/ns#' term='oradebug'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>SQL*Plus 'prelim' connection</title><content type='html'>&lt;span style="font-family:arial;"&gt;A little known feature of SQL*Plus is the 'prelim' connection, which allows you to connect to an Oracle instance's SGA without alloctaion a session. This is very handy when you are dealing with a completely hung instance that is no longer accepting logins, even as SYSDBA.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;You can use the prelim connection to obtain diagnostics from within your own session or in an already-running session in the database. You can take diagnostic traces like hanganalyze and systemstate, or query x$ structs.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here's an example of dumping the contents v$wait_chains (a new view in 11g) using the prelim connection:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ sqlplus /nolog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL*Plus: Release 11.1.0.6.0 - Production&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; set _prelim on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Prelim connection established&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug setmypid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug direct_access enable trace&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug direct_access disable reply&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug direct_access set content_type = 'text/plain'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug direct_access select * from x$ksdhng_chains&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug tracefile_name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/opt/oracle/diag/rdbms/test01/test01/trace/test01_ora_3025.trc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Here's an example of dumping hanganalyze and systemstate from within he already-running DIAG process:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$ sqlplus /nolog&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL*Plus: Release 11.1.0.6.0 - Production&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; set _prelim on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; connect / as sysdba&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Prelim connection established&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug setorapname diag&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Oracle pid: 4, Unix process pid: 9837, image: &lt;/span&gt;&lt;a href="mailto:oracle@host"&gt;&lt;span style="font-family:courier new;"&gt;oracle@host&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:courier new;"&gt; (DIAG)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug dump hanganalyze 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug dump systemstate 267&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Statement processed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;SQL&gt; oradebug tracefile_name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/opt/oracle/diag/rdbms/test01/test01/trace/test01_diag_9837.trc&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;I believe prelim was quietly introduced in 10g. It does not appear to be available in 9i. This feature is extremely important for obtaining diagnostics upon the first occurrence of a hang. It prevent encountering that hang over and over, never finding the cause.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Thanks, and be sure to check out my whitepapers and articles at &lt;/span&gt;&lt;a href="http://www.ora-600.net/"&gt;&lt;span style="font-family:arial;"&gt;http://www.ora-600.net&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Jeremiah&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1236255186472302605-6244315100183963036?l=oradeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oradeblog.blogspot.com/feeds/6244315100183963036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1236255186472302605&amp;postID=6244315100183963036' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/6244315100183963036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1236255186472302605/posts/default/6244315100183963036'/><link rel='alternate' type='text/html' href='http://oradeblog.blogspot.com/2007/10/sqlplus-prelim-connection.html' title='SQL*Plus &apos;prelim&apos; connection'/><author><name>Jeremiah Wilton</name><uri>http://www.blogger.com/profile/07814032859879902773</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>
