Oracle’s auditing facility only works at the statement level. It is able to capture that a particular user executed a SELECT statement against a specific table, but it is not able to tell you which rows were retrieved. Likewise, Oracle can record that an UPDATE statement was executed by a specific user against a table, but it cannot tell you which rows were updated.
Row-level auditing is possible, however, and can be implemented through a series of user-created triggers applied to individual tables. We include an example of a trigger to implement row-level auditing in the section Section 7.6, later in this chapter.