Table of Contents
- Title and Copyright Information
- Preface
-
Changes in Oracle Database
-
New Features in Release 23ai
- Automatic SecureFiles Shrink
- Distributed and Sharded Environments Support Additional Types of LOBs
- Estimate the Space Saved with Deduplication
- Improved Performance of LOB Writes
- Maximum Size of Inline LOBs is 8000
- Migrate BasicFile LOBs Using the SecureFiles Migration Utility
- Rename LOB Segments
- Tune Performance for Parallel File System Operations
- Value LOBs Optimize Reading LOB Values in a SQL Query
- Deprecated Features in Release 23ai
-
New Features in Release 23ai
- 1 Introduction to Large Objects and SecureFiles
-
2
Persistent LOBs
- 2.1 Creating a Table with LOB Columns
-
2.2
Inserting and Updating LOB Values in
Tables
- 2.2.1 Inserting and Updating with a Buffer
- 2.2.2 Inserting and Updating by Selecting a LOB From Another Table
- 2.2.3 Inserting and Updating with a NULL or Empty LOB
-
2.2.4
Inserting and Updating with a LOB
Locator
- 2.2.4.1 PL/SQL: Inserting a Row by Initializing a LOB Locator Bind Variable
- 2.2.4.2 JDBC (Java): Inserting a Row by Initializing a LOB Locator Bind Variable
- 2.2.4.3 OCI (C): Inserting a Row by Initializing a LOB Locator Bind Variable
- 2.2.4.4 Pro*C/C++ (C/C++): Inserting a Row by Initializing a LOB Locator Bind Variable
- 2.2.4.5 Pro*COBOL (COBOL): Inserting a Row by Initializing a LOB Locator Bind Variable
- 2.3 Selecting LOB Values from Tables
- 2.4 Performing DML and Query Operations on LOBs in Nested Tables
- 2.5 Performing Parallel DDL, Parallel DML (PDML), and Parallel Query (PQ) Operations on LOBs
- 2.6 Sharding with LOBs
- 3 Temporary LOBs
- 4 Value LOBs
- 5 BFILEs
- 6 SQL Semantics for LOBs
- 7 PL/SQL Semantics for LOBs
-
8
Data Interface for LOBs
- 8.1 Overview of the Data Interface for LOBs
- 8.2 Benefits of Using the Data Interface for LOBs
- 8.3 Data Interface for LOBs in Java
-
8.4
Data Interface for LOBs in OCI
- 8.4.1 Binding a LOB in OCI
- 8.4.2 Defining a LOB in OCI
- 8.4.3 Multibyte Character Sets Used in OCI with the Data Interface for LOBs
- 8.4.4 Getting LOB Length
- 8.4.5 Using OCI Functions to Perform INSERT or UPDATE on LOB Columns
- 8.4.6 Using OCI Data Interface to Fetch LOB Data
- 8.4.7 PL/SQL and C Binds from OCI
- 9 Locator Interface for LOBs
- 10 Distributed LOBs
- 11 Performance Guidelines
-
12
Persistent LOBs: Advanced DDL
-
12.1
Creating a New LOB Column
- 12.1.1 CREATE TABLE BNF
- 12.1.2 ENABLE or DISABLE STORAGE IN ROW
- 12.1.3 CACHE, NOCACHE, and CACHE READS
- 12.1.4 LOGGING and FILESYSTEM_LIKE_LOGGING
- 12.1.5 The RETENTION Parameter
- 12.1.6 SecureFiles Compression, Deduplication, and Encryption
- 12.1.7 BasicFile Specific Parameters
- 12.1.8 Restriction on First Extent of a LOB Segment
- 12.1.9 Summary of CREATE TABLE LOB Storage Parameters for Securefile LOBs
- 12.2 Altering an Existing LOB Column
- 12.3 Creating an Index on LOB Column
- 12.4 LOBs in Partitioned Tables
- 12.5 LOBs in Index Organized Tables
-
12.1
Creating a New LOB Column
-
13
Advanced Design Considerations
-
13.1
Read-Consistent Locators
- 13.1.1 A Selected Locator Becomes a Read-Consistent Locator
- 13.1.2 Example of Updating LOBs and Read-Consistency
- 13.1.3 Example of Updating LOBs Through Updated Locators
- 13.1.4 Example of Updating a LOB Using SQL DML and DBMS_LOB
- 13.1.5 Example of Using One Locator to Update the Same LOB Value
- 13.1.6 Example of Updating a LOB with a PL/SQL (DBMS_LOB) Bind Variable
- 13.1.7 Example of Deleting a LOB Using Locator
- 13.1.8 Ensuring Read Consistency
-
13.2
LOB Locators and Transaction Boundaries
- 13.2.1 About LOB Locators and Transaction Boundaries
- 13.2.2 Read and Write Operations on a LOB Using Locators
- 13.2.3 Selecting the Locator Outside of the Transaction Boundary
- 13.2.4 Selecting the Locator Within a Transaction Boundary
- 13.2.5 LOB Locators Cannot Span Transactions
- 13.2.6 Example of Locator Not Spanning a Transaction
- 13.3 LOBs in the Object Cache
- 13.4 Guidelines for Creating Terabyte sized LOBs
-
13.1
Read-Consistent Locators
- 14 Managing LOBs: Database Administration
- 15 Migrating Columns to SecureFile LOBs
-
16
Automatic SecureFiles Shrink
- 16.1 About Manual SecureFiles Shrink
- 16.2 About Automatic SecureFiles Shrink
- 16.3 Automatic SecureFiles Shrink Features
- 16.4 SecureFiles Shrink and Undo Retention
- 16.5 Enable Automatic SecureFiles Shrink
- 16.6 Disable Automatic SecureFiles Shrink
- 16.7 Targets and Limits
- 16.8 Selection Criteria for SecureFiles LOB Segments to Shrink
- 16.9 Automatic SecureFiles Shrink Task
- 16.10 Checking Progress
- 17 Introducing the Database File System
-
18
Using DBFS
- 18.1 Enabling Advanced SecureFiles LOB Features for DBFS
- 18.2 Installing DBFS
- 18.3 Creating a DBFS File System
-
18.4
Accessing DBFS File System
- 18.4.1 DBFS Client Prerequisites
- 18.4.2 Multiple Mount Points on DBFS Client
- 18.4.3 Manager File System
- 18.4.4 DBFS Client Command-Line Interface Operations
-
18.4.5
DBFS Mounting Interface (Linux and Solaris Only)
- 18.4.5.1 Installing FUSE on Solaris 11 SRU7 and Later
- 18.4.5.2 Solaris-Specific Privileges
- 18.4.5.3 About the Mount Command for Solaris and Linux
- 18.4.5.4 Mounting a File System with a Wallet
- 18.4.5.5 Mounting a File System with Password at Command Prompt
- 18.4.5.6 Unmounting a File System
- 18.4.5.7 Mounting DBFS Through fstab Utility for Linux
- 18.4.5.8 Mounting DBFS Through the vfstab Utility for Solaris
- 18.4.5.9 Restrictions on Mounted File Systems
- 18.4.5.10 Restrictions on Types of Files Stored at DBFS Mount Points
- 18.4.6 File System Security Model
- 18.4.7 HTTP, WebDAV, and FTP Access to DBFS
- 18.5 Maintaining DBFS
- 18.6 Shrinking and Reorganizing DBFS Filesystems
- 18.7 Dropping a File System
-
19
DBFS SecureFiles Store
- 19.1 Setting Up a SecureFiles Store
- 19.2 Using a DBFS SecureFiles Store File System
- 19.3 About DBFS SecureFiles Store Package, DBMS_DBFS_SFS
- 19.4 Database File System (DBFS)— POSIX File Locking
- 20 DBFS Hierarchical Store
-
21
Database File System Links
- 21.1 About Database File System Links
- 21.2 Ways to Create Database File System Links
- 21.3 Database File System Links Copy
- 21.4 The DBMS_LOB Package Used with DBFS
- 21.5 DBMS_LOB Constants Used with DBFS
- 21.6 DBMS_LOB Subprograms Used with DBFS
- 21.7 Copying a Linked LOB Between Tables
- 21.8 Online Redefinition and DBFS Links
- 21.9 Transparent Read
-
22
DBFS Content API
- 22.1 Overview of DBFS Content API
- 22.2 Stores and DBFS Content API
-
22.3
Getting Started with DBMS_DBFS_CONTENT Package
- 22.3.1 DBFS Content API Role
- 22.3.2 Path Name Constants and Types
- 22.3.3 Path Properties
- 22.3.4 Content IDs
- 22.3.5 Path Name Types
- 22.3.6 Store Features
- 22.3.7 Lock Types
- 22.3.8 Standard Properties
- 22.3.9 Optional Properties
- 22.3.10 User-Defined Properties
- 22.3.11 Property Access Flags
- 22.3.12 Exceptions
- 22.3.13 Property Bundles
- 22.3.14 Store Descriptors
-
22.4
Administrative and Query APIs
- 22.4.1 Registering a Content Store
- 22.4.2 Unregistering a Content Store
- 22.4.3 Mounting a Registered Store
- 22.4.4 Unmounting a Previously Mounted Store
- 22.4.5 Listing all Available Stores and Their Features
- 22.4.6 Listing all Available Mount Points
- 22.4.7 Looking Up Specific Stores and Their Features
- 22.5 Querying DBFS Content API Space Usage
- 22.6 DBFS Content API Session Defaults
- 22.7 DBFS Content API Interface Versioning
- 22.8 DBFS Content API Creation Operations
- 22.9 DBFS Content API Deletion Operations
- 22.10 DBFS Content API Path Get and Put Operations
- 22.11 DBFS Content API Rename and Move Operations
- 22.12 Directory Listings
- 22.13 DBFS Content API Directory Navigation and Search
- 22.14 DBFS Content API Locking Operations
- 22.15 DBFS Content API Access Checks
- 22.16 DBFS Content API Abstract Operations
- 22.17 DBFS Content API Path Normalization
- 22.18 DBFS Content API Statistics Support
- 22.19 DBFS Content API Tracing Support
- 22.20 Resource and Property Views
- 23 Creating Your Own DBFS Store
- 24 DBFS Access Using OFS
- A Comparing the LOB Interfaces