The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
| Version |
Location |
Description |
Submitted By |
Date Submitted |
Date Corrected |
| Printed |
Page xii
changed the O'Reilly address to regular (not bold) type |
|
Anonymous |
|
Oct 01, 1997 |
| Printed |
Page xiii
changed "Rob Romano" to "Robert Romano" |
|
Anonymous |
|
Oct 01, 1997 |
| Printed |
Page xii
The following information was added to the preface |
"How to Contact Us
All of the information about Oracle8 is still very new.
We'll be seeing bug fixes and new versions soon. Although
we hope that our basic design advice will stand the test
of time, you may find that some of the details must change
for future releases of Oracle8. We also hope that some of
the deficiencies we've pointed out may be fixed in future
releases.
We have tested and verified the information in this book to
the best of our ability, but you may find that features have
changed (or even that we have made mistakes!). Please let us
know about any errors you find, as well as your suggestions
for future editions, by writing to:
O'Reilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
1-800-998-9938 (in the U.S. or Canada)
1-707-829-0515 (international/local)
1-707-829-0104 (FAX)
You can also send us messages electronically. To be put on
the mailing list or request a catalog, send email to:
info@oreilly.com
To ask technical questions or comment on the book, send
email to:
bookquestions@oreilly.com
We have a web site for the book, where we'll list examples,
errata, and any plans for future editions. You can access
this page at:
http://www.oreilly.com/catalog/9781565923614/
For more information about this book and others, see the
O'Reilly web site:
http://www.oreilly.com
See the insert at the back of the book for information about
all of O'Reilly's online services."
|
Anonymous |
|
Jan 01, 2000 |
| Printed |
Page 2
deleted the extra period from the sentence just before the figure |
|
Anonymous |
|
Oct 01, 1997 |
| Printed |
Page 7
second para: changed "index-only table" to "table of organization |
index" and "Such tables are ideal for ..." to "Such tables appear
attractive at first sight for ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 7
third para: changed "index-only tables" to "tables of organization index" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 7
last line: changed "abstract data types (or ADTs)" to |
"user-defined data types (or UDTs)"
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 8
first para - line 5: changed "ADT" to "UDT" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 8
first para - line 6: changed "abstract" to "user-defined" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 10
para under the heading The Type System |
"User-defined types are known formally as abstract data types
(ADTs). They can be used in ...."
was changed to:
"User-defined types (UDTs) can be used in ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 10
para under the heading The Type System in both line 7 and line 8 |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 10
code example at bottom of page, first line |
... AS OBJECT {
changed to:
... AS OBJECT (
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 10
code example at bottom of page, lines 5 to 7 |
MEMBER FUNCTION area RETURN NUMBER);
};
changed to:
MEMBER FUNCTION area RETURN NUMBER
);
/
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 10
line -4 |
CREATE OR REPLACE TYPE BODY circle
now reads:
CREATE OR REPLACE TYPE BODY circle AS
|
Anonymous |
|
Apr 01, 1999 |
| Printed |
Page 11
at end of page add new para |
Perhaps more importantly, Oracle's Object Database Designer
(ODD) creates both the object views and the C++ classes
to allow the application programmer to manipulate
the views directly without having to master Oracle8 OCI.
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 21
chapter contents: changed "ENFORCE option" to "NOVALIDATE |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 22
first bullet point (middle of page), second line: changed |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 23
para starting "The INSTEAD OF trigger carries no such ..." |
"However, if the insert has resulted in a duplicate ..."
changed to:
"However, if the insert would have resulted in a duplicate ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 28
Para before heading 3GL callouts: added |
We would also caution that the performance of these features should be
rigorously verified under realistic load conditions before relying on
them in a production system. Our limited personal experience of LOBs
indicates that the performance is excellent, but we have heard reports
of performance problems with Oracle/AQ.
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 35
Heading "ENFORCE Option" changed to "NOVALIDATE option" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 35
Section on ENFORCE Option - para 3, first sentence |
Oracle has an option ... rather than enable it.
changed to:
Oracle8 allows a constraint to be enabled even if there is dirty data
in the table.
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 35
Section on ENFORCE Option - code example |
ALTER TABLE my_tab ENFORCE CONSTRAINT mt_ccl;
changed to:
ALTER TABLE my_tab ENABLE CONSTRAINT my_tab_xx NOVALIDATE;
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 35
Section on ENFORCE Option - last para: after "... having to check |
every row."
added new sentence:
Of course without performing the checks there is no way of knowing how
much bad data is present, if any.
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 53
last two sentences |
"Of course for .... discussed in the next section"
changed to:
Of course for SELECT, UPDATE, and DELETE operations
Oracle's query optimizer will do this for you. With
predicate clause testing the partition key for equality,
it will access only the correct partition; where
there is a range scan, it will access only those partitions
whose partition key can fall within the range. Clever stuff.
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 55 and 56
deleted everything from "Well it only needs to scan that |
one partition ..." to "... which are entirely within a single
partition or a subset of partitions."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 56
TIP - line 2: changed "local prefixed" to "locally partitioned" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 56
TIP - line 3: remove the word "can" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 57
Figure 4-4: "Equi-partitioned index" changed to "Locally |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 57
Figure 4-4: in every case where a little grid was labelled |
"Index", it is now labelled "Index Partition" (6 cases)
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 57
Figure 4-4: EXCEPT FOR THE LOWER RIGHT, every case where a little |
grid was labelled "Table", it is now labelled "Table Partition" (4
cases)
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 58
Para under heading Unusable Index Partitions: Last sentence |
"For this reason ... rather than globally, partitioned."
changed to:
"For this reason, wherever possible you should make
your unique indexes locally partitioned and you
should place the partition key at the leading edge
of the unique key."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 58
Para under heading Locally Prefixed Partitions, line 1: changed |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 60
Heading "Index-Only Tables" changed to "Tables of Organization |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 61
second para |
"... it also has to be both backed up and restored."
changed to:
"... it also has to be both stored and backed up."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 61
- third para |
" ... new type of object called an index-only table."
changed to:
" ... new type of object originally called an index-only table."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 61
third para, line 5 |
" ... call it an index-only table."
changed to:
" ... call it a table of organization index."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 61
third para, line 8 |
" ... before you decide to use index-only tables ..."
changed to:
" ... before you decide to use these tables ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 65
bullet point starting "Constraints" |
"Constraints cannot be defined on ... constraints."
changed to:
"Long columns cannot be referenced in any type of constraint."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 71
last line: "... as far as we can tell ..." changed to "... sadly |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 73
paragraph at top of page - first 6 lines |
"Oracle had continually asked ... as much as 10 megabytes."
changed to:
"Oracle claims that the memory consumption of Oracle8 is
20 - 30% lower than Oracle7. However, under Oracle7 most
applications were using at least 1.5 Mb of server memory
per connected user, and many were using considerably more.
The claimed reduction in memory usage, if realized in
practice, might allow some applications to run with "only"
1 Mb and might reduce the overhead of the largest applications
to 3 or 4 Mb."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 73
paragraph at top of page - last sentence: changed "Needing a |
terabyte for the database is one thing ..." to "Needing 100Gb for the
database is one thing ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 73
second para - line 3: changed "... requires connection sharing |
..." to "... requires true connection sharing ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 76
TIP - first para - second sentence |
"If necessary, you can specify each bitmap for
a combination of values from 1 to 16 columns, ..."
changed to:
"If necessary, you can specify up to 16 columns for
the key to a bitmap index, ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 76
TIP - second para. typeface fixed to match first para. |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 77
WARNING - second para: fixed this typeface too |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 77
para under the WARNING - last two sentences |
"... lock conflicts are almost inevitable ... values
updated in multi-user operation."
changed to:
"... lock conflicts are almost inevitable if bitmap
indexes are used on tables where index updates are
occurring in parallel. This means that bitmap indexes
are unsuitable for use on any table subject to DML
from within an online system."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 80
second para, code example, final para before APPEND heading |
"In Oracle8, you can use ...as we describe in the next section."
changed to:
"In Oracle8, the NOLOGGING option may be applied to any of
the following:
SQL*Loader Direct Path
CREATE TABLE ... AS SELECT ...
CREATE INDEX ...
ALTER TABLE ... MOVE PARTITION
ALTER TABLE ... SPLIT PARTITION
ALTER INDEX ... SPLIT PARTITION
ALTER INDEX ... REBUILD
ALTER INDEX ... REBUILD PARTITION
The operation takes place as it normally would with the exception that
neither redo log nor rollback entries are created (except for any
space management operations which are required). This greatly speeds
up the operation for large tables, but it essentially requires that a
backup be taken immediately after the operation (or set of operations)
has been completed.
In addition, the NOLOGGING attribute may be set on any table to permit
the use of the APPEND hint described in the next section."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 81
heading "Direct-Path Inserts" changed to "Direct-Load Insert" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 81
para under heading Direct-Path Inserts, line 1: changed |
"direct-path INSERT" to "direct-load INSERT"
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 84
sidebar A Question of Terminology, line 12 |
"... have been competing to provide (much as they ..."
changed to:
"... have been competing to provide, much as they ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 89
- second code example |
"SELECT p.proj_name
, roi.days_to_break_even(p.roi)
FROM projects p
WHERE roi.days_to_break_even(p.roi) < 360;"
changed to:
"SELECT p.proj_name
, project_roi.days_to_break_even(p.roi)
FROM projects p
WHERE project_roi.days_to_break_even(p.roi) < 360;"
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 95
- first para |
"It may be that REFs will give faster navigation ...
double or triple the overall size of the table."
changed to:
"You might expect that since a REF is essentially a
pointer, it should have a performance advantage
over a foreign key relationship when joining from a
detail table to its master. In practice, we have found
that navigating a REF takes exactly the same amount of
time as navigating using a join based on a unique index.
This is hardly surprising. The REF is actually supported
internally via an index so that tables can be reorganized
without the need to reset all the REFs to their rows.
What is clear is that REFs, at 36 or 42 bytes, are larger
in size than most foreign keys and that their use could
easily double or even triple the overall row size of a
simple detail table."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 95
para after heading Abstract Data Types (ADTs) - first sentence |
" ... described through the data dictionary."
changed to
" ... described through the data dictionary. In Oracle8 these
are called user-defined types (UDTs)."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 95
para after WARNING, line 2 |
" ... features of ADTs in general. ..."
changed to
" ... features of UDTs in general. ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 96
first para, line 5 |
" ... since one of Oracle's major projected uses ..."
changed to
" ... since one of the major projected uses ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 96
first code example, line 5 |
" , event_codeNUMBER NOT NULL REFERENCES event_codes"
changed to
" , event_code NUMBER NOT NULL REFERENCES event_codes"
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 96
second code example |
" ... dateonly(trunc(sysdate));"
changed to
" ... dateonly(trunc(sysdate)));"
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 96
para under second code example, line 4 |
"... constructor function offers a natural ..."
changed to:
"... constructor function should have offered a natural ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 97
lines 1 and 2, and twice in Warning: changed "ADTs" to "UDTs" |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 107
chapter contents: changed "Object Designer" to "Object Database |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 110
same change as on p. 107 |
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 110 - 111
under heading Object Designer: replaced entire section |
with:
To plug some of the gaps in Designer/2000, a new design
tool called ODD was due for release before the end of 1997.
Based on the existing Database Designer tool (also known as
ODD), this new tool adds extensions specifically aimed at
Oracle8 and object support. ODD lets the user model, design,
and generate objects from a GUI front end, allowing designers
to specify embedded structures such as nested tables and
VARRAYs. It also allows linking of objects through REFs.
For compatibility with other design tools, ODD uses the
emerging UML standard to record its internal representation
of the model.
We expect that ODD will eventually allow for the specification
and integration of NCA data cartridges.
Most importantly ODD is already capable of generating C++ class
definitions for objects, giving the programmer the ability
to store and retrieve the objects without having to learn
Oracle8 OCI.
Another important feature of ODD is its ability to reverse-
engineer definitions from existing database schemas
(including Oracle7 schemas) and to create type models from
them. This type model can then be used to create an object
schema.
We regard ODD as a potentially useful aid to bridging the
gap between object-oriented programming techniques and the
Oracle8 OCI interface, but from our examination of it we are
concerned that it can only support the limited object
repertoire provided by the Oracle8 Type System. ODD makes no
concessions to inheritance or subclasses."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 112
first para, last line |
"... for managing the user interface."
changed to
"... for managing the user interface, other than a simple
package to generate HTML which is included with Oracle's
WebServer product."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 112
under heading C, C++ and OCI, second para, line 1 |
"... from Object Designer may ..."
changed to:
"... from Object Database Designer will ..."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 114
second para, line 6 |
"(Great word, soon.."
changed to:
"Great word, soon."
|
Anonymous |
|
Jan 01, 1998 |
| Printed |
Page 114
last line on page: spelled "scalable" correctly |
|
Anonymous |
|
Jan 01, 1998 |