This wait event record shows that the wait event (nam) is a SQL*Net message to client. These wait events are the same wait events that can be found in the database in the v$ views like v$session_wait or v$event_name.

The elapsed time (ela) is in microseconds since this database is Oracle 10g, so this wait was a whole 10 microseconds. This is nothing to worry about because 1 second = 1,000,000 microseconds. Please note the P1, P2 and P3 variables are specific to each event.”

Keeping in mind that the book is printed after the release of Oracle Database 11.2.0.1 (and possibly 11.2.0.2 for some operating system platforms), what, if anything, is wrong with the above quote?

While my review of the book only provides an in-depth technical review of the first 200 pages of the book, this blog article series will dig into some of the pages that were not specifically included in the review.

The point of blog articles like this one is not to insult authors who have spent thousands of hours carefully constructing an accurate and helpful book, but instead to suggest that readers investigate when something stated does not exactly match what one believes to be true. It could be that the author “took a long walk down a short pier”, or that the author is revealing accurate information which simply cannot be found through other resources (and may in the process be directly contradicting information sources you have used in the past). If you do not investigate in such cases, you may lose an important opportunity to learn something that could prove to be extremely valuable.

Yeah… For a 10g instance, the waits are missing some features (parameter names, obj#, tim). Indeed, they look suspiciously like 8i waits, in which case ela would be in centiseconds.
And ‘SQL*Net message to client’ is really a poor choice for an example, as it is one of the few “unreliable” events in the sense that neither the byte count nor the elapsed time are correct (http://www.freelists.org/post/oracle-l/SQLNet-Message-to-client-wait-on-batch-job,4).

Thank you for the research. When I read this section of the book I immediately thought that there must be something missing from the trace file, after all my 10g (10.2.0.2) trace file explains the meaning of the p1, p2, and p3 parameters as well as including tim= values on those wait event lines. This book section, which was probably written by Robert Freeman when Oracle Database 10.1 was the latest release, probably should have been updated to reflect changes to the 10046 trace file that were made since 2004 or 2005. The Oracle-l thread that you linked to contained part of a trace file that was captured by Oracle Database 10.1.0.3, and I tried to fix the formatting of a section of that file below:

Hints for Posting Code Sections in Comments

********************
When the spacing of text in a comment section is important for readability (execution plans, PL/SQL blocks, SQL, SQL*Plus output, etc.) please use a <pre> tag before the code section and a </pre> tag after the code section:
<pre>

SQL> SELECT
2 SYSDATE TODAY
3 FROM
4 DUAL;
TODAY
---------
01-MAR-12

</pre>
********************
When posting test case samples, it is much easier for people to reproduce the test case when the SQL*Plus line prefixes are not included - if possible, please remove those line prefixes. This:

SELECT
SYSDATE TODAY
FROM
DUAL;

Is easier to execute in a test case script than this:

SQL> SELECT
2 SYSDATE TODAY
3 FROM
4 DUAL;

********************
Greater than and Less than signs in code sections are often interpretted as HTML formatting commands. Please replace these characters in the code sections with the HTML equivalents for these characters: