Jonathan Gennick

Jonathan Gennick

press my name for the menu

Writer * Book Editor * Oracle DBA * SQL & PL/SQL Developer

Father * Husband * Son * Mountain Biker * EMT

Oracle8i DBA Bible
Corrections

Chapter 6, Database Space Management

Page 182, Estimating the Row Size
In the first formula on page 182, replace MAX with GREATEST. My intent is for the function to return the greater of two values.

Page 182, Estimating the Number of Blocks Required
The formula given for computing BLOCKS_REQUIRED is missing a closing parentheses. The correct formula is as follows:

     BLOCKS_REQUIRED = CEIL(ROWS_TO_STORE
                       / FLOOR(SPACE_FOR_DATA / ROWSIZE))

Chapter 13, Managing Tables

Page 354, The definition for NUMBER(bdigits)
The book incorrectly says that when you declare a NUMBER column and only specify a precision, that the precision is in binary digits. That is not correct. A declaration of NUMBER(digits) is equivilant to NUMBER(digits,0), and the precision is in terms of decimal digits.

Chapter 21, Oracle8i Backup

Page 547, Issuing the ARCHIVE LOG LIST command
I neglected to mention in the book that you need to connect either as INTERNAL or as SYSDBA prior to issuing the ARCHIVE LOG LIST command.

Chapter 23, Using PL/SQL

Page 613, Listing 23-9
In the listing, <<repeat_loop> (one ending angle bracket) should be <<repeat_loop>> (two ending angle brackets).

Chapter 24, Using Procedures, Packages, Functions, and Triggers

Page 659, Nonupdateable Views
The second paragraph under the heading "Nonupdateable Views" contains a typo. The second sentence in that paragraph reads as follows:

These types of views are said to be inherently updateable, and you can't use them in any INSERT, UPDATE, or DELETE statement.

In this sentence, change "can't" to "can". Inherently updateable views most certainly can be used in INSERT, UPDATE, or DELETE statements.

Page 664, Using DDL Triggers
The first sentence of this page says that DDL triggers are executed in response to "CREATE, ALTER, or DELETE statements." Replace the word "DELETE" in this sentence with "DROP". DELETE is a DML statement. DROP is a DDL statement.