Evil things are happening in Oracle

Relax, I’m talking about the Oracle Database kernel here, not the corporation ;-)

Here’s a couple of more reasons why not to play around with undocumented debug events unless you’re really sure why and how would they help to solve your specific problem (and you’ve gotten a blessing in some form from Oracle support too):

$ oerr ora 10665
 10665, 00000, "Inject Evil Literals"
 // *Cause:  Event 10665 is set to some number > 0, causing 1/(value-1) of all
 //          literals to be replaced by 2000 letter 'A's.  A value of 1 does
 //          not corrupt anything.
 // *Action: never set this event

$ oerr ora 10668

10668, 00000, "Inject Evil Identifiers"
 // *Cause:  event 10668 is set to some number > 0, causing 1/(value-1) of all
 //          identifiers to be replaced by a maximum amount of x's.  It is
 //          common for an identifier to be parsed once with a max of 30 bytes,
 //          then reparsed later with a max of 4000, so it may not be possible
 //          to inject such an identifier without the aid of this event.  A
 //          value of 1 causes no identifiers to be corrupted.
 // *Action: never set this event


Some events are meant to be left alone. You don’t want to wake up the evil sleeping deep in the core of the Oracle Kernel-land!


By the way, Karl Arao once managed to capture what this evil creature looks like:




This entry was posted in Cool stuff, Oracle. Bookmark the permalink.

9 Responses to Evil things are happening in Oracle

  1. Simon says:

    Should be ora 10666….. :)

  2. Simon says:

    Or :

    oracle > oerr ibm 10666
    oerr: Unknown facility ‘ibm’

    Oracle no longer “recognizes” IBM…

  3. Ben Prusinski says:

    Woah! This is way cool like many hidden sublimal messages in Oracle.

    I wonder if Oracle has a secret code message like Ora-0666 ?

  4. Tanel Poder says:

    @Ben Prusinski

    In oracle it’s called ORA-600 :)

  5. That’s funny! Developers will sneak things in once in while. Reminds me of the DBA manual back in the early days. At one point the appendix had an entry for “Dirty Reads”. The description was “Done Dirt Cheap”. Ha!

  6. Kevin says:

    …ahhh…if only you folks had ever seen the comments in the code…those are the real jewels :-) “Code” being the RDBMS code of course.

  7. joel garry says:

    And a bit of evil slipped into ODM:

    $ oerr ora 17613
    17613, 00000, “Failed to initialize Oracle Disk Manager library: %s”
    // *Cause: ODM initialization for the thread failed due to insufficient
    // previlige or memory.
    // *Action: Make sure there is enough system resources available for the
    // oracle process and it has access to the ODM library

Leave a Reply

Your email address will not be published. Required fields are marked *