Here’s a little SQL query that lists all Oracle wait events where Oracle kernel developers have added additional “human readable” descriptions. Since the original wait event names shouldn’t be changed for compatibility with existing tools, then a new column DISPLAY_NAME
was added:
SQL> SELECT name, display_name FROM v$event_name WHERE name != display_name; NAME DISPLAY_NAME ----------------------------------------- ---------------------------------------------------------------- control file sequential read control file read control file single write control file write log file sequential read log file multiblock read log file single write log file header write log file parallel write log file redo write log buffer space log buffer full - LGWR bottleneck log file sync commit: log file sync LGWR real time apply sync standby apply advance notification db file sequential read db single block read db file scattered read db multiblock read db file single write db single block write db file parallel write db list of blocks write db file parallel read db list of blocks read wait for possible quiesce finish quiesce database completion concurrent I/O completion online move datafile IO completion datafile copy range completion online move datafile copy range completion Image redo gen delay redo resource management Long operation CF pause CF txn pause DFS db file lock quiesce for datafile offline datafile move cleanup during resize online move datafile resize cleanup
From the above highlighted examples you can see that the new “display name” column uses less confusing names for some wait events.
That’s all for today! If you want to learn more about Oracle Wait Interface deep internals (unexpected stuff like wait events renaming themselves on completion, nested multi-level wait events, etc), then check out my hacking session video: