Miladin Modrakovic’s Blog: Oraclue

December 14, 2009

Open database with delay

Filed under: Internals — oraclue @ 6:11 pm

The event db_open_begin delay (opening database with delay)  is undocumented event ( read unsupported ) and it will do exactly what is says e.g. open database with delay .Although alter database open command is executed it will wait for specified interval before opening database.

So here is scenario:

SQL> startup mount;
ORACLE instance started.

Total System Global Area 2973003776 bytes
Fixed Size                  2217064 bytes
Variable Size            2080377752 bytes
Database Buffers          872415232 bytes
Redo Buffers               17993728 bytes
Database mounted.
SQL> oradebug setmypid
Statement processed.
SQL> oradebug event db_open_begin delay=10
Statement processed.
SQL> set timing on
SQL> alter database open;

Database altered.

Elapsed: 00:00:11.51

Database was opened after approx 12 sec ( 10 sec delay and 1.51sec to run all oracle code related to opening database  starting with  bootstrap$  object. )

alter system command will work too:

SQL> alter system set events ‘db_open_begin delay =50′;

3 Comments »

  1. Miladin,
    It is very interesting. I wonder what the usefulness of this feature is?

    Anyway, I ran tests on 11gR2, it behaves as you described.

    Thanks.
    Ittichai

    Comment by Ittichai Chammavanijakul — December 22, 2009 @ 2:51 pm

  2. Hi Ittichai,

    One of the useful things would be to run different diagnostics during this delay time in the case that you are debugging instance.

    Thanks,

    Miladin

    Comment by oraclue — December 22, 2009 @ 5:56 pm

  3. [...] 3-How to open database with delay ? Miladin Modrakovic-Open database with delay [...]

    Pingback by Blogroll Report 11/12/2009-18/12/2009 « Coskan’s Approach to Oracle — January 2, 2010 @ 5:50 pm


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.