Professional Documents
Culture Documents
Blind folio: i
00_FM.indd i
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Blind folio: ii
00_FM.indd ii
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8/
Blind folio: iii
Bob Bryla
Kevin Loney
00_FM.indd iii
8/21/13 11:04 AM
McGraw-Hill Education books are available at special quantity discounts to use as premiums and sales
promotions, or for use in corporate training programs. To contact a representative, please visit the Contact
Us pages at www.mhprofessional.com.
Copy Editor
LeeAnn Pickrell
Editorial Supervisor
Jody McKenzie
Proofreader
Susie Elkind
Illustration
Apollo Publishing Services and
Howie Severson, Fortuitous
Publishing Services
Project Editor
LeeAnn Pickrell
Indexer
Rebecca Plunkett
Acquisitions Coordinator
Amanda Russell
Production Supervisor
George Anderson
Technical Editor
Scott Gossett
Composition
Apollo Publishing Services
Information has been obtained by Publisher from sources believed to be reliable. However, because of the possibility of human or
mechanical error by our sources, Publisher, or others, Publisher does not guarantee to the accuracy, adequacy, or completeness of any
information included in this work and is not responsible for any errors or omissions or the results obtained from the use of such information.
Oracle Corporation does not make any representations or warranties as to the accuracy, adequacy, or completeness of any information
contained in this Work, and is not responsible for any errors or omissions.
00_FM.indd iv
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
00_FM.indd v
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
00_FM.indd vi
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents at a Glance
PART I
.............................
...................
11
....................................
21
............
41
.....................................
77
PART II
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
11
12
13
14
15
16
17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
. . . . . . . . . . . . . . . . . . . . . . . . . . 295
. . . . . . . 311
vii
00_FM.indd vii
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
viii
Partitioning
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
PART III
. . . . . . . . . . . . . . . . . . . . . . . . . . . 377
21
22
23
24
25
26
27
28
29
30
FlashbackTablesandDatabases
31
SQL Replay
. . . . . . . . . . . . . . . . . . . . . . . . 389
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
PART IV
PL/SQL
32
An Introduction to PL/SQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
33
34
Triggers
35
36
37
PL/SQL Tuning
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
PART V
Object-Relational Databases
00_FM.indd viii
38
. . . . . . . . . . . . . . . . . . . 647
39
40
41
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents at a Glance
ix
PART VI
Java in Oracle
42
An Introduction to Java
.............................................
725
43
JDBC Programming
................................................
741
44
.............................................
751
PART VII
Hitchhikers Guides
45
.....................
765
46
....................
821
47
The Hitchhikers Guide to SQL Result Cache and Client-Side Query Cache
.....
863
48
877
49
889
50
51
52
..........................
.................
901
.......................
911
...............................
937
PART VIII
Alphabetical Reference
.............................................
953
...............................................
1391
...........................................................
1393
00_FM.indd ix
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Blind folio: x
00_FM.indd x
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Acknowledgments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
PART I
..........................
5
5
7
8
8
9
...............
11
13
14
14
17
................................
21
23
24
24
24
28
37
........
41
43
44
45
45
46
xi
00_FM.indd xi
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xii
46
48
50
52
53
53
54
55
55
60
62
62
63
63
64
65
67
68
69
69
69
69
70
70
71
71
72
72
73
73
PART II
00_FM.indd xii
..................................
77
Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating the NEWSPAPER Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using SQL to Select Data from Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SELECT, FROM, WHERE, and ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logic and Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single-Value Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simple Tests Against a List of Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
80
80
84
86
87
90
92
94
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
xiii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Is a String? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concatenation ( || ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Cut and Paste Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RPAD and LPAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LTRIM, RTRIM, and TRIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining Two Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the TRIM Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding One More Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LOWER, UPPER, and INITCAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
00_FM.indd xiii
108
110
111
111
112
113
113
114
115
115
116
117
117
118
118
121
122
123
123
123
124
124
125
127
130
130
132
133
134
135
136
137
139
140
140
141
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xiv
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Search Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REGEXP_SUBSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REGEXP_INSTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REGEXP_LIKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REPLACE and REGEXP_REPLACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REGEXP_COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
156
160
162
163
164
169
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
10
142
145
149
150
151
153
153
153
172
172
173
174
174
175
176
176
176
177
178
178
178
179
180
181
181
181
183
186
188
189
190
192
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
00_FM.indd xiv
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
The Difference Between Two Dates
.................................
Adding Months . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subtracting Months . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GREATEST and LEAST
...........................................
NEXT_DAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LAST_DAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MONTHS_BETWEEN Two Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining Date Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROUND and TRUNC in Date Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TO_DATE and TO_CHAR Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Most Common TO_CHAR Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NEW_TIME: Switching Time Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TO_DATE Calculations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dates in WHERE Clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dealing with Multiple Centuries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the EXTRACT Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the TIMESTAMP Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
228
230
231
232
233
234
236
236
238
239
239
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Advanced Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Correlated Subqueries
...........................................
Coordinating Logical Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using EXISTS and Its Correlated Subquery . . . . . . . . . . . . . . . . . . . . . . . . . . . .
00_FM.indd xv
218
220
222
223
224
224
225
226
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
13
195
196
196
197
198
200
200
201
201
202
207
207
208
210
211
212
213
. . . . . . . . . . . . . . . . . . . . . . . . . . . 215
12
xv
242
242
244
245
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xvi
14
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Complex Groupings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Temporary Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using ROLLUP, GROUPING, and CUBE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Family Trees and CONNECT BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Excluding Individuals and Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traveling Toward the Roots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Finding the Leaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Basic Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
.............................................................
Inserting a Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INSERT with SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the APPEND Hint to Improve INSERT Performance . . . . . . . . . . . . . . . . .
ROLLBACK, COMMIT, and AUTOCOMMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using SAVEPOINTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implicit COMMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auto ROLLBACK
...............................................
Multitable INSERTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UPDATE with Embedded SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UPDATE with NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Handling Errors
......................................................
276
277
277
278
279
280
281
281
281
285
286
287
288
289
292
. . . . . . . . . . . . . . . . . . . . . . 295
00_FM.indd xvi
260
261
262
267
270
271
273
274
. . . . . . . . . . . . . . . . 275
INSERT
16
247
247
249
251
252
253
254
257
258
296
299
300
303
305
308
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
17
. . . 311
Creating a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Character Width and NUMBER Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rounding During Insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Defining Constraints within CREATE TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . .
Designating Index Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Naming Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dropping Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Altering Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Rules for Adding or Modifying a Column . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Read-Only Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Altering Actively Used Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Virtual Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dropping a Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Table from a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Index-Organized Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
View Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using ORDER BY in Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Read-Only View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enforcing Uniqueness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Unique Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Bitmap Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When to Create an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Invisible Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variety in Indexed Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How Many Indexes to Use on a Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Placing an Index in the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rebuilding an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Function-Based Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clusters
............................................................
Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Partitioning
312
313
315
316
318
319
320
320
323
324
324
324
325
326
328
329
330
331
331
332
332
333
333
334
335
335
336
336
336
337
338
338
340
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
00_FM.indd xvii
xvii
344
346
347
348
348
348
349
350
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xviii
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
352
352
353
357
358
358
359
361
364
364
364
366
366
367
367
368
368
369
370
370
370
370
371
372
373
PART III
. . . . . . . . . . . . . . . . . . . . . . . 377
Initial Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create an Application Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a Logon Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Apply the Security Policy to Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Test the VPD Security Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Implement Column-Level VPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to Disable VPD
..................................................
How to Use Policy Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
378
380
381
382
383
384
385
386
387
. . . . . . . . . . . . . . . . . . . . 389
00_FM.indd xviii
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Opening and Closing the Wallet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Encrypting and Decrypting Columns
................................
Transparent Data Encryption for Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Up TDE on Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating an Encrypted Tablespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
408
409
410
413
415
416
417
418
419
421
422
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Creating a Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Pump Export Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting a Data Pump Export Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stopping and Restarting Running Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exporting from Another Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using EXCLUDE, INCLUDE, and QUERY . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Pump Import Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting a Data Pump Import Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stopping and Restarting Running Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
00_FM.indd xix
398
399
401
401
402
402
403
403
404
404
404
405
405
405
405
405
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
24
392
392
394
394
395
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
23
xix
424
424
427
428
429
430
431
435
436
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xx
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Database Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How a Database Link Works
......................................
Using a Database Link for Remote Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using a Database Link for Synonyms and Views . . . . . . . . . . . . . . . . . . . . . . . .
Using a Database Link for Remote Updates . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntax for Database Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Synonyms for Location Transparency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the USER Pseudo-Column in Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Functionality
........................................................
Required System Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required Table Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Read-Only vs. Updatable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CREATE MATERIALIZED VIEW Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types of Materialized Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROWID vs. Primary KeyBased Materialized Views . . . . . . . . . . . . . . . . . . . . .
Using Prebuilt Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indexing Materialized View Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Materialized Views toAlterQueryExecutionPaths . . . . . . . . . . . . . . . . . . . . . . .
Using DBMS_ADVISOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Refreshing Materialized Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Kind of Refreshes Can Be Performed? . . . . . . . . . . . . . . . . . . . . . . . . . . .
FAST Refresh with CONSIDER FRESH
...............................
Automatic Refreshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manual Refreshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CREATE MATERIALIZED VIEW Log Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Altering Materialized Views and Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dropping Materialized Views and Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
454
454
455
455
456
460
460
460
461
461
463
465
466
469
469
470
472
473
474
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
00_FM.indd xx
442
442
443
444
445
446
449
450
476
477
478
479
479
480
484
485
485
486
487
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Searching for Words That Sound Like Other Words . . . . . . . . . . . . . . . . . . . . . .
Nesting Search Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summarizing the Search Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the ABOUT Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
FlashbackTablesandDatabases
SQL Replay
512
513
514
516
516
518
521
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
31
494
495
498
505
506
506
507
507
507
507
507
507
507
508
508
508
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
30
488
488
489
490
490
491
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
29
xxi
524
524
524
526
526
528
528
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
00_FM.indd xxi
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xxii
535
536
537
538
538
538
539
539
540
542
PART IV
PL/SQL
32
An Introduction to PL/SQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
PL/SQL Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Declarations Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Executable Commands Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditional Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CASE Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exception Handling Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
34
Triggers
568
569
570
572
575
575
576
576
577
580
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
00_FM.indd xxii
546
546
550
551
553
561
563
582
582
582
583
583
583
583
584
584
584
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Trigger Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Combining DML Trigger Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Inserted Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Maintaining Duplicated Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customizing Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling Procedures Within Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Naming Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating DDL Event Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Database Event Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Compound Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Enabling and Disabling Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replacing Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dropping Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
PL/SQL Tuning
Tune the SQL
00_FM.indd xxiii
604
606
606
606
607
609
611
611
613
614
616
616
619
620
621
621
. . . . . . . . . . . . . . . . . . . . . . . . . 623
37
584
586
588
589
590
592
593
593
598
598
600
601
601
36
xxiii
624
626
627
628
628
628
629
629
629
630
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xxiv
632
633
635
640
640
642
PART V
Object-Relational Databases
38
. . . . . . . . . . . . . . . 647
39
. . . . . . . . . . . . . . . . . . . . . . . . 663
Varying Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Varying Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Describing the Varying Array
......................................
Inserting Rows into the Varying Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Selecting Data from Varying Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Tablespaces for Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Inserting Rows into a Nested Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Working with Nested Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Functions for Nested Tables and Varying Arrays . . . . . . . . . . . . . . . . . . . . . .
Management Issues for Nested Tables and VaryingArrays . . . . . . . . . . . . . . . . . . . . . . .
Variability in Collectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Location of the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
664
664
665
666
667
670
671
672
673
675
675
676
676
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Available Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Storage for LOB Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manipulating and Selecting LOB Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initializing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using INSERT with Subqueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating LOB Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using String Functions to Manipulate LOB Values . . . . . . . . . . . . . . . . . . . . . .
Using DBMS_LOB to Manipulate LOB Values . . . . . . . . . . . . . . . . . . . . . . . . .
Deleting LOBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
00_FM.indd xxiv
648
648
651
653
656
656
659
659
661
680
681
683
685
687
688
688
689
705
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
41
xxv
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
708
708
709
710
711
711
712
715
716
716
716
717
720
722
PART VI
Java in Oracle
42
An Introduction to Java
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
43
JDBC Programming
726
727
727
728
729
733
735
736
736
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
754
759
761
761
PART VII
Hitchhikers Guides
45
. . . . . . . . . . . . . . . . . 765
00_FM.indd xxv
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xxvi
00_FM.indd xxvi
773
778
780
780
780
781
783
784
787
788
788
788
789
790
791
792
793
793
793
796
796
797
798
798
800
800
801
801
803
803
804
804
806
807
807
808
808
809
812
812
812
812
813
813
813
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auditing Privileges, DML, and Authentication . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring Object Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Miscellaneous
.......................................................
Monitoring: The V$ Dynamic Performance Tables . . . . . . . . . . . . . . . . . . . . . . .
CHAINED_ROWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PLAN_TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interdependencies: USER_DEPENDENCIES and IDEPTREE . . . . . . . . . . . . . . . .
DBA-Only Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Oracle Label Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SQL*Loader Direct Load Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Globalization Support Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Heterogeneous Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indextypes and Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advisors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schedulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
814
815
815
816
817
817
817
818
818
818
818
818
819
819
819
819
820
820
820
. . . . . . . . . . . . . . . . 821
00_FM.indd xxvii
xxvii
822
824
824
827
828
829
830
831
833
833
838
839
839
839
840
840
842
847
854
855
861
862
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
xxviii
47
The Hitchhikers Guide to SQL Result Cache and Client-Side Query Cache
. 863
48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
49
902
903
904
904
906
909
910
. . . . . . . . . . . . . . . . . . . 911
Creating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using the Oracle Enterprise Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting and Stopping the Database
.......................................
Sizing and Managing Memory Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Initialization Parameter File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Allocating and Managing Space for the Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Implications of the STORAGE Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
00_FM.indd xxviii
890
890
891
891
892
892
895
897
898
898
898
898
. . . . . . . . . . . . . 901
Preinstallation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialization Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starting and Stopping RAC Instances
......................................
Transparent Application Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Nodes and Instances to the Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
878
881
883
885
. . . . . . . . . . . . . . . . . . . . . . 889
50
871
872
873
874
874
875
912
913
913
914
916
917
918
920
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Contents
Index Segments
................................................
System-Managed Undo
..........................................
Temporary Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Free Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sizing Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Monitoring an Undo Tablespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automating Storage Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuring ASM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment Space Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Transporting Tablespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Generating a Transportable Tablespace Set . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Plugging in the Transportable Tablespace Set
..........................
Performing Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Pump Export and Import
.....................................
Offline Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Online Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recovery Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Where to Go from Here . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
xxix
920
921
922
923
923
926
926
927
927
928
929
930
930
931
931
932
936
936
. . . . . . . . . . . . . . . . . . . . . . . . . . . 937
938
941
944
946
947
948
949
951
PART VIII
Alphabetical Reference
00_FM.indd xxix
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1391
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1393
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
00_FM.indd xxx
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
Acknowledgments
any technical books need the expertise of more than one person, and this one is no
exception. Thanks to Kevin for his expertise on the previous editions of this book,
making it a success.
Thanks also go out to all of the people at McGraw-Hill Education who kept this book on a
reasonable schedule and learned to be even more patient with me than ever before, including
Paul Carlstroem, Amanda Russell, and Jody McKenzie. Thanks also to Scott Gossett who gave me
good advice when the theoretical met the practical. I would also be remiss if I didnt thank
LeeAnn Pickrell who inspired flashbacks to my college writing courses.
Many of my professional colleagues at Epic were a source of both inspiration and guidance:
Chris Tyne, Scott Hinman, and Lonny Niederstadt. In this case, the whole is truly greater than the
sum of its parts.
If you have any questions or comments about any part of this book, please do not hesitate to
contact me at rjbdba@gmail.com.
Bob Bryla
00_FM.indd xxxi
8/21/13 11:04 AM
Oracle TIGHT / Oracle Database 12c: The Complete Reference / BRYLA/ 180175-8
00_FM.indd xxxii
8/21/13 11:04 AM