Oracle Consulting Oracle Training Oracle Support Development
Home
Catalog
Oracle Books
SQL Server Books
IT Books
Job Interview Books
eBooks
Rampant Horse Books
911 Series
Pedagogue Books

Oracle Software
image
Write for Rampant
Publish with Rampant
Rampant News
Rampant Authors
Rampant Staff
 Phone
 800-766-1884
Oracle News
Oracle Forum
Oracle Tips
Articles by our Authors
Press Releases
SQL Server Books
image
image

Oracle 11g Books

Oracle tuning

Oracle training

Oracle support

Remote Oracle

STATSPACK Viewer

Privacy Policy

  

ISBN: 098611944X
ISBN 13: 978-0986119446
 
808 Pages - perfect bind 9x7
Publication Date -
0717
Shelving Databases/Oracle
Oracle In-Focus Series  # 53

 
Advanced PL/SQL Programming
The Definitive Reference

Boobal Ganesan

Retail Price $49.95 /  £39.95

       
Key Features   About the Author Reader Comments
Table of Contents   Index Errata 
       


Oracle PL/SQL is undoubtedly one of the most versatile and high performance yielding database languages of all time with many number of ways and methods for obtaining a single result. Oracle professionals most of time do not get their work done using the right tool which leads into two main side effects.

 

This comprehensive guide to Oracle PL/SQL will be a handy reference to all Oracle professionals who must write PL/SQL coding in their day to day life. This book will direct the reader through the mostly unused/ un-minded yet powerful techniques which can be used in a regular manner in their application development.

 

Topics will include the complete information of the widely used topics and also consists of topics and its soundness which we thought of less likely usable and forgot over time. This book takes a complex technical task and explains it in a very easy understandable method.

The advanced PL/SQL concepts like collection reduces the back and forth traverse between the SQL engine and the PL/SQL engine thus reducing the number of processes and avoiding context switching. This is an interesting topic that can greatly enhance the knowledge of the PL/SQL developer in-turn increasing the performance of an Oracle database.

 
Key Features

* See different types of PL/SQL data types and its benefits.

* The dynamic query processing techniques and its features.

* Learn Regular expressions and XML functions.

*  See how collections and its various types work.

* Use PL/SQL cursors and ref cursors.

* Understand cryptography in Oracle

Learn about heterogeneous services in Oracle.

* get an overview on Oracle system packages

* Use PL/SQL Advanced Interface Methods (C, Java)

* Enable the security of the database with VPD and fine grained policies.

* Manage secure LOBs and advanced table compression techniques in Oracle.

* Use PL/SQL profiling

* Safeguard your code from SQL Injection Attacks.

 

About the Author:

 

Boobal Ganesan has 9 years of learning and implementation experience out of which he has a full-time contribution as an Oracle PL/SQL developer for 5 years and has completed his OCA certification on the development track.

Boobal is one of the leading contributors to the Oracle community and other blogging sites.

 

 

 

Table of Contents

 

CHAPTER 1: Introduction to PL/SQL.. 1

Relational Database Evolution. 1

Relational Model and Normal Form.. 1

Redundancy and Consistency. 4

The Birth of Oracle as a Relational Database. 5

Evolution of Oracle 5

PL/SQL Architecture. 7

SQL Engine 8

PL/SQL Engine 8

External Programs 8

Features of PL/SQL.. 9

PL/SQL Program Structure. 9

PLSQL Block Structure 10

Anonymous Block. 10

Basic Anonymous Block. 11

Anonymous Block with Exception Section. 12

Nested Anonymous Block. 13

Control Structures. 15

Conditional Structures 15

Iterative structure. 22

Simple Loop. 23

FOR Loop. 25

WHILE Loop. 30

EXIT and CONTINUE Statements 32

Sequential Control Structure. 36

GOTO Statement 36

Null Statement 39

Named Block. 39

Advantages of Subprograms 40

Named Block Vs Anonymous Block. 40

Procedures 41

Functions 45

Differences between the Parameter Types in the Subprograms 52

Actual and Formal Parameters 52

Call Notation. 53

Packages. 55

Benefits of using Packages 55

Package Specification. 56

Package Body. 57

Object Management in the Database Catalog. 69

Summary. 72

CHAPTER 2: Errors and Warnings in PL/SQL.. 73

PL/SQL Errors. 73

Compilation Errors 73

Run-Time Errors 82

DML Error Log Table 97

PL/SQL Warnings. 101

Summary. 106

CHAPTER 3: Character Sets and Data Types in PL/SQL.. 107

Introduction to Unicode. 107

Supplementary Characters 107

Unicode Encodings 107

Oracle Unicode Support 108

Character Set Data Dictionary Objects 110

The Character Set Migration Prerequisites 110

Introduction to PL/SQL Data types. 110

PL/SQL Scalar Data Types 111

PLSQL LOB Data Types 137

PL/SQL Composite Data Types 139

PL/SQL Referential Data Types 139

Summary. 140

CHAPTER 4: Dynamic Query Processing Techniques . 141

Introduction to Dynamic SQL.. 141

Native Dynamic SQL (NDS) 142

Bind Variables 143

Placeholder Duplication. 147

Passing Null as Bind Argument 149

Dynamic DML Statement 150

Dynamic DDL Statement 152

Dynamic PL/SQL Block Handling Large String. 153

NDS Enhancements in 12c 157

Dynamic PL/SQL Block for Duplication Deletion across the Database 160

DBMS_SQL API. 165

OPEN_CURSOR.. 165

PARSE.. 167

EXECUTE.. 170

BIND_VARIABLE.. 171

DEFINE_COLUMN.. 173

FETCH_ROWS. 173

COLUMN_VALUE and VARIABLE_VALUE.. 175

EXECUTE_AND_FETCH.. 177

CLOSE_CURSOR.. 179

DBMS_SQL API: Method 4 Type Processing. 180

Summary. 186

CHAPTER 5: Advanced SQL Concepts in Oracle. 187

Introduction to Regular Expressions. 187

POSIX Extended Regular Expressions 188

Regular Expression Metacharacters in Oracle 188

Oracle Regular Expression Elements 191

Introduction to XML Programming. 209

Oracle Database XML Support 209

Summary. 224

CHAPTER 6: The PL/SQL Types. 225

Introduction to Object Oriented Programming. 225

Introduction to Object Types. 226

Object Type Specification. 227

Object Type Body. 231

Introduction to Record Types. 249

User Based Record Types 250

Table Based Record Types 250

Record Type Enhancements in 12c 252

Introduction to Collection Types. 253

Choosing a Collection Type 255

Associative Arrays 256

Nested Table Type 263

VARRAY Type 271

Exceptions in Collections 279

Collection SET Operators 282

Collection Methods 292

Dropping a PL/SQL Type. 300

Summary. 304

CHAPTER 7: Cursors and Ref-Cursors in PL/SQL.. 305

Introduction to Cursor Fundamentals. 305

Cursor Execution Cycle 306

Cursor Attributes 307

Implicit Cursors 309

Explicit Cursors 314

Reference Cursors 327

Summary. 348

CHAPTER 8: Advanced Security Methods in PL/SQL.. 349

Introduction to Oracle Advanced Security. 349

Introduction to Transparent Data Encryption. 350

Introduction to Data Redaction. 362

Oracle Virtual Private Database (VPD) and Fine-Grained Access Control (FGAC) to Control Data Access 384

Advantages of VPD over Access Controls 385

Virtual Private Database Policy Components 386

A Simple Oracle VPD Policy Creation. 389

Oracle VPD Policy Creation using an Application Context 395

Oracle VPD Data Dictionary Views 402

VPD Gotchas! 402

Introduction to Cryptography. 403

ENCRYPT Subprogram.. 404

DECRYPT Subprogram.. 412

Managing Security for Definer’s and Invoker’s Rights. 414

Definer’s Rights 414

Invoker’s Rights 416

R12.1 Enhancements 418

Summary. 422

CHAPTER 9: The Oracle Utilities. 423

UTL_COLL (COL - Collection, L - Locator) 423

UTL_INADDR (IN - Internet, ADDR - Address) 425

UTL_LMS (Language Management System) 426

UTL_URL (Universal Resource Locator) 429

UTL_TCP (Transfer Control Protocol) 431

UTL_HTTP (Hyper Text Transfer Protocol) 437

UTL_FILE.. 449

UTL_ENCODE.. 461

UTL_SMTP (Simple Mail Transfer Protocol) 467

UTL_MAIL.. 475

Summary. 480

CHAPTER 10: Heterogeneous Services in Oracle. 481

Introduction to Heterogeneous Services. 481

Oracle Synchronous and Asynchronous Integration. 482

Heterogeneous Services Architecture. 482

Heterogeneous Services Agents. 482

Types of Heterogeneous Services Agents 483

Heterogeneous Services Components. 483

Heterogeneous Services Configuration Information. 484

Data Dictionary Translation Views 484

Heterogeneous Services Initialization Parameters 484

Capabilities 484

Oracle Database Gateway Configuration: SQL Server. 485

The Gateway Process Flow. 485

Gateway Initialization Parameter Configuration. 485

Oracle Net Listener Configuration. 487

Oracle Database Gateway Access Configuration. 488

Creation of Database Links in Oracle 489

Features of Oracle Database Gateways. 490

SQL & PL/SQL Support 490

Materialized View Support 492

Non-Oracle Database Statement Support 492

Supported Subprograms 493

Restrictions in SQL Remote Mapping. 497

Advantages of Heterogeneous Services in Oracle 498

Data Dictionary Views 499

Summary. 500

CHAPTER 11: Advanced Interface Methods in Oracle. 501

Introduction to External Procedures. 501

Architecture of External Procedures. 502

Oracle Net Services Configuration. 504

TNSNAMES.ORA.. 504

LISTENER.ORA.. 505

Loading Java Class Methods in PL/SQL.. 509

Loading Java Class/ Source Files in Oracle 509

Creating and Validating PL/SQL Wrapper for the Java Class 513

Loading C Shared Library in PL/SQL.. 514

Creating a C Program.. 514

Compiling a C Program.. 515

Shared Library Creation from a C Program.. 515

EXTPROC DLL Parameter Setup. 516

PL/SQL Library Creation. 517

PL/SQL Wrapper Creation. 519

Advantages of External Programs in PL/SQL.. 521

Memory Consumption. 521

Shared Library Files 521

Program Strength. 521

Performance Enhancement 521

Limitations of External Programs in PL/SQL.. 521

Deployment Complexity. 521

Code Debug. 521

Languages Compatibility. 522

Summary. 522

CHAPTER 12: Working with Large Objects. 523

Introduction to Large Objects. 524

Introduction to SecureFile LOB.. 525

Write Gather Cache 526

Intelligent Space Allocation. 526

Dynamic Chunk Size 527

Intelligent Prefetching. 527

High Speed Network Layer 527

No LOB Index Contention. 527

No High Water Mark Contention. 527

Less User Tuned Parameters 527

Advanced Logging. 528

Deduplication. 528

Compression. 529

Encryption. 530

DB_SECUREFILE Initialization Parameter. 531

New Features in SecureFile with Oracle 12c. 532

LOB Classification. 533

Internal LOBs 533

External LOBs 542

DBMS_LOB.. 546

OPEN Procedures 546

ISOPEN Functions 547

CLOSE Procedures 548

APPEND Procedures 548

READ Procedures 549

WRITE and WRITEAPPEND Procedures 551

ERASE Procedures 554

TRIM Procedures 555

COPY Procedures 556

INSTR and SUBSTR Functions 557

COMPARE Functions 559

FRAGMENT_DELETE Procedures 560

FRAGMENT_INSERT Procedures 561

FRAGMENT_MOVE Procedures 562

FRAGMENT_REPLACE Procedures 563

ISSECUREFILE Functions 564

GETCHUNKSIZE Functions 565

GETLENGTH Functions 565

SETOPTIONS and GETOPTIONS Subprograms 566

SETCONTENTTYPE and GETCONTENTTYPE Subprograms 569

GET_STORAGE_LIMIT Functions 571

CONVERTTOCLOB Procedure 572

CONVERTTOBLOB Procedure 573

Temporary LOBs 574

LOADBLOBFROMFILE Procedure 577

LOADCLOBFROMFILE Procedure 579

LOADFROMFILE Procedures 581

FILEOPEN Procedure 583

FILEEXISTS Function. 583

FILEISOPEN Function. 583

FILEGETNAME Procedure 584

FILECLOSE Procedure 584

FILECLOSEALL Procedure 585

Migrating Columns from LONG to LOB.. 586

Prerequisites for Migration LONG Columns to LOB Columns 587

Converting Tables from LONG to LOB Datatypes 588

Migrating Columns from BasicFile LOB to SecureFile LOB.. 591

Method 1: Online Redefinition of Tables with BasicFile LOB.. 591

Method 2: Partitioning. 597

Restrictions in LOBs. 597

Summary. 598

CHAPTER 13: Tuning PL/SQL for Performance. 599

Tuning Memory for Performance. 599

Database Memory Caches and Structures 599

Database Memory Management Methods 605

Introduction to the PL/SQL Virtual Machine. 609

Native and Interpreted Compilation Techniques 609

Real Native Compilation Technique 610

PLSQL_CODE_TYPE.. 611

Altering the Compilation Mode of the Database 612

Altering the Compilation Mode of the Database Objects 612

Altering the Compilation Mode of All the Objects in the Database 615

PLSQL_OPTIMIZE_LEVEL.. 619

Altering the Optimization Level of the Database 620

Altering the Optimization Level of the Database Objects 621

Setting the PLSQL_OPTIMIZE_LEVEL parameter to “0”. 624

Setting the PLSQL_OPTIMIZE_LEVEL parameter to “1”. 626

Setting the PLSQL_OPTIMIZE_LEVEL parameter to “2”. 628

Setting the PLSQL_OPTIMIZE_LEVEL parameter to “3”. 630

PRAGMA INLINE.. 632

Tuning PL/SQL.. 638

Tuning the Logical Operators 638

Tuning the Branching Statements 641

Programming SQLs with Bind Variables 643

Programming Parameters with Pass by Reference 646

Avoiding NOT NULL Constraints 648

Avoiding Implicit Datatype Conversions 649

Choosing COALESCE over NVL.. 650

Choosing the Appropriate Numeric Datatype 652

Using Bulk Collect and FORALL for Performance 653

Reducing Context Switching in Functions and Procedures 655

Using Pipelined Table Functions 658

Using Pipelined Parallel Table Functions 662

Summary. 666

CHAPTER 14: Improve Performance using Caching Techniques. 667

Server Result Cache Concepts. 668

Result Cache Latch (RC Latch) 670

Server Result Cache Configuration. 670

SQL Query Result Cache 677

PL/SQL Function Result Cache 690

Client Result Cache Concepts. 694

Result Caches in Oracle RAC Environments. 696

Result Cache Enhancement in Oracle R12c. 696

Summary. 698

CHAPTER 15: Analyzing & Debugging the PL/SQL.. 699

Finding Coding Information. 700

USER_OBJECTS. 701

USER_OBJECT_SIZE.. 702

USER_SOURCE.. 703

USER_PROCEDURES. 703

USER_ARGUMENTS. 704

USER_DEPENDENCIES. 705

USER_PLSQL_OBJECT_SETTINGS

USER_STORED_SETTINGS. 705

USER_ERRORS. 707

PLSCOPE_SETTINGS. 707

DBMS_DESCRIBE.. 711

UTL_CALL_STACK in R12.1. 714

Tracking the Program Propagation. 715

Tracking the Error Propagation. 716

PL/SQL Expressions Enhancement in R12.2. 718

Long Identifiers in R12.2. 719

DEPRECATE Pragma in R12.2. 720

COVERAGE Pragma in R12.2. 722

DBMS_METADATA.. 724

GET_XXX Functions 725

OPEN and OPENW Functions 727

ADD_TRANSFORM Function. 727

SET_TRANSFORM_PARAM & SET_REMAP_PARAM... 729

FETCH_XXX Functions and Procedures 731

GET_QUERY Function. 731

SET_COUNT Procedure 731

SET_FILTER Procedure 732

SET_PARSE_ITEM Procedure 732

PUT Function. 733

CLOSE Procedure 734

Debugging PL/SQL Code. 735

PL/SQL Conditional Compilation. 737

Selection Directives 737

Inquiry Directives 739

Error Directives 741

Summary. 742

 

 

CHAPTER 16: Tracing & Profiling the PL/SQL.. 743

Tracing PL/SQLs using the DBMS_TRACE Package. 743

Installing the Tracing Components 744

SET_PLSQL_TRACE Procedure 744

PLSQL_TRACE_VERSION Procedure 746

GET_PLSQL_TRACE_LEVEL Function. 746

CLEAR_PLSQL_TRACE Procedure 746

PL/SQL Tracing Steps 746

PL/SQL Tracing - Demonstration. 747

Profiling PL/SQLs using the DBMS_HPROF Package. 750

DBMS_HPROF Package 751

Collecting Profile Output 753

Analyzing Profile Output 756

Querying the Profiler Tables 757

plshprof Utility. 758

Summary. 762

CHAPTER 17: Securing PL/SQL from SQL Injections. 763

SQL Injection Overview.. 763

First Order Attack. 764

Second Order Attack. 766

Lateral Injection. 767

Avoiding SQL Injection. 769

Reducing the Attack Surface 769

Avoiding Dynamic SQL with Concatenated Input 769

Use Bind Arguments 769

Filter and Sanitize Input 769

Designing SQL Injection Immune Code 776

Testing the Code for SQL Injection Flaws 776

Summary. 777

 

 

Index:

INDEX

.


$

$$PLSCOPE_SETTINGS · 739

$$PLSQL_CODE_TYPE · 739, 740

$$PLSQL_DEBUG · 739, 740

$$PLSQL_LINE · 739, 740

$$PLSQL_OPTIMIZE_LEVEL · 739, 740

$$PLSQL_UNIT · 739, 740

$$PLSQL_UNIT_OWNER · 739, 740

$$PLSQL_UNIT_TYPE · 739, 740

$$PLSQL_WARNINGS · 739, 740

%

%ROWTYPE · 250

/

/*+NO_RESULT_CACHE*/ · 681, 682, 683, 684

/*+RESULT_CACHE*/ · 677, 682, 683, 687, 688, 689

1

1956 · 187

1960 · 187

1960s · 225

1996 · 209

7

7-bit ASCII · 108

A

A Relational Model of Data for Large Shared Data Banks · 1

access path dependence · 2

ACCESSIBLE BY · 246

actual · 52, 53, 54, 67, 68

ADD_COOKIES · 442, 443, 445

ADD_POLICY · 363, 364, 366, 370, 372, 373, 374, 376, 377, 378, 379, 380, 381, 387, 388, 390, 391, 392, 393, 394, 401

ADD_TRANSFORM · 727, 728, 729, 731, 734, 735

ADD_WARNING_SETTING_CAT · 101, 102, 103

Advanced Encryption Standard · 358, 403, 406

AES · 358, 403, 404

AL16UTF-16 · 109

AL24UTF-FSS · 109

AL32UTF-8 · 109

Alan Kay · 225

All · 57, 69, 71

ALTER_POLICY · 363, 364, 368, 369, 387

Ampex Corporation · 5

ANALYZE · 751, 752, 756

Anchored variables · 7

AND · 15, 19, 31

AppendChildXML · 221

Application Context · 395, 396, 397

arguments · 47, 70, 71

Associative arrays · 253, 256

attributes · 2, 71

Authid · 42, 46, 47

auto-login software keystore · 355

Automatic Memory Management · 605, 606, 607, 608

Automatic PGA Memory Management · 608

Automatic Segment Space Management · 526

Automatic Shared Memory Management · 606, 607

AVAILABLE · 433

B

BASE64_DECODE · 461, 462

BASE64_ENCODE · 461, 462

Basic Multilingual Plane · 107

BasicFile LOB · 525, 527, 532, 538, 591

BEGIN · 10, 11, 12, 13, 16, 17, 18, 20, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 42, 44, 45, 48, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 71

BEGIN_REQUEST · 438, 440, 447

BEQUEATH CURRENT_USER · 421, 422

BEQUEATH DEFINER · 421, 422

BFILE · 138

binary · 3

Binary File Objects · 524

Binary Large Objects · 524

BINARY_DOUBLE · 115, 116, 119, 120

BINARY_FLOAT · 115, 116, 119, 120

BINARY_INTEGER · 113, 117, 118, 120

BIND · 306

Bind Argument · 149

bind variable · 81, 82, 88, 91, 94, 95

Bind Variables · 143

BIND_INOUT_VARIABLE · 494

BIND_OUT_VARIABLE · 494

BIND_VARIABLE · 171, 172, 176, 177, 494

BITMAP_MERGE_AREA_SIZE · 608

Bjorn Stroustrup · 225

BLOB · 138, 524, 525, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 546, 547, 548, 549, 550, 551, 552, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 570, 571, 572, 573, 574, 575, 576, 577, 578, 580, 581, 582, 587, 588, 590

blueprint · 56

Bob Miner · 5

body · 41, 45, 55, 56, 57, 58, 59, 62, 63, 64, 65, 66, 67

Boolean · 15, 16, 17, 18, 19, 20, 21, 22, 31, 127, 128, 129, 130, 131

bound · 25, 26, 27, 28, 29, 30, 33, 35, 36

Bounded · 254

BRE · 188

buffer cache · 600, 601, 602, 603, 605

Buffer I/O · 601

Buffer Modes · 601

Buffer Pools · 602

Buffer Reads · 602

Buffer States · 600

Buffer Writes · 601

bulk binding · 266, 279, 280

Bulk collect · 8

BULK COLLECT · 265

BULK_EXCEPTIONS · 307, 309

BULK_ROWCOUNT · 307

BYPASS · 673, 677, 685

C

C language · 6

callback · 502

callout · 502

Capabilities · 484

Cardinality · 284

Caret · 193

CASE · 15, 19, 20, 21, 22, 48

CHAIN_CBC · 406, 407, 411, 413

CHAIN_CFB · 406

CHAIN_ECB · 406

CHAIN_OFB · 406

Char · 123, 124, 126

CHARACTER · 124

Character Large Objects · 524

Charles F. Goldfarb · 209

Charles Weiss · 49

child block · 13, 14

CLEAR_COOKIES · 445

CLEAR_PLSQL_TRACE · 746, 747, 748

Client Result Cache · 667, 694, 695, 696, 698

CLOB · 109, 125, 138, 524, 533, 534, 535, 536, 537, 538, 539, 540, 541, 546, 547, 548, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 570, 571, 572, 573, 574, 575, 576, 577, 579, 580, 581, 582, 586, 587, 588, 589, 590, 592

CLOSE · 307, 312, 317, 318, 324, 325, 329, 330, 333, 336, 340, 727, 734

CLOSE_ALL_CONNECTIONS · 436

CLOSE_CONNECTION · 436, 437

CLOSE_CURSOR · 166, 168, 169, 170, 171, 173, 174, 177, 179, 493, 496

CLOSE_DATA · 473, 474, 475

COALESCE · 650, 651

Codd’s theory · 5

collections · 253, 254, 282, 284

column encryption · 351, 353

Column Masking · 394

COLUMN_VALUE · 175, 179

COMMAND · 469, 470

COMMAND_REPLIES · 469

compilation · 73, 74, 75, 76, 80, 81, 82, 83, 101, 106

Compilation errors · 73

compiler · 73, 75, 77, 78, 80, 81, 83, 85, 101

complexity · 9, 22, 36, 56, 64

composed · 4

Compression · 529, 530, 531, 566, 567, 568, 592

CONNECT BY LEVEL · 204, 205

CONNECTION · 431, 432, 433, 436, 468, 469, 471, 472, 473, 474, 475

consistency · 1, 2, 5, 6

Constructor · 227, 228

constructs · 55, 57, 58

context area · 305, 306, 307, 308, 312, 314, 315, 319, 325

context switching · 8

Context Switching · 655

Context_sensitive · 388

Continue · 32, 34, 35

CONVERT · 728

COOKIE · 441, 443, 444, 445

COOKIE_TABLE · 441, 443, 444, 445

Count · 284, 294

counter · 23, 24, 25, 31, 33

COVERAGE Pragma · 722

CREATE DIRECTORY · 450, 459

CREATE_BITMAP_AREA_SIZE · 608

CREATE_COVERAGE_TABLES · 723

CREATE_ERROR_LOG · 97

CREATE_REQUEST_CONTEXT · 446, 447

Cryptography · 349, 403

curly braces · 196

Current_user · 41, 42, 47

currval · 49

Cursor Attributes · 307

Cursor Execution Cycle · 306

Cursor Expressions · 305

CURSOR_SHARING · 145

CYGWIN · 515

D

data control · 7

data definition · 7

data dictionary · 2, 40, 45, 50, 69, 71, 72, 74, 75, 76, 78, 79, 80, 105

Data Dictionary Cache · 603

Data Dictionary Translation Views · 484

Data Encryption Standard · 358, 403, 406

Data Redaction · 349, 362, 422

data redundancy · 1

data-at-rest · 350

database initialization parameter · 101, 102

Database Smart Flash Cache · 600

database wallet · 350

database writer · 600

Database Writer Process · 602

Date · 132

DATE · 7, 18, 53, 58, 59

Date-Time Datatypes · 373

DB_BLOCK_SIZE · 534, 535, 565

DB_FLASH_CACHE_FILE · 600

DB_FLASH_CACHE_SIZE · 600

DB_KEEP_CACHE_SIZE · 607

DB_nK_CACHE_SIZE · 607

DB_RECYCLE_CACHE_SIZE · 607

DB_SECUREFILE · 523, 531, 532

Dba · 69

DBMS_ASSERT · 763, 769, 770, 771, 772, 773, 774, 775, 776, 777

DBMS_CREDENTIAL · 517

DBMS_CRYPTO · 349, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 422

DBMS_DEBUG · 699, 737, 742

DBMS_DESCRIBE · 699, 711, 712, 713, 742

DBMS_ERRLOG · 97

DBMS_HPROF · 743, 750, 751, 752, 754, 755, 756, 757, 761, 762

DBMS_HS_PASSTHROUGH · 492, 493, 494, 495, 496

DBMS_LOB · 546, 575, 576, 587

DBMS_LOB.APPEND · 153, 154, 548

DBMS_LOB.CLOSE · 548

DBMS_LOB.COMPARE · 559

DBMS_LOB.CONVERTTOBLOB · 574

DBMS_LOB.CONVERTTOCLOB · 572

DBMS_LOB.COPY · 556, 575

DBMS_LOB.CREATETEMPORARY · 575

DBMS_LOB.ERASE · 554

DBMS_LOB.FILECLOSE · 584

DBMS_LOB.FILECLOSEALL · 585

DBMS_LOB.FILEEXISTS · 583

DBMS_LOB.FILEGETNAME · 584

DBMS_LOB.FILEISOPEN · 584

DBMS_LOB.FILEOPEN · 583

DBMS_LOB.FRAGMENT_DELETE · 560

DBMS_LOB.FRAGMENT_INSERT · 562

DBMS_LOB.FRAGMENT_MOVE · 562

DBMS_LOB.FRAGMENT_REPLACE · 563

DBMS_LOB.FREETEMPORARY · 576

DBMS_LOB.GET_STORAGE_LIMIT · 571

DBMS_LOB.GETCHUNKSIZE · 565

DBMS_LOB.GETCONTENTTYPE · 570

DBMS_LOB.GETLENGTH · 154, 156, 566

DBMS_LOB.GETOPTIONS · 567

DBMS_LOB.INSTR · 557

DBMS_LOB.ISOPEN · 547

DBMS_LOB.ISSECUREFILE · 564

DBMS_LOB.ISTEMPORARY · 576

DBMS_LOB.LOADBLOBFROMFILE · 578

DBMS_LOB.LOADCLOBFROMFILE · 579

DBMS_LOB.LOADFROMFILE · 581

DBMS_LOB.OPEN · 546

DBMS_LOB.READ · 549, 550

DBMS_LOB.SETCONTENTTYPE · 570

DBMS_LOB.SETOPTIONS · 567

DBMS_LOB.SUBSTR · 558

DBMS_LOB.TRIM · 555

DBMS_LOB.WRITE · 551

DBMS_LOB.WRITEAPPEND · 552

DBMS_METADATA · 699, 724, 725, 726, 727, 728, 729, 731, 732, 733, 734, 735, 742

DBMS_OBFUSCATION_TOOLKIT · 349, 403, 404, 422

DBMS_PLSQL_CODE_COVERAGE · 722

DBMS_PROFILER · 750

DBMS_REDACT · 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382

DBMS_REDEFINITION · 590, 591, 592, 593, 594, 595, 596

DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS · 591, 594, 596

DBMS_REDEFINITION.FINISH_REDEF_TABLE · 596

DBMS_REDEFINITION.START_REDEF_TABLE · 590, 593, 594

DBMS_RESULT_CACHE · 671, 673

DBMS_RLS · 386, 387, 390, 391, 393, 394, 401

DBMS_SESSION · 399

DBMS_SQL · 7, 141, 142, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 182, 184, 186, 305, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348

DBMS_STANDARD · 93

DBMS_TRACE · 743, 744, 746, 747, 749, 750, 762

DBMS_WARNING · 101, 102, 103

DBMS_XMLGEN · 217

DBMSHP_FUNCTION_INFO · 756

DBMSHP_PARENT_CHILD_INFO · 756

DBMSHP_RUNS · 756

dbmshptab.SQL · 756

dbmspbt.SQL · 744

DBMSPCC_BLOCKS · 723

DBMSPCC_RUNS · 723

DBMSPCC_UNITS · 723

DEADLOCK · 84, 85, 86

Dec · 112

Decimal · 109, 112, 118, 119, 120

declaration · 10, 11, 41, 44, 45, 50, 51, 56, 57, 58, 59, 60, 62, 63

DECRYPT · 412, 413

decryption · 9

Deduplication · 528, 529, 531, 566, 568, 592

Default Pool · 602

DEFINE_COLUMN · 173, 178, 179

definer · 42, 47

Definer’s Rights · 414

Delete · 295

DELETE_DEPENDENCY · 674, 689

DELETEXML · 222

Dense · 254

DEPRECATE Pragma · 720

derivability · 2

DES_CBC_PKCS5 · 407

DES3_CBC_PKCS5 · 407

DESCRIBE_COLUMNS · 180, 181, 182, 184, 340, 344

DESCRIBE_COLUMNS2 · 180, 184, 185, 186

DESTROY_REQUEST_CONTEXT · 446, 447

Deterministic · 694, 697

DISABLE_POLICY · 363, 365, 381, 382

display · 362, 367, 369, 379, 389, 392, 394, 422

distributed database · 6

distributed querying · 6

DLL · 502, 503, 504, 507, 514, 515, 516, 519, 520

DML · 42, 47, 49, 61

DML error log table · 73, 106

Dollar · 193

Double Precision · 112

DROP_POLICY · 363, 382, 387

DUAL · 49

DUMMY · 49

Dynabook · 225

Dynamic · 388

Dynamic Link Library · 502

dynamic query · 7

E

Ed Mosher · 209

Ed Oates · 5

Edgar Frank Codd · 1

EHLO · 470, 471, 472, 473, 474

ELSE · 15, 17, 18, 19, 20, 21, 22, 48

ELSIF · 15, 16, 18, 19

Embedded Instances · 226

Empty · 285

enable · 101, 102, 103

ENABLE QUERY REWRITE · 47

ENABLE_POLICY · 363, 365, 382, 387

encapsulation · 9

enclosed block · 13

enclosing block · 13, 39, 82, 92

ENCRYPT · 358, 359, 361, 404, 405, 407, 411, 413

ENCRYPT_3DES · 406, 407

ENCRYPT_3DES_2KEY · 406

ENCRYPT_AES128 · 406, 407

ENCRYPT_AES192 · 406

ENCRYPT_AES256 · 406, 411, 413

ENCRYPT_DES · 406, 407

ENCRYPT_RC4 · 406

encryption · 9

Encryption · 530, 531, 536, 566, 568, 592

END · 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 42, 44, 45, 48, 50, 51, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 71

END_RESPONSE · 440, 441, 447

ENQUOTE_LITERAL · 770

ENQUOTE_NAME · 770, 771

ERE · 188

error · 28, 29, 30, 36, 39, 44, 46, 64, 73, 74, 75, 76, 79, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 106

error code · 81, 82, 83, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96

Error Directives · 741

error message · 76, 81, 82, 83, 85, 86, 87, 88, 90, 92, 93, 94, 95, 96

ERROR_CODE · 280, 281

ERROR_INDEX · 280, 281

ESCAPE · 429, 430

exception · 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96

EXCEPTION_INIT · 83

exceptions · 8, 10, 12, 56, 72

Exceptions · 73, 83, 86, 89, 93, 96

EXECUTE · 142, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 158, 159, 160, 165, 168, 170, 171, 172, 174, 177, 179, 307, 339, 343

EXECUTE IMMEDIATE · 142, 146, 147, 148, 151, 154, 156, 158, 159, 160, 165

EXECUTE_AND_FETCH · 177, 179

EXECUTE_IMMEDIATE · 494, 495

EXECUTE_NON_QUERY · 494, 495, 496

EXEMPT REDACTION POLICY · 362

Exists · 293

EXISTSNODE · 223

EXIT · 23, 24, 25, 32, 33

EXPLAIN PLAN FOR · 389, 392

Explicit Cursor FOR Loop · 322

Explicit cursors · 305, 306

Explicit Cursors · 314

Express Edition · 6

expressible set · 4

Extend · 292, 293

Extended Binary Coded Decimal Interchange Code · 109

External LOBs · 533, 542

External Procedures · 501, 502, 503, 521

external security module · 350, 352, 353

EXTPROC · 502, 503, 504, 505, 506, 507, 508, 509, 514, 516, 517, 520

EXTRACTVALUE · 218, 221, 222, 223

F

False · 17

FAST REFRESH · 47

FCLOSE · 457, 458

FCLOSE_ALL · 458

FCOPY · 452, 459

FETCH · 307, 312, 315, 316, 317, 318, 319, 321, 322, 324, 325, 327, 328, 329, 330, 333, 334, 336, 338, 339, 341, 344, 347

FETCH_CLOB · 731

FETCH_DDL · 731

FETCH_ROW · 495, 497

FETCH_ROWS · 173, 174, 175, 177, 179

FETCH_XML · 731

FETCH_XML_CLOB · 731

FFLUSH · 452, 453, 460

FGAC · 384, 385

FGETATTR · 453, 459

FGETPOS · 453, 459

FILE_TYPE · 450, 451, 452, 453, 454, 455, 456, 457

FILESYSTEM_LIKE_LOGGING · 528, 536, 592

Final · 228, 229, 230, 241, 244

Fine-Grained Access Control Protocol · 349, 422

First · 253, 297

first version · 5

Fixed-Length Character Datatypes · 370

Flash cache · 602

flexibility · 7

Float · 112, 118, 119, 120

FLUSH · 433, 671, 674, 675, 677, 681

FOPEN · 450, 451, 454, 455

FOPEN_NCHAR · 450, 451

FOR · 15, 22, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36

FOR UPDATE · 317, 318, 319, 320, 321, 348

FORALL · 8, 9

FORALL clause · 266, 268, 280

force · 301, 302, 303

formal · 53, 54, 64

FORMAT_CALL_STACK · 714, 715, 716

FORMAT_ERROR_STACK · 96, 714, 716, 717, 718

FORMAT_MESSAGE · 428

forward referencing · 57, 62

FOUND · 307, 308, 345, 347

FREMOVE · 458, 459

FRENAME · 458, 461

FSEEK · 454

Full Redaction Policy · 365

functional with clause · 246, 248, 286, 289

functions · 10, 11, 39, 46, 49, 50, 55, 56, 57, 64, 65, 67, 69, 71, 72

G

Gateway Initialization Parameter Configuration · 485

GCC command · 515

generalized invocation · 240, 242

GET_COOKIE_COUNT · 445

GET_COOKIES · 442, 443

GET_DDL · 725

GET_DEPENDENT_DDL · 725, 726

GET_DEPENDENT_XML · 725

GET_GRANTED_DDL · 725

GET_GRANTED_XML · 725

GET_HOST_ADDRESS · 425

GET_HOST_NAME · 426

GET_LINE · 433, 434, 437, 454, 455, 459

GET_LINE_NCHAR · 433, 434, 454, 455

GET_MESSAGE · 427, 428, 429

GET_NEXT_RESULT · 305, 342, 344, 346

GET_PLSQL_TRACE_LEVEL · 746

GET_QUERY · 727, 731

GET_RAW · 434, 454, 455

GET_RESPONSE · 439, 440, 447

GET_SXML · 725

GET_TEXT · 434

GET_TEXT_NCHAR · 434

GET_VALUE · 495, 497

GET_XML · 725

GETCLOBVAL · 211

GETXML · 218

GETXMLTYPE · 217

global data inconsistency · 493

GOTO · 15, 36, 37, 38, 39

graphical model · 2

Guard · 23, 24

H

hard · 36, 72

hardware keystore · 350

Hardware Security Module · 350

HASH_AREA_SIZE · 608

HASH_MD4 · 408

HASH_MD5 · 408, 409

HASH_SH1 · 408, 409

HASH_SH256 · 408, 410

HASH_SH384 · 408, 410

HASH_SH512 · 408, 410

header · 10, 11, 15, 19, 39, 41, 43, 45, 49, 53, 54, 59, 62, 63, 64, 66, 67

HELO · 470, 471, 472, 473, 474, 475

HELP · 471

Heterogeneous Services · 481, 482, 483, 484, 498

Heterogeneous Services Agent · 482

Heterogeneous Services Architecture · 482

Heterogeneous Services Component · 482

Heterogeneous Services Configuration Information · 484

Heterogeneous Services Initialization Parameters · 484

hierarchical order · 77

hot backups · 6

HS_FDS_CONNECT_INFO · 486

HS_FDS_FETCH_ROWS · 486, 487

HS_FDS_TRACE_LEVEL · 486

HS_LANGUAGE · 486, 487

HS_NLS_NCHAR · 486, 487

HS_RPC_FETCH_REBLOCKING · 486

HS_TRANSACTION_MODEL · 486, 487

HTML · 6, 209

HTML_PIECES · 448

I

IBM laboratory · 209

IEEE-754 · 115

IF · 15, 16, 17, 18, 19, 23, 24, 25, 31, 37, 38, 39

Implicit Cursor FOR Loop · 311

Implicit cursors · 305, 306

Implicit Cursors · 309

Implicit result sets · 305

Implicit Result Sets · 341

IN · 26, 27, 28, 29, 30, 32, 34, 35, 41, 42, 45, 48, 50, 52, 53, 58, 59, 70, 71

in indices of · 267, 268, 274

in values of · 274, 275

index · 2, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36

indexing dependence · 2

Informational · 102

infrastructure · 6, 7

INHERIT [ANY] PRIVILEGES · 420

inheritance · 240

In-Memory Column Store · 605

INMEMORY_SIZE · 605

INOUT · 41, 45, 52

Inquiry Directives · 739

Instance PGA · 605

Instantiable · 228, 229, 230

Int · 112

Integer · 112, 116, 117, 118

INTERFACE · 71

Internal LOBs · 533

Internet Procedure Calls · 505

Interpreted mode · 609, 610

Interval Day to Second · 136

Interval Year to Month · 134

INVALIDATE · 675, 676, 689, 693

INVALIDATE_OBJECT · 676, 689, 693

invocation · 57

invoker rights · 42, 47

Invoker’s Rights · 414, 416, 418, 421

IS_LOCATOR · 423, 424

IS_OPEN · 452, 458, 459

ISOPEN · 307, 308

Iterative · 22

J

Java class object · 510, 511

Java interface · 6

Java Pool · 604, 607

Java source object · 510

Java Virtual Machine · 509

JAVA_POOL_SIZE · 604

Jon Bosak · 209

K

Keep Pool · 602

L

Large Pool · 604, 607

LARGE_POOL_SIZE · 604

Last · 253, 297

Lawrence Joseph "Larry" Ellison · 5

LEVEL · 204, 205

lexical errors · 80

library · 502, 503, 506, 509, 510, 513, 514, 515, 519, 520, 521

Library Cache · 603

libunits · 502, 510, 513

Limit · 296

LIMIT · 98

LISTAGG · 214

listener · 502, 503, 504, 505, 506, 507, 508, 509, 516, 517

loadjava utility · 512

LOB · 137, 138, 523, 524, 525, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 541, 542, 543, 544, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 574, 575, 576, 577, 578, 579, 580, 581, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 594, 596, 597, 598

LOB locators · 137

local auto-login software keystore · 355

Log Writer Process · 602

LOG_BUFFER · 603, 607

logging · 92, 97, 98

Long · 125, 126, 137

LONG · 523, 524, 525, 586, 587, 588, 589, 590, 597, 598

LONG RAW · 523, 525, 586, 588, 590

loop · 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38

M

MAC · 360, 404, 409

machine representation · 1

MAIL · 471, 472, 473, 474, 475, 476

maintenance · 7, 9, 22, 36, 56, 69

Manual PGA Memory Management · 608

Manual Shared Memory Management · 607

MAP · 228, 231, 232, 237, 238, 244

master encryption key · 350, 352, 353, 356, 357

Match modifiers · 192

Match_modifiers · 192, 198, 199, 201, 203, 204, 206, 207

member · 229, 230, 232, 233, 235, 236, 237, 238, 239, 241, 242, 243, 244, 246, 247, 285, 286

Member of · 285

MEMORY_MAX_TARGET · 606

MEMORY_REPORT · 676, 680

MEMORY_TARGET · 605, 606, 608

Message Authentication Code · 360, 404, 409

metacharacters · 187, 188, 190, 191, 192, 193, 198, 201, 203, 206, 224

MIMEHEADER_DECODE · 462, 463

MIMEHEADER_ENCODE · 462, 463

MinGW · 515

mixed · 54, 55

modifiers · 73

multidimensional processing · 6

Multiple Row Implicit Cursors · 310

Multiset Except · 288, 291, 292

Multiset Except Distinct · 288, 292

Multiset Intersect · 288, 290

Multiset Intersect Distinct · 288, 290

Multiset Union · 288, 289

Multiset Union all · 288

Multiset Union Distinct · 288, 289

multi-tenancy · 7

N

named · 1, 4, 5, 10, 38, 39, 43, 49, 54, 55, 56, 61

named blocks · 10, 39

named set · 4

namespace · 57, 395, 396, 402

National Character Large Objects · 524

Native · 141, 142, 168

Native Dynamic SQL · 7, 141, 142

Native mode · 609, 610, 616

Natural · 114

NaturalN · 114

NChar · 126

NCLOB · 109, 125, 138, 524, 525, 533, 534, 535, 536, 538, 539, 540, 541, 546, 548, 549, 550, 551, 552, 554, 555, 556, 557, 561, 563, 564, 565, 571, 572, 573, 574, 575, 579, 580, 581, 587, 588, 590

NCOMP_DLL$ · 609

Negated Search · 197

nested cursors · 305, 348

Nested table · 253, 254, 255, 256, 263

network · 3, 6, 8

NEW_LINE · 455, 456

Next · 297

nextval · 49, 59

NLS_DATABASE_PARAMETER · 110

NLS_DATE_FORMAT · 132

NLS_INSTANCE_PARAMETER · 110

NLS_LENGTH_SEMANTICS · 123

NLS_SESSION_PARAMETERS · 110

NLS_TIMESTAMP_FORMAT · 132

NLS_TIMESTAMP_TZ_FORMAT · 133

No Redaction Policy · 380

NO_DATA_FOUND · 88, 90, 96

NO_DATA_NEEDED · 661, 662

NOCOPY · 646, 648

NOMAC · 360, 361

NOOP · 470, 771, 772

normalization · 3

notation · 53, 54, 55, 61

NOTFOUND · 307, 308

Null · 16, 17, 30, 31, 39, 57, 71

Number · 7, 65, 67, 68, 111, 112, 113, 115, 116, 117, 118, 119, 120, 122

Number Datatypes · 372

Numeric · 111, 112, 116

Numeric index type · 254

NVarchar2 · 126

NVL · 650, 651

O

object · 7, 8, 41, 45, 46, 55, 69, 70, 71, 72

Object Oriented Programming · 225, 303

Object type · 226, 231, 303

OLTP · 6

Online Redefinition of Tables · 590, 591

OPEN · 306, 312, 315, 316, 317, 318, 319, 320, 321, 324, 325, 327, 329, 330, 331, 332, 333, 334, 336, 341, 342, 348, 711, 727, 728, 729, 731, 732, 733, 734

OPEN_CONNECTION · 432, 469

OPEN_CURSOR · 165, 166, 167, 168, 169, 170, 171, 172, 174, 176, 178, 182, 186, 493, 496

OPEN_DATA · 472, 473, 475

OPENW · 727, 728, 733, 734

operating system · 9

OR · 15, 19, 31, 41, 42, 46, 48, 53, 58, 62, 65

ORA_ERR · 97, 99

ORA_INVOKING_USER · 421

ORA_INVOKING_USERID · 421

ORA-24381 · 280

Oracle · 1, 5, 6, 7, 8, 9, 16, 18, 40, 47, 48, 49, 59, 60, 69

Oracle Advanced Security Options · 349, 422

Oracle Corporation · 5

Oracle Database Gateway Access Configuration · 488

Oracle Database Gateway Configuration · 485

Oracle Database Gateway for ODBC Agent · 483

Oracle Database Gateways · 483, 490

Oracle defined exceptions · 86

Oracle Enterprise Manager Sensitive Data Discovery · 351

Oracle Net Listener Configuration · 487

Oracle version 10g · 6, 49

Oracle version 11g · 7

Oracle version 12c · 7

Oracle version 2 · 5

Oracle version 3 · 6

Oracle version 4 · 6

Oracle version 5 · 6

Oracle version 6 · 6

Oracle version 7 · 6

Oracle version 8 · 6

Oracle version 9i · 6

Oracle Virtual Private Database · 349, 384, 387, 392, 394, 422

Oracle’s Network Computer · 6

ORACLR · 504, 505, 506, 508

ORDER · 228, 231, 232, 237, 238, 239, 244

ordering · 2

ordering dependence · 2

OUT · 41, 42, 45, 50, 52, 53, 58, 59, 65, 66, 70, 71

overloading · 9, 56, 64, 65, 66, 67, 68

OVPD · 349

P

Packages · 55

PAD_NONE · 404, 407

PAD_PKCS5 · 404, 407, 411, 413

PAD_ZERO · 404, 407

Parallel_enable · 48

PARALLEL_ENABLE · 662, 663

Parameterized Cursors · 324

parameters · 10, 39, 41, 43, 44, 45, 49, 52, 53, 54, 55, 57, 59, 60, 61, 64, 65, 66, 67, 68, 71

parent block · 13, 14

PARSE · 167, 168, 169, 170, 171, 172, 174, 176, 178, 182, 186, 306, 493

parsing · 73

Partial Redaction Policy · 369

Pass by reference · 646, 647, 648

Pass by value · 646, 647, 648

password-based keystore · 355

performance · 2, 6, 7, 8, 9, 49

Performance · 102, 103

period · 191, 196

Perl · 187, 190, 192, 198, 199, 201, 202, 203, 206, 224

permutation · 4

Persistent · 226, 253

Persistent LOBs · 534

Persistent Objects · 226

PGA_AGGREGATE_LIMIT · 608

PGA_AGGREGATE_TARGET · 606, 608

PHP · 8

Pipe · 193

PIPE ROW · 659, 661, 663

pipelined · 48, 71

Pipelined Parallel Table Functions · 662

Pipelined Table Functions · 658

PL/SQL · 1, 6, 7, 8, 9, 10, 11, 12, 15, 20, 28, 29, 30, 36, 44, 47, 53, 54, 55, 56, 72

PL/SQL Function Result Cache · 667, 673, 690

PL/SQL Virtual Machine · 609

Placeholder · 147, 171, 175

play · 40

PLS_INTEGER · 28, 113, 114, 116, 117, 118

PLSCOPE_SETTINGS · 699, 706, 707, 708, 709, 710, 711, 740, 742

plshprof · 743, 752, 758, 759, 762

PLSQL_CCFLAGS · 706, 737, 739, 740, 741

PLSQL_CODE_TYPE · 114, 116, 118, 599, 611, 612, 613, 614, 615, 618, 619, 624, 626, 628, 631, 633, 666

PLSQL_DEBUG · 626, 627

PLSQL_NATIVE_LIBRARY_DIR · 609, 610

PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT · 609, 610

PLSQL_OPTIMIZE_LEVEL · 599, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 633, 634, 635, 653, 666

PLSQL_TRACE_EVENTS · 744, 747

PLSQL_TRACE_RUNS · 744, 747

PLSQL_TRACE_VERSION · 746

PLSQL_WARNINGS · 101

plug · 40

Policy Function · 400

portability · 6, 7, 9

Portable Operating System Interface for uniX · 188

positional · 53, 54, 55

Positive · 114

PositiveN · 114

POSIX · 187, 188, 189, 190, 192, 193, 198, 201, 203, 206, 224

PRAGMA · 83, 85

PRAGMA INLINE · 630, 632, 634, 636, 637

Pragma UDF · 656, 657, 658

predefined errors · 83

predefined exceptions · 89, 90, 93

Prefetching · 527

PRINT_POST_PROCESSED_SOURCE · 738

Prior · 252, 259, 261, 269, 282, 297

private · 13, 14, 61, 62

privilege · 75, 77, 79

Procedure · 41, 42, 43, 44, 54, 57, 60, 62, 63, 64, 65, 66, 68

procedures · 10, 11, 39, 41, 42, 45, 49, 55, 56, 57, 64, 65, 68, 69, 71, 72

Process-private Memory · 604

Program Global Area · 605

prvtpbt.plb · 744

pseudo columns · 49

Pseudo-Random Number Generator · 410

PUT · 440, 441, 447, 456, 457, 459, 460, 728, 733, 734, 735

PUT_LINE · 440, 441, 447, 456, 459

PUT_LINE_NCHAR · 456

PUT_NCHAR · 456, 457

PUTF · 457, 460

PUTF_NCHAR · 457

Q

QUALIFIED_SQL_NAME · 774

qualifier · 73, 102, 106

QUIT · 474, 475

QUOTED_PRINTABLE_DECODE · 463, 464

QUOTED_PRINTABLE_ENCODE · 463, 464

R

RAISE · 86, 88, 90, 92, 93, 94, 96

RAISE_APPLICATION_ERROR · 93, 94, 96

Random Redaction Policy · 379

RANDOMBYTES · 410

RANDOMINTEGER · 410

RANDOMNUMBER · 410

range · 93, 103, 106

RAW · 125

Ray Lorie · 209

RC Latch · 670

RCPT · 471, 472, 473, 474, 475

RDBMS rule · 86

READ_LINE · 435, 440, 441, 447

READ_RAW · 435

READ_TEXT · 435

Real · 112, 119

Real Application Clustering · 6

Real Native mode · 610

record type · 249, 250, 251, 252, 263, 273

recursive · 8

Recycle Pool · 602

REDACTION_COLUMNS · 383

REDACTION_POLICIES · 384

REDACTION_VALUES_FOR_TYPE_FULL · 367, 384

Redo Log Buffer · 602

redundancies · 5

redundancy · 2

Reference cursors · 305

Reference Cursors · 327, 348

REGEXP_COUNT · 191, 198, 199, 200, 204

REGEXP_INSTR · 191, 201, 202, 203

REGEXP_LIKE · 191, 192, 193, 198

REGEXP_REPLACE · 191, 206

REGEXP_SUBSTR · 191, 203, 206

Regular Expression Based Redaction Policy · 375

REJECT · 98

relation · 3, 4, 5

Relational · 1, 3, 5, 15, 16, 17, 18, 19, 31

relational calculus · 1, 4

relational model · 1, 3, 4

relational view · 1, 2

reliability · 5, 6, 7

Remote Mapping · 497

Replace · 41, 43, 46, 49, 58

REPLIES · 468, 469, 470, 471

REPLY · 467, 468, 469, 470

REQ · 438, 440, 447

REQUEST · 438, 445, 446, 447, 448, 449

REQUEST_CONTEXT_KEY · 445, 447

REQUEST_PIECES · 447, 448, 449

Reserved Pool · 603

RESP · 438, 439, 440, 447

Result Cache · 667, 668, 669, 670, 671, 673, 674, 676, 677, 678, 680, 681, 683, 685, 687, 689, 690, 694, 695, 696, 698

Result Cache Latch · 670, 671

RESULT_CACHE · 667, 671, 672, 673, 674, 675, 676, 677, 678, 679, 681, 682, 683, 684, 685, 686, 687, 688, 689, 691, 692, 696, 697

RESULT_CACHE_MAX_RESULT · 671, 672, 681

RESULT_CACHE_MAX_SIZE · 671, 672, 681

RESULT_CACHE_MODE · 670, 671, 672, 677, 678, 681, 683, 684, 691

RESULT_CACHE_REMOTE_EXPIRATION · 671, 672

return · 10, 39, 45, 47, 48, 49, 50, 51, 57, 59, 60, 66, 67, 71

RETURN_RESULT · 305, 342, 343, 344

REUSE SETTINGS · 613, 615, 621, 623, 624

reverse · 26, 27, 37

Row Level Security · 387

ROWCOUNT · 307, 309

rowid · 49

RowID · 127

rownum · 49

RSET · 472, 473, 474

Run-time errors · 73

S

SALT · 359, 360, 361

SAVE EXCEPTIONS · 97, 279, 280

Scalar · 111

SCHEMA_NAME · 772

scope · 2, 13, 14, 29, 36, 52, 53, 57

SEC_RELEVANT_COLS · 392, 393, 394, 402

SEC_RELEVANT_COLS_OPT · 394

SECURE_CONNECTION · 432

SecureFile LOB · 524, 525, 527, 529, 531, 532, 538, 564, 591

Selection Directives · 737

SELF · 228, 229, 230, 231, 234, 235

semantics · 73

semi-structured · 524, 525, 534

SEND · 476, 478, 479

SEND_ATTACH_RAW · 479

SEND_ATTACH_VARCHAR2 · 478, 479

SERIALLY_REUSABLE · 57

server · 6, 18, 48

Server Result Cache · 603, 668, 670, 671, 673

session · 7, 8, 40, 56, 57

Session · 84, 86, 102, 103

session control · 7

SET · 225, 251, 252, 266, 267, 269, 277, 282, 283, 284, 288, 304

SET_CONTEXT · 399

SET_COUNT · 727, 731

SET_FILTER · 727, 731, 732, 734

SET_HEADER · 439, 440

SET_PARSE_ITEM · 727, 732, 733

SET_PLSQL_TRACE · 744, 746, 748

SET_REMAP_PARAM · 728, 729, 734, 735

SET_TRANSOFRM_PARAM · 728

Severe · 102, 103

SGA · 40

SGA_MAX_SIZE · 606

SGA_TARGET · 606, 607, 608

SGML · 209

Shared Object · 502

Shared Pool Buffer · 603

Shared_context_sensitivity · 388

SHARED_POOL_SIZE · 603

Shared_static · 388

Short-circuit Evaluation · 638, 640

Signtype · 113

SIMPLE_DOUBLE · 116

SIMPLE_FLOAT · 116

SIMPLE_INTEGER · 114, 115, 117, 118

SIMPLE_SQL_NAME · 772, 773

SIMULA · 225

Single Row Implicit Cursors · 309

Smallint · 112

Smalltalk · 225

SMTP_OUT_SERVER · 475, 476, 477

snippet · 44

soft · 72

Software Development Laboratories · 5

software keystore · 350, 353, 355, 356

Software Security Module · 350

SORT_AREA_SIZE · 608

source code · 40, 71, 72

Sparse · 254

specification · 55, 56, 57, 58, 59, 60, 62, 64, 66

SQL · 1, 5, 6, 7, 8, 9, 11, 40, 43, 49, 72

SQL Query Result Cache · 677

SQL Service · 481, 483

SQL%BULK_EXCEPTIONS · 279

SQL%BULK_ROWCOUNT · 277

SQL%ROWCOUNT · 277

SQL_OBJECT_NAME · 775

SQLCODE · 80, 81, 82, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96

SQLERRM · 81, 82, 85, 86, 88, 90, 92, 95, 96

square bracket · 194

SRE · 188

Standalone Instances · 226

START_COVERAGE · 723

START_PROFILING · 750, 751, 753, 754

static · 235, 236, 244

Static · 388

STATISTICS_LEVEL · 604, 606

Stephen Cole Kleene · 187

STOP_COVERAGE · 723

STOP_PROFILING · 750, 752, 753, 754, 755, 757, 761

Streams Pool · 604, 607

STREAMS_POOL_SIZE · 604

String index type · 254

Strong Parameterized Cursors · 325

Strong Reference Cursors · 328

structured · 523, 524, 525, 534

Submultiset · 286

subprogram · 8, 39, 40, 52, 53, 54, 55, 56, 62, 64, 70, 71, 72

Subtype · 240

Subtypes · 112, 113, 116, 120

Supertype · 240, 244

Supplementary Characters · 107

syntax · 73, 74

SYS_CONTEXT · 362, 363, 372, 373, 397, 399, 400, 401

SYS_REFCURSOR · 331, 332, 339, 340, 342, 346

sysdate · 18, 49

SYSDATE · 132

System · 102, 103

System Global Area · 605, 617, 618

SYSTEM R · 1

SYSTIMESTAMP · 132

T

TABLE function · 256, 259, 260, 261, 262, 269, 270, 276, 278, 289, 290, 291

table key · 350, 352

Tablespace encryption · 352

tablespace key · 350

TAG_STATEMENT · 98

TCP/IP · 423, 431, 432, 436

ternary · 3

TEXT_DECODE · 464, 465

TEXT_ENCODE · 464, 465

THEN · 12, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 37, 38, 48

Tim Bray · 209

Timestamp · 132, 133, 134

Timestamp with Local Time Zone · 133

Timestamp with Time Zone · 133

TO_CURSOR_NUMBER · 305, 340

TO_REFCURSOR · 305, 339

TOO_MANY_ROWS · 88

tracetab.SQL · 744

Transaction Service · 483

Transient · 226, 253

Transient Objects · 226

Transparent Data Encryption · 349, 350, 351, 352, 422

Trim · 299

Triple DES · 358, 361

True · 17, 22

TRUE · 15, 19

trusted procedure · 398, 399, 400

U

UCS-2 Encoding · 108

unary · 3

Unbounded · 254

UNESCAPE · 430

Unicode · 107, 108, 109, 140

universal data sublanguage · 1

University of Utah · 225

UNLIMITED · 98

un-named blocks · 10

un-named exception · 84

unstructured · 523, 524, 525, 527, 529, 537

UPDATE_FULL_REDACTION_VALUES · 363, 367

UPDATEXML · 222

URowID · 127

User · 62, 64, 69

user defined exceptions · 89, 90

user defined name · 85, 94

USER_ARGUMENTS · 704, 711, 712

USER_CONS_COLUMNS · 70

USER_DEPENDENCIES · 705

USER_ERRORS · 707, 709, 741

USER_IDENTIFIERS · 707, 710

USER_OBJECT_SIZE · 702

USER_OBJECTS · 701, 702, 719, 720

USER_PLSQL_OBJECT_SETTINGS · 613, 614, 622, 623, 705, 706

USER_PROCEDURES · 703

USER_SOURCE · 703

USER_STORED_SETTINGS · 705, 706

USERENV · 372, 373, 397

UTF-16 Encoding · 108

UTF8 · 109

UTF-8 Encoding · 108

UTFE · 109

UTL_CALL_STACK · 699, 714, 715, 716, 717, 718, 742

UTL_COLL · 423, 424

UTL_ENCODE · 423, 461, 462, 463, 464, 465, 466, 467

UTL_FILE · 423, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 461, 478

UTL_FILE_DIR · 449

UTL_HTTP · 423, 429, 430, 437, 438, 439, 440, 441, 442, 443, 445, 446, 447, 448, 449

UTL_I18N · 411, 412, 413, 414

UTL_INADDR · 423, 425, 426

UTL_LMS · 423, 426, 427, 428, 429

UTL_MAIL · 8, 423, 474, 475, 476, 477, 478, 479

UTL_SMTP · 8, 423, 467, 469, 470, 471, 472, 473, 474, 475, 476

UTL_TCP · 423, 431, 432, 433, 434, 435, 436, 467, 475, 476

UTL_URL · 423, 429, 430

UUDECODE · 466

UUENCODE · 466

V

V$ENCRYPTION_WALLET · 354, 356, 357, 362

V$MYSTAT · 646

V$PARAMETER · 671

V$RESULT_CACHE_DEPENDENCY · 686

V$RESULT_CACHE_MEMORY · 686

V$RESULT_CACHE_OBJECTS · 676, 677, 678, 682, 685, 688, 692

V$RESULT_CACHE_STATISTICS · 685, 686

V$SGA_TARGET_ADVICE · 607

V$STATNAME · 646

V6 · 167

V7 · 168

validate · 301

VALUE_ERROR · 28

Varchar2 · 7, 49, 60, 65, 67, 68, 123, 124, 125, 126, 127, 128, 129, 130, 131

VARIABLE_VALUE · 175, 177

Variable-Length Character Datatypes · 371

VARRAY · 253, 254, 255, 269, 271, 272, 273, 274, 275, 276, 277, 278, 284, 285, 292, 293, 294, 295, 296, 297

VARYING ARRAY · 271, 272

versatile · 8

virtual column · 7

VRFY · 471

W

W3C · 210, 215

warning code · 103

warnings · 73, 101, 102, 103, 104, 105, 106

Weak Parameterized Cursors · 324

Weak Reference Cursors · 330

WHEN · 12, 13, 19, 20, 21, 22, 23, 25, 33, 35, 36, 48

WHERE CURRENT OF · 317, 318, 320, 321

WHILE · 15, 22, 30, 31, 32

WORKAREA_SIZE_POLICY · 608, 609

World Wide Web Consortium · 210

Write Gather Cache · 526

WRITE_DATA · 473, 474, 475

WRITE_LINE · 436, 437

WRITE_RAW · 436, 473, 474

WRITE_RAW_DATA · 473, 474

WRITE_TEXT · 436

X

Xerox PARC · 225

XML · 187, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224

XMLAGG · 213, 214

XMLATTRIBUTES · 212, 213

XMLCAST · 216

XMLCOMMENT · 215

XMLCONCAT · 214, 215

XMLELEMENT · 212, 214

XMLFOREST · 213

XMLSEQUENCE · 216, 217

XMLTABLE · 219, 220

XMLTYPE · 209, 210, 211, 215, 217, 220

XPath · 210, 218, 221, 222, 223

Z

ZERO_DIVIDE · 87, 92


 

 

 

Reader Comments:

Errata:

 

   

 Copyright © 1996 -2017 by Burleson. All rights reserved.


Oracle® is the registered trademark of Oracle Corporation. SQL Server® is the registered trademark of Microsoft Corporation. 
Many of the designations used by computer vendors to distinguish their products are claimed as Trademarks