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′;
