Index
A  B  C  D  E  F  G  H  I  J  L  M  N  O  P  R  S  T  U  V  W  X  
A
- accessing external LOBs, 12-4
- ALTER TABLE 
- migrating from LONG to LOB, 8-3
 
- amount, 12-109
- amount parameter 
- reading and loading LOB data, the size of (FAQ), 6-3
- used with BFILEs, 12-47
 
- ANSI standard for LOBs, 11-8
- AppendChunk(), see OraOLEDB, 13-3
- appending 
- one LOB to another 
- internal persistent LOBs, 10-193
 
- one temporary LOB to another, 11-150
- writing to the end of a LOB 
- internal persistent LOBs, 10-203
 
 
- assigning 
- one collection to another collection in temporary LOBs, 11-9
- one temporary LOB to another, 11-8
 
B
- BFILE class, See JDBC
- BFILE-buffering, See JDBC
- BFILENAME(), 12-22, 12-194 
- advantages of using, 12-6
 
- BFILEs 
- accessing, 12-4
- converting to CLOB or NCLOB, 12-47
- creating an object in object cache, 5-17
- datatype, 2-2, 2-3
- DBMS_LOB read-only procedures, 3-10
- DBMS_LOB, offset and amount parameters in bytes, 3-7
- equal locators, check for, 12-177
- hard links and symbolic links not allowed, 4-1
- initializing using BFILENAME(), 2-6
- locators, 2-5
- maximum number of open, 4-2, 12-154
- multi-threaded server (MTS), 4-18, 12-10
- OCI functions to read/examine values, 3-15, 3-27
- OCI read-only functions, 3-15, 3-27
- opening and closing using JDBC, 3-56
- operating system files, and, 4-1
- Oracle Objects for OLE (OO4O) 
- opening/closing methods, 3-42
- properties, 3-44
- read-only methods, 3-43
 
- Pro*C/C++ precompiler statements, 3-31
- Pro*COBOL precompiler embedded SQL statements, 3-35
- reading with DBMS_LOB, 3-9
- reference semantics, 2-3
- rules for using, 4-1
- security, 12-7
- storage devices, 2-2
- streaming APIs, 3-63
- using JDBC to read/examine, 3-50
- using Pro*C/C++ precompiler to open and close, 3-32
 
- binding data to internal LOBs, restriction removal, xlix
- binding LONG columns or LOB columns, but not both, xlix
- binds 
- HEX to RAW or RAW to HEX conversion, 7-15
- updating more than 4,000 bytes 
- internal persistent LOBs, 10-272
 
- See also INSERT statements and UPDATE statements
 
- BLOB-buffering, See JDBC
- BLOBs 
- class, See JDBC
- datatype, 2-2
- DBMS_LOB, offset and amount parameters in bytes, 3-7
- modify using DBMS_LOB, 3-8
- using JDBC to modify, 3-48
- using JDBC to read/examine BLOB values, 3-48
- using oracle.sql.BLOB methods to modify, 3-48
 
- buffering 
- disable 
- internal persistent LOBs, 10-263
 
- enable 
- internal persistent LOBs, 10-251
 
- flush 
- internal persistent LOBs, 10-257
 
- LOB buffering subsystem, 5-21
 
C
- C++, See Pro*C/C++ precompiler
- C, See OCI
- CACHE / NOCACHE, 7-8
- caches 
- object cache, 5-17
 
- callback, 10-72, 10-84, 10-110, 10-204, 11-169
- catalog views 
- v$temporary_lobs, 11-10
 
- CHAR buffer, defining on CLOB, 7-40
- CHAR to CLOB 
- SQL and PL/SQL conversion, 7-35
 
- character data 
- varying width, 2-4
 
- character set form 
- getting 
- internal persistent LOBs, 10-189
 
 
- character set ID 
- getting the 
- internal persistent LOBs, 10-185
 
- temporary LOB of, getting the, 11-144
- See CSID parameter
 
- charactersets 
- multibyte, LONGs and LOBs, 8-5
 
- checking in a LOB 
- internal persistent LOBs, 10-83
 
- checking out a LOB 
- internal persistent LOBs, 10-71
 
- CHUNK, 7-10
- chunks 
- when to use, 6-26
 
- chunksize, 10-213 
- multiple of, to improve performance, 10-111
 
- classes 
- putChars(), 6-10
 
- CLOB class, See JDBC
- CLOB-buffering, See JDBC
- CLOBs 
- columns 
- varying- width character data, 2-4
 
- datatype, 2-2 
- varying-width columns, 2-4
 
- DBMS_LOB, offset and amount parameters in characters, 3-7
- modify using DBMS_LOB, 3-8
- opening and closing using JDBC, 3-54
- reading/examining with JDBC, 3-49
- using JDBC to modify, 3-49
 
- Clone method, See Oracle Objects for OLE (OO4O)
- closing 
- all open BFILEs, 12-222
- BFILEs with CLOSE, 12-214
- BFILEs with FILECLOSE, 12-208
 
- clustered tables, 8-10
- COBOL, See Pro*COBOL precompiler
- comparing 
- all or part of two LOBs 
- internal persistent LOBs, 10-128
 
- all or part of two temporary LOBs, 11-92
- all or parts of two BFILEs, 12-127
 
- compatibility, 1-8
- conventional path load, 9-3
- conversion 
- explicit functions for PL/SQL, 7-47
 
- conversions 
- character set, 12-47
- from binary data to character set, 12-47
- implicit, between CLOB and VARCHAR2, 7-45
- See also binds HEX to RAW
 
- conversions, implicit between CLOBs and CHAR, 7-36
- converting 
- between different LOB types, 6-24
- to CLOB, 7-47
 
- converting to LOB data types, 6-2
- copy semantics, 2-3 
- internal LOBs, 10-21
 
- copying 
- all or part of a LOB to another LOB 
- internal persistent LOBs, 10-153
 
- all or part of one temporary LOB to another, 11-115
- for BFILEs there is no copy function, 12-196
- LOB locator 
- internal persistent LOBs, 10-164
 
- LOB locator for BFILE, 12-164
- LONG to LOB (FAQ), 6-2
- temporary LOB locator, 11-125
- TO_LOB limitations, 10-66
 
- crashing 
- Is LOB data lost after (FAQ), 6-5
 
- creating a temporary LOB, 11-13
- creating tables 
- containing an object type with LOB attribute 
- internal Persistent LOBs, 10-10
 
- containing one or more LOB columns 
- internal persistent LOBs, 10-5
 
- containing one ore more BFILE columns, 12-13
- nested, containing LOB 
- internal persistent LOBs, 10-13
 
- of an object type with BFILE attribute, 12-17
- with a nested table containing a BFILE, 12-20
 
- creating VARRAYs 
- containing references to LOBs, 5-28
 
- CSID parameter 
- setting OCILobRead and OCILobWrite to OCI_UCS2ID, 3-11
 
D
- datatypes 
- converting to LOBs FAQ, 6-2
 
- DBMS_LOB 
- ERASE, 6-10
- substr compared with read, 6-26
- updating LOB with bind variable, 5-10
- WRITE() 
- passing hexadecimal string to, 10-214
 
 
- DBMS_LOB functions on a NULL LOB restriction, 2-9
- DBMS_LOB package 
- available LOB procedures/functions, 3-3, 3-4
- client procedures cannot call DBMS_LOB, 3-7
- CREATETEMPORARY(), 11-15
- .createTemporary() as JDBC workaround, 11-11
- for temporary LOBs, 3-9
- functions/procedures to modify BLOB, CLOB, and NCLOB, 3-8
- functions/procedures to read/examine internal and external LOBs, 3-9
- isTemporary() as JDBC workaround, 11-11
- LOADFROMFILE(), 12-47
- multi-threaded server (MTS), 4-18, 12-10
- offset and amount parameter rules, 3-7
- open and close, JDBC replacements for, 3-52
- opening/closing internal and external LOBs, 3-10
- provide LOB locator before invoking, 3-6
- read-only functions/procedures for BFILEs, 3-10
- to work with LOBs, using, 3-6
- WRITE() 
- guidelines, 10-214
- guidelines for temporary LOBs, 11-169
- passing hexadecimal string to, 11-169
 
 
- DBMS_LOB() 
- READ, 10-110
 
- DBMS_LOB.createtemporary(), 11-5
- DBMS_LOB.isTemporary(), previous workaround for JDBC, 11-29
- DBMS_LOB.LOADFROMFILE, 2-4
- DBMS_LOB.READ, 12-109
- DELETE 
- BLOB columns versus BFILE columns, and LOB indexing, 6-16
 
- deleting 
- row containing LOB 
- internal persistent LOBs, 10-286
 
 
- directories 
- catalog views, 12-9
- guidelines for usage, 12-9
- ownership and privileges, 12-7
 
- DIRECTORY name specification, 12-7
- DIRECTORY object, 12-4 
- catalog views, 12-9
- getting the alias and filename, 12-184
- guidelines for usage, 12-9
- names on Windows NT, 12-7
- naming convention, 12-7
- OS file must exist before locator use, and, 12-23
- READ permission on object not individual files, 12-8
- rules for using, 4-1
- symbolic links, 4-1
- symbolic links, and, 4-1
 
- directory objects, 12-4
- directory_alias parameter, 12-24
- direct-path load, 9-3
- disable buffering, See LOB buffering
- DISABLE STORAGE IN ROW, 6-21 
- when to use, 6-19
 
- disk striping of LOB files, B-3
- displaying 
- LOB data for internal persistent LOBs, 10-98
- temporary LOB data, 11-64
 
E
- embedded SQL statements, See Pro*C/C++ precompiler and Pro*COBOL precompiler
- empty LOBs 
- creating using JDBC, 3-68
- JDBC, 3-68
 
- EMPTY_BLOB() 
- setdata using JPublisher (FAQ), 6-8
 
- EMPTY_BLOB()/EMPTY_CLOB() 
- when to use (FAQ), 6-6
 
- EMPTY_CLOB() 
- LOB locator storage, 6-20
 
- EMPTY_CLOB()/BLOB() 
- to initialize a BFILE, 2-6
- to initialize internal LOB
 
- equal 
- one LOB locator to another 
- internal persistent LOBs, 10-173
 
- one temporary LOB locator, to another, 11-135
 
- equal locators 
- checking if one BFILE LOB locator equals another, 12-177
 
- erasing 
- part of LOB 
- internal persistent LOBs, 10-241
 
- part of temporary LOBs, 11-188
 
- errors 
- ORA-03127, 6-11
 
- examples 
- repercussions of mixing SQL DML with DBMS_LOB, 5-6
- updated LOB locators, 5-8
- updating a LOB with a PL/SQL variable, 5-10
 
- existence 
- check for BFILE, 12-145
 
- extensible indexes, 7-32
- external callout, 5-23
- external LOBs (BFILEs) 
- See BFILEs
 
- external LOBs (BFILEs), See BFILEs
F
- FILECLOSEALL(), 12-10, 12-64, 12-79
- flushing 
- LOB buffer, 5-22
 
- flushing buffer, 5-18 
- temporary LOB, 11-204
 
- FOR UPDATE clause 
- LOB locator, 5-2
- LOBs, 2-7
 
- freeing 
- temporary LOBs, 11-31
 
- FREETEMPORARY(), 11-31
- freeTemporary() as JDBC workaround, 11-11
- functional indexes, 7-32
- function-based indexing, 1-7
G
- GetChunk(), see OraOLEDB, 13-3
H
- hard links, rules with BFILEs, 4-1
- hexadecimal string 
- passing to DBMS_LOB.WRITE(), 10-214, 11-169
 
I
- implicit conversions, 7-36
- Improved LOB Usability, Accessing LOBs Using SQL "Character" Functions, 7-33
- index organized tables, 10-66
- indexes 
- function-based, 1-7
- rebuilding after LONG-to-LOB migration, 8-9
 
- indexes, restrictions, 8-11
- index-organized tables 
- inline storage for LOBs and (FAQ), 6-5
 
- initialized 
- checking if BFILE LOB locator is, 12-172
 
- initializing 
- BFILE column or locator variable using BFILENAME(), 12-24
- BLOB attribute using EMPTY_BLOB() FAQ, 6-7
- BLOB attribute with EMPTY_BLOB() in Java (FAQ), 6-7
- during CREATE TABLE or INSERT, 10-17
- external LOBs, 2-6
- internal LOBs, See LOBs 
- internal LOBs
 
- using EMPTY_CLOB(), EMPTY_BLOB()
 
- inline 
- when to use, 6-27
 
- INSERT statements 
- binds of greater than 4000 bytes, 7-14
 
- inserting 
- a row by initializing a LOB locator 
- internal persistent LOBs, 10-23
 
- a row by initializing BFILE locator, 12-33
- a row by selecting a LOB from another table 
- internal persistent LOBs, 10-20
 
- a row containing a BFILE by selecting BFILE from another table, 12-31
- a row using BFILENAME(), 12-22
- any length data (FAQ), 6-2
- binds of more than 4,000 bytes, 10-17, 10-21, 10-23
- LOB value using EMPTY_CLOB()/EMPTY_BLOB() 
- internal persistent LOBs, 10-16
 
- row with empty LOB using JDBS (FAQ), 6-7
 
- interfaces for LOBs, see programmatic environments
J
- Java, See JDBC
- JDBC 
- available LOB methods/properties, 3-4
- BFILE class
- BFILE streaming APIs, 3-63
- BFILE-buffering, 3-51
- BLOB and CLOB classes
- calling DBMS_LOB package, 3-46
- changing internal LOBs with Java using objects oracle.sql.BLOB/CLOB, 3-45
- checking if BLOB is temporary, 11-28
- checking if CLOB is temporary, 11-29
- CLOB streaming APIs, 3-62
- creating a temporary BLOB, 11-20
- creating a temporary CLOB, 11-21
- driver to load LOBs, improving performance, 6-13
- empty LOBs, 3-68
- encapsulating locators
- freeing a temporary BLOB, 11-36
- freeing a temporary CLOB, 11-37
- inserting a row with empty LOB locator into table, 6-7
- methods/properties for BLOB-buffering, 3-49
- methods/properties for CLOB-buffering, 3-50
- modifying BLOB values, 3-48
- modifying CLOB values, 3-49
- newStreamLob.java, 3-64
- now binds and defines VARCHAR2 variables, 7-50
- opening and closing BFILEs, 3-56
- opening and closing CLOBs, 3-54
- opening and closing LOBs, 3-52
- OracleBlob, OracleClob do not work in 8.1.x, 3-51
- reading internal LOBs and external LOBs (BFILEs) with Java, 3-45
- reading/examining BLOB values, 3-48
- reading/examining CLOB values, 3-49
- reading/examining external LOB (BFILE) values, 3-50
- referencing LOBs, 3-46
- streaming APIs for LOBs, 3-61
- syntax references, 3-46
- temporary LOB workarounds not needed, 11-11
- trimming LOBs, 3-60
- using OracleResultSet to reference LOBs, 3-46
- using OUT parameter from OraclePreparedStatement to reference LOBs, 3-46
- writing to empty LOBs, 3-69
 
- JDBC and Empty LOBs, 3-68
- JPublisher 
- building an empty LOB in, 6-8
 
L
- LBS, See Lob Buffering Subsystem (LBS)
- length 
- an internal persistent LOB, 10-144
- getting BFILE, 12-154
- temporary LOB, 11-106
 
- loading 
- 1Mb into CLOB column, FAQ, 6-13
- a LOB with BFILE data, 12-46
- external LOB (BFILE) data into table, 12-42
- LOB with data from a BFILE, 10-32
- temporary BLOB with binary data from BFILE, 11-48
- temporary CLOB or NCLOB with character data from BFILE, 11-52
- temporary LOB with data from BFILE, 11-39
 
- loading XML documents, 9-2
- LOB, 5-12
- LOB buffering 
- BLOB-buffering with JDBC, 3-49
- buffer-enabled locators, 5-24
- disable for temporary LOBs, 11-211
- example, 5-21
- flushing for temporary LOBs, 11-204
- flushing the buffer, 5-22
- flushing the updated LOB through LBS, 5-23
- guidelines, 5-19
- OCI example, 5-25
- OCI functions, 3-16
- OCILobFlushBuffer(), 5-23
- Oracle Objects for OLE (OO4O) 
- methods for internal LOBs, 3-43
 
- physical structure of buffer, 5-21
- Pro*C/C++ precompiler statements, 3-32
- Pro*COBOL precompiler statements, 3-36
- temporary LOBs 
- CACHE, NOCACHE, CACHE READS, 11-6
 
- usage notes, 5-21
 
- LOB Buffering SubSystem (LBS)
- LOB Buffering Subsystem (LBS) 
- advantages, 5-18
- buffer-enabled locators, 5-23
- buffering example using OCI, 5-25
- example, 5-21
- flushing 
- updated LOB, 5-23
 
- flushing the buffer, 5-22
- guidelines, 5-18
- saving the state of locator to avoid reselect, 5-25
- usage, 5-21
 
- LOB locator 
- copy semantics, 2-3
- external LOBs (BFILEs), 2-3
- internal LOBs, 2-3
- reference semantics, 2-3
 
- LOB-Based Web site, building, 14-13
- LOBFILE, syntax, 9-2
- LOBs, 5-17 
- accessing through a locator, 2-7
- attributes and object cache, 5-17
- buffering 
- caveats, 5-18
- pages can be aged out, 5-23
 
- buffering subsystem, 5-18
- buffering usage notes, 5-21
- CACHE READS setting, 4-19
- compatibility, 1-8
- datatypes versus LONG, 1-4
- external (BFILEs), 2-2
- flushing, 5-18
- in partitioned tables, 7-26
- in the object cache, 5-17
- index metadata through system views, 6-17
- inline storage, 2-5
- interfaces, See programmatic environments
- interMEDIA, 1-4
- internal 
- creating an object in object cache, 5-17
 
- internal LOBs 
- CACHE / NOCACHE, 7-8
- CHUNK, 7-10
- copy semantics, 2-3
- ENABLE | DISABLE STORAGE IN ROW, 7-11
- initializing, 12-108
- locators, 2-5
- locking before updating, 10-154, 10-194, 10-204, 10-213, 10-230, 10-242
- LOGGING / NOLOGGING, 7-9
- Oracle Objects for OLE (OO4O), modifying methods, 3-41
- PCTVERSION, 7-7
- setting to empty, 2-9
- tablespace and LOB index, 7-7
- tablespace and storage characteristics, 7-5
- transactions, 2-2
 
- locators, 2-5, 5-2 
- cannot span transactions, 7-14
 
- migration issues, 1-8
- multimedia uses, B-2
- object cache, 5-17
- performing SELECT on, 2-7
- piecewise operations, 5-6
- read consistent locators, 5-2
- reason for using, 1-2
- setting to contain a locator, 2-6
- setting to NULL, 2-9
- tables 
- adding partitions, 7-31
- creating, 7-28
- creating indexes, 7-30
- exchanging partitions, 7-30
- merging partitions, 7-31
- moving partitions, 7-31
- partitioning, 7-28
- splitting partitions, 7-31
 
- unstructured data, 1-2
- updated LOB locators, 5-5
- value, 2-5
- varying-width character data, 7-3
 
- locators, 2-5 
- accessing a LOB through, 2-7
- BFILEs, 12-11 
- guidelines, 12-11
- two rows can refer to the same file, 12-11
 
- buffer-enabled, 5-24
- cannot span transactions, 7-14
- copying temporary LOB, 11-125
- external LOBs (BFILEs), 2-5
- initializing LOB or BFILE to contain, 2-6
- LOB, cannot span transactions, 5-12
- multiple, 5-2
- OCI functions, 3-16, 3-27
- Pro*COBOL precompiler statements, 3-35
- providing in Pro*COBOL precompiler, 3-33
- read consistent, 5-2, 5-10, 5-12, 5-23, 5-25, 5-26, 5-28
- read consistent locators, 5-2
- read consistent, updating, 5-2
- reading and writing to a LOB using, 5-15
- saving the state to avoid reselect, 5-25
- see if LOB locator is initialized 
- internal persistent LOBs, 10-180
 
- selecting, 2-7
- selecting within a transaction, 5-16
- selecting without current transaction, 5-15
- setting column or attribute to contain, 2-6
- temporary, SELECT permanent LOB INTO, 11-7
- transaction boundaries, 5-14
- updated, 5-5, 5-10, 5-22
- updating, 5-12
 
- LOGGING 
- migrating LONG-to-LOBs, 8-10
 
- LOGGING / NOLOGGING, 7-9
- LONG API 
- See LONG-to-LOB, 8-2
 
- LONG versus LOB datatypes, 1-4
- LONG-to-LOB Migration, 8-2
- LONG-to-LOB migration 
- ALTER TABLE, 8-6
- changes needed, 8-22
- clustered tables, 8-10
- examples, 8-24
- index organized tables, 10-66
- LOGGING, 8-10
- multibyte charactersets, 8-5
- NULLs, 8-11
- OCI, 8-3, 8-12
- parameter passing, 8-6
- performance, 8-42
- PL/SQL, 8-5
- rebuilding indexes, 8-9
- replication, 8-10
- space requirements, 8-9
- triggers, 8-10
- utldtree.sql use for PL/SQL, 8-23
 
- lONG-to-LOB migration 
- PL/SQL, 8-16
 
M
- migrating 
- LONG to LOBs, 6-23
- LONG to LOBs, see LONG-to-LOB, 8-2
- LONG-to-LOB using ALTER TABLE, 8-6
- LONG-to-LOBs, constraints maintained, 8-8
- LONG-to-LOBs, indexing, 8-9
 
- migration, 1-8
- multi-threaded server (MTS) 
- BFILEs, 4-18, 12-10
 
N
- national language support 
- NCLOBs, 2-2
 
- NCLOB parameters allowed as attributes, xlvi
- NCLOBs 
- datatype, 2-2
- DBMS_LOB, offset and amount parameters in characters, 3-7
- modify using DBMS_LOB, 3-8
 
- NewStreamLob.java, 3-64
- NOCOPY restrictions, 11-10
- NOCOPY, using to pass temporary LOB parameters by reference, 9-7
- non-NULL 
- before writing to LOB column make it 
- internal persistent LOBs, 10-273
 
 
- IS, 7-43
- VARCHAR2 
- and CLOBs, IS, 7-43
 
- NULL, 7-43
- null 
- versus zero length, in SQL92 standard, 7-43
 
- NULL in, 7-43
- NULL LOB, restrictions calling OCI and DBMS_LOB functions, 2-9
O
- object cache, 5-17 
- creating an object in, 5-17
- LOBs, 5-17
 
- OCCI 
- compared to other interfaces, 3-3
- LOB functionality, 3-22
 
- OCCIBfile, 3-27
- OCCIBlob 
- copy, amount parameter must be less than length of BFILE, 3-25
- read, 3-24
- write, 3-25
 
- OCCIBlob class, 3-23
- OCCIClob 
- copy, amount parameter must be less than length of BFILE, 3-25
- read, 3-24
- read, amount parameter, 3-25
- write, 3-25
 
- OCCIClob class, 3-23
- OCI 
- available LOB functions, 3-3
- functions for BFILEs, 3-15, 3-27
- functions for temporary LOBs, 3-15, 3-27
- functions to modify internal LOB values, 3-14, 3-26
- functions to open/close internal and external LOBs, 3-16, 3-28
- functions to read or examine internal and external LOB values, 3-15, 3-27
- LOB buffering example, 5-25
- LOB locator functions, 3-16, 3-27
- Lob-buffering functions, 3-16
- locators, 2-8
- NCLOB parameters, 3-13, 3-25
- now binds and defines VARCHAR2 variables with LOBs, 7-50
- OCILobFileGetLength 
- CLOB and NCLOB input and output length, 3-12
 
- OCILobRead 
- varying-width CLOB and NCLOB input and amount amounts, 3-12
 
- OCILobWrite 
- varying-width CLOB and NCLOB input and amount amounts, 3-12, 3-25
 
- offset and amount parameter rules 
- fixed-width character sets, 3-11, 3-24
 
- seeIfLOBOpen and how to use main(), 3-17
- setting OCILobRead, OCILobWrite to OCI_UCS2ID, 3-11
- temporary LOBs, 11-9
- temporary lobs can be grouped into logical buckets, 11-6
- using in LONG-to-LOB migration, 8-12
- using to work LOBs, 3-10
 
- OCI functions on a NULL LOB restriction, 2-9
- OCIBindByName(), 7-14
- OCIBindByPos(), 7-14
- OCIDuration(), 11-6
- OCIDurationEnd(), 11-6, 11-9, 11-31
- OCILobAssign(), 5-20, 11-8
- OCILobFileSetName(), 12-6, 12-11
- OCILobFlushBuffer(), 5-23
- OCILOBFreeTemporary(), 11-31
- OCILobGetLength(), 12-109
- OCILobLoadFromFile(), 12-48
- OCILobRead 
- BFILEs, 12-109
 
- OCILobRead(), 10-99, 10-110, 11-75, 12-109 
- amount, 6-5
- to read large amounts of LOB data, 10-72
 
- OCILobWrite(), 11-169 
- to write large amounts of LOB data, 10-84
 
- OCILobWriteAppend(), 10-204
- OCIObjectFlush(), 12-11
- OCIObjectNew(), 12-11
- OCISetAttr(), 12-12
- OLEDB, 3-70, 13-2
- OO4O, See Oracle Objects for OLE (OO4O)
- open 
- checking for open BFILEs, 12-78
- checking for open BFILEs with FILEISOPEN(), 12-80
- checking if BFILE is open with ISOPEN, 12-86
- checking if temporary LOB is, 11-57
- seeing if a LOB is open, 10-53
 
- opening 
- BFILEs, 12-63
- BFILEs using FILEOPEN, 12-65
- BFILEs with OPEN, 12-70
 
- opening and closing LOBs 
- using JDBC, 3-52
 
- ora_21560 
- DBMS_LOB.write() to temporary LOB, 11-170
 
- ORA-17098 
- empty LOBs and JDBC, 3-69
 
- OraBfile, See Oracle Objects for OLE (OO4O)
- OraBlob, See Oracle Objects for OLE (OO4O)
- Oracle Call Interface, See OCI
- Oracle Objects for OLE (OO4O) 
- available LOB methods/properties, 3-4
- internal LOB buffering, 3-43
- methods and properties to access data stored in BLOBs, CLOBs, NCLOBs, and BFILEs, 3-39
- modifying internal LOBs, 3-41
- opening/closing external LOBs (BFILEs), 3-42
- OraBfile example
- OraBlob example
- OraBlob, OraClob, and OraBfile encapsulate locators, 3-38
- properties for operating on external LOBs (BFILEs), 3-44
- properties for operating on LOBs, 3-43
- reading/examining internal LOB and external LOB (BFile) values, 3-42
- read-only methods for external LOBs (BFILEs), 3-43
- syntax reference, 3-37
- using Clone method to retain locator independent of dynaset, 3-38
 
- Oracle Provider for OLEDB, see OraOLEDB, 13-2
- OraclePreparedStatement, See JDBC
- OracleResultSet, See JDBC
- oracle.sql.BFILE 
- BFILE-buffering, 3-51
- JDBC methods to read/examine BFILEs, 3-50
 
- oracle.sql.BLOB 
- for modifying BLOB values, 3-48
- reading/examining BLOB values, 3-48
- See JDBC
 
- oracle.sql.BLOBs 
- BLOB-buffering
 
- oracle.sql.CLOB 
- CLOB-buffering
- JDBC methods to read/examine CLOB values, 3-49
- modifying CLOB values, 3-49
 
- oracle.sql.CLOBs 
- See JDBC
 
- ORaOLEDB 
- AppendChunk(), 13-3
 
- OraOLEDB, 3-70, 13-1, 13-2 
- GetChunk(), 13-3
 
P
- partitioned index-organized tables 
- for LOBs, 5-29
- restrictions for LOBs, 5-31
 
- pattern 
- check if it exists in BFILE using instr, 12-137
- see if it exists IN LOB using (instr) 
- internal persistent LOBs, 10-137
 
- temporary LOBs 
- checking if it exists, 11-99
 
 
- PCTVERSION, 7-7
- performance 
- assigning multiple locators to same temporary LOB, impacts, 11-8
- chunks versus reading, 6-26
- creating temporary LOBs in called routine (FAQ), 6-27
- disk striping of LOBs, B-3
- guidelines 
- frequently asked questions (FAQ), 6-26
- reading/writing large data chunks, 9-5
- reading/writing large data chunks, temporary LOBs, 9-8
 
- improving BLOB and CLOB, when loading with JDBC driver, 6-13
- improving loading, when using Veritas, 6-24
- inlining and when its a good idea to use (FAQ), 6-27
- LONG-to-LOB migration, 8-42
- OCI and temporary LOBs, 11-9
- when using SQL semantics with LOBs, 7-43
 
- PIOT, 5-29
- PL/SQL, 3-2 
- and LOBs, semantics changes, 7-45
- assigning one LOB to another, 11-127
- changing locator-data linkage, 7-48
- CLOB variables in, 7-48
- CLOB variables in PL/SQL, 7-48
- CLOB versus VARCHAR2 comparison, 7-50
- CLOBs passed in like VARCHAR2s, 7-47
- defining a CLOB Variable on a VARCHAR, 7-46
- freeing temporary LOBs automatically and manually, 7-49
- inserting Word document into a BLOB, 14-5
- OCI and Java LOB interactions, 7-50
- performance when reassigning locators in temporary LOBs, 11-10
- using in LONG-to-LOB migration, 8-16
 
- polling, 10-72, 10-84, 10-110, 10-204, 11-169
- populating your data repository, 14-4
- Pro*C/C++ precompiler 
- available LOB functions, 3-3
- LOB buffering, 3-32
- locators, 3-31
- modifying internal LOB values, 3-30
- opening and closing internal LOBs and external LOBs (BFILEs), 3-32
- providing an allocated input locator pointer, 3-29
- reading or examining internal and external LOB values, 3-30
- statements for BFILEs, 3-31
- statements for temporary LOBs, 3-31
 
- Pro*COBOL precompiler 
- available LOB functions, 3-3
- LOB buffering, 3-36
- locators, 3-35
- modifying internal LOB values, 3-34
- providing an allocated input locator, 3-33
- reading or examining internal and external LOBs, 3-35
- statements for BFILEs, 3-35
- temporary LOBs, 3-35
 
- programmatic environments 
- available functions, 3-3
- compared, 3-3
 
- programmatic environments for LOBs, 3-2
- putChars(), 6-10
R
- read consistency 
- LOBs, 5-2
 
- read consistent locators, 5-2, 5-10, 5-12, 5-23, 5-25, 5-26, 5-28
- reading 
- BFILES 
- specify 4 Gb-1 regardless of LOB, 12-109
 
- data form a temporary LOB, 11-74
- data from a LOB 
- internal persistent LOBs, 10-109
 
- large amounts of LOB data using streaming, 10-72
- large data chunks, performance guidelines, 9-5
- large data chunks, temporary LOBs, 9-8
- portion of BFILE data using substr, 12-119
- portion of LOB using substr 
- internal persistent LOBs, 10-120
 
- portion of temporary LOB, 11-85
- small amounts of data, enable buffering, 10-252
 
- Recordsets, ADO, 13-3
- redo space 
- during LONG-to-LOB migration, prevent generation, 9-10
 
- reference semantics, 2-3, 10-21 
- BFILEs enables multiple BFILE columns for each record, 12-6
 
- replication, 8-10
- restrictions 
- binding of data, removed for INSERTS and UPDATES, xlix
- binds of more than 4000 bytes, 7-16
- cannot call OCI or DBMS_LOB functions on a NULL LOB, 2-9
- clustered tables, 8-10
- indexes, 8-11
- on LOBs, 4-16
- partitioned index-organized tables and LOBs, 5-31
- removed, xlvi
- replication, 8-10
- triggers, 8-10
 
- retrieving data, 14-10
- round-trips to the server, avoiding, 5-18, 5-25
- Rowset, OLEDB, 13-2
- rules for using directory objects and BFILEs, 4-1
S
- searching for data, 14-6
- security 
- BFILEs, 12-7
- BFILEs using SQL DDL, 12-8
- BFILEs using SQL DML, 12-9
 
- segment 
- LOB restriction, must be at least 3 blocks, 4-18
 
- SELECT statement 
- FOR UPDATE, 2-7
- read consistency, 5-2
 
- selecting a permanent LOB INTO a temporary LOB locator, 11-7
- semantics 
- copy-based for internal LOBs, 10-21
- pseudo-reference, 11-8
- reference based for BFILEs, 12-6
- value, 11-8
 
- SESSION_MAX_OPEN_FILES parameter, 4-2, 12-64, 12-78
- setData 
- setting to EMPTY_BLOB() using JPublisher, 6-8
 
- setting 
- internal LOBs to empty, 2-9
- LOBs to NULL, 2-9
- overrides for NLS_LANG variable
 
- space requirements, LONG-to-LOB migration, 8-9
- spatial cartridge and user-defined aggregates, 7-53
- SQL 
- "Character" Functions, improved, 7-33
- features where LOBs cannot be used, 7-39
- functions and operators, returning CLOB values from, 7-41
- RAW type and BLOBs, 7-43
- where LOBs cannot be used, 7-39
 
- SQL DDL 
- BFILE security, 12-8
 
- SQL DML 
- BFILE security, 12-9
 
- SQL Loader 
- loading InLine LOB data, 4-8
- performance for internal LOBs, 4-7
 
- SQL semantics on LOBs 
- non-supported functionality, 7-35
 
- SQL*Loader 
- conventional path load, 9-3
- direct-path load, 9-3
- LOBFILE, 9-2
 
- storing 
- CLOBs Inline, 6-21
- greater than 4GB LOBs in database (FAQ), 6-27
- LOB storage clause, when to use with varrays, 6-21
 
- storing images in a BFILE versus BLOB, 6-18
- stream 
- reading 
- temporary LOBs, 11-75
 
- writing, 11-169
 
- streaming, 10-84, 10-99 
- do not enable buffering, when using, 10-252
- write, 10-213
 
- streaming APIs 
- NewStreamLob.java, 3-64
- using JDBC and BFILEs, 3-63
- using JDBC and CLOBs, 3-62
- using JDBC and LOBs, 3-61
 
- symbolic links, rules with DIRECTORY objects and BFILEs, 4-1
- system owned object, See DIRECTORY object
T
- tablespace 
- LOB index in same, FAQ, 6-16
- specified with ENABLE STORAGE IN ROW, FAQ, 6-17
- temporary, 11-6
- temporary LOB data stored in temporary, 11-5
 
- temporary BLOB 
- checking if temporary using JDBC, 11-28
- freeing, using JDBC, 11-36
- using JDBC to create, 11-20
 
- temporary CLOB 
- checking if temporary using JDBC, 11-29
- freeing using JDBC, 11-37
- using JDBC to create, 11-21
 
- temporary LOBs 
- character set ID, 11-144
- checking if LOB is temporary, 11-23
- data stored in temporary tablespace, 11-5
- DBMS_LOB available functions/procedures, 3-9
- disable buffering
- explicitly freeing before overwriting it with permanent LOB locator, 11-7
- features, 11-7
- inline and out-of-line not used, 11-5
- JDBC, 11-11
- lifetime and duration, 11-5
- locators can be IN values, 11-4
- locators operate as with permanent LOBs, 11-4
- memory handling, 11-6
- OCI and logical buckets, 11-6
- OCI functions, 3-15, 3-27
- performance, 11-8
- Pro*C/C++ precompiler embedded SQL statements, 3-31
- Pro*COBOL precompiler statements, 3-35
- reside on server not client, 11-5
- similar functions used to permanent LOBs, 11-5
- SQL DML does not operate on, 11-4
- transactions and consistent reads not supported, 11-5
- trimming, 11-179
- write append to, 11-160
 
- temporary tablespace 
- for binds of more than 4000 bytes, 7-14
 
- temporaryClob.java 
- no longer used- deprecated class, 11-38
 
- TO_BLOB(),TO_CHAR(), TO_NCHAR(), 7-47
- TO_CLOB() 
- converting VARCHAR2,NVARCHAR2,NCLOB to CLOB, 7-47
 
- TO_LOB 
- limitations, 10-66
 
- TO_NCLOB(), 7-47
- transaction boundaries 
- LOB locators, 5-14
 
- transaction IDs, 5-15
- transactions 
- external LOBs do not participate in, 2-3
- IDs of locators, 5-14
- internal LOBs participate fully, 2-2
- LOB locators cannot span, 5-12
- LOBs locators cannot span, 7-14
- locators with non-serializable, 5-15
- locators with serializable, 5-15
- migrating from, 5-23
 
- triggers 
- LOB columns with, how to tell when updated (FAQ), 6-3
- LONG-to-LOB migration, 8-10
 
- trimming 
- LOB data 
- internal persistent LOBs, 10-229
 
- temporary LOB data, 11-179
 
- trimming LOBs using JDBC, 3-60
- Trusted Oracle and user-defined aggregates, 7-53
U
- UDAGs, see user-defined aggregates
- UNICODE 
- VARCHAR2 and CLOBs support, 7-38
 
- unstructured data, 1-2
- UPDATE statements 
- binds of greater than 4000 bytes, 7-14
 
- updated locators, 5-5, 5-10, 5-22
- updating 
- any length data (FAQ), 6-2
- avoid the LOB with different locators, 5-8
- BFILEs by selecting a BFILE from another table, 12-196
- BFILEs using BFILENAME(), 12-193
- by initializing a LOB locator bind variable 
- internal persistent LOBs, 10-277
 
- by selecting a LOB from another table 
- internal persistent LOBs, 10-275
 
- LOB values using one locator, 5-8
- LOB values, read consistent locators, 5-2
- LOB with PL/SQL bind variable, 5-10
- LOBs using SQL and DBMS_LOB, 5-6
- locators, 5-12
- locking before, 10-154
- locking prior to, 10-194, 10-230, 10-242
- with EMPTY_CLOB()/EMPTY_BLOB() 
- internal persistent LOBs, 10-271
 
 
- UPLOAD_AS_BLOB and DAD, 6-30
- use cases 
- full list of internal persistent LOBs, 10-2
 
- user-defined aggregates (UDAGs) and LOBs, 7-53
- utldtree.sql, 8-23
V
- value of LOBs, 2-5
- VARCHAR2 
- accessing CLOB data when treated as, 7-46
- also RAW, applied to CLOBs and BLOBs, 7-40
- defining CLOB variable on, 7-46
- OCI and JDBC now bind and define variables to SQL, PL/SQL with LOBs, 7-50
 
- VARCHAR2s 
- on CLOBs, SQL functions and operators for, 7-35
 
- VARRAYs 
- See creating VARRAYs
 
- varrays 
- including LOB storage clause to create tables (FAQ), 6-21
 
- varying-width character data, 2-4
- Veritas with LOBs, 6-24
- views on DIRECTORY object, 12-9
- Visual Basic, See Oracle Objects for OLE(OO4O)
W
- Web sites, building LOB-based, 14-13
- write 
- streaming, 11-169
 
- write appending 
- to temporary LOBs, 11-160
 
- writing 
- data to a LOB 
- internal persistent LOBs, 10-212
 
- data to a temporary LOB, 11-168
- large data chunks, performance guidelines, 9-5
- large data chunks, temporary LOBs, 9-8
- singly or piecewise, 10-204
- small amounts of data, enable buffering, 10-252
 
X
- XML 
- stored in LOBs, 1-3
 
- XML, loading, 9-2