プライマリ・コンテンツに移動
Oracle® Database SecureFilesおよびラージ・オブジェクト開発者ガイド
12
c
リリース1 (12.1)
B71284-05
索引
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』のこのリリースでの変更点
Oracle Database 12
c
リリース1 (12.1)での変更点
新機能
その他の変更
第I部 スタート・ガイド
1
ラージ・オブジェクトおよびSecureFilesの概要
ラージ・オブジェクト
ラージ・オブジェクトを使用する理由
ラージ・オブジェクトを使用するデータ型
半構造化データに使用するLOB
非構造化データに使用するLOB
LONGを使用しない理由
各種のLOB
内部LOB
外部LOBとBFILEデータ型
LOBロケータ
内部LOBと外部LOBのデータベース・セマンティクス
ラージ・オブジェクト・データ型
オブジェクト・データ型とLOBについて
LOBを使用した他のデータ型の記憶域と作成
LOBとして格納されるVARRAY
Oracle Multimediaで使用されるLOB
BasicFilesおよびSecureFiles LOB
データベース・ファイルシステム(DBFS)
2
LOBの作業
LOB列のステータス
LOBを含む行のロック
LOBのオープン操作とクローズ操作
LOBロケータとLOB値
LOB用データ・インタフェースの使用
LOBロケータを使用したLOB値へのアクセスと変更
LOBロケータとBFILEロケータ
LOBの例の表: PMスキーマのprint_media表
LOB列の初期化
永続LOB列の初期化
BFILEの初期化
LOBアクセス
SQLを使用したLOBへのアクセス
データ・インタフェースを使用したLOBへのアクセス
ロケータ・インタフェースを使用したLOBへのアクセス
LOBのルールと制限
LOB列のルール
LOB操作の制限
3
LOBの管理: データベース管理
データをLOBにロードするためのデータベース・ユーティリティ
SQL*Loaderを使用したLOBのロードについて
SQL*Loaderを使用したBFILE列への移入について
Oracle Data Pumpを使用したLOBデータの転送について
一時LOB管理
BFILE管理
ディレクトリ・オブジェクトおよびBFILEの使用規則
オープンできるBFILE数の上限の設定
LOB表領域の記憶域の変更
4
Oracle LOB記憶域の使用
LOB記憶域
BasicFiles LOB記憶域
SecureFiles LOB記憶域
拡張LOB圧縮について
拡張LOB重複除外について
SecureFiles暗号化について
LOB記憶域でのCREATE TABLE
CREATE TABLE LOB記憶域パラメータ
CREATE TABLEおよびSecureFiles LOBの機能
拡張LOB圧縮を使用したCREATE TABLE
拡張LOB圧縮での使用上の注意
CREATE TABLEおよび拡張LOB圧縮の例
拡張LOB重複除外を使用したCREATE TABLE
拡張LOB重複除外での使用上の注意
CREATE TABLEおよび拡張LOB重複除外の例
SecureFiles暗号化を使用したCREATE TABLE
SecureFiles暗号化での使用上の注意
CREATE TABLEおよびSecureFiles暗号化の例
LOB記憶域でのALTER TABLE
ALTER TABLEおよびLOB記憶域について
ALTER TABLE文のBNF
ALTER TABLE LOB記憶域パラメータ
ALTER TABLE SecureFiles LOB機能
拡張LOB圧縮を使用したALTER TABLE
拡張LOB圧縮での使用上の注意
ALTER TABLEおよび拡張LOB圧縮の例
拡張LOB重複除外を使用したALTER TABLE
拡張LOB重複除外での使用上の注意
ALTER TABLEおよび拡張LOB重複除外の例
SecureFiles暗号化を使用したALTER TABLE
SecureFiles暗号化での使用上の注意
ALTER TABLEおよびSecureFiles暗号化の例
初期化、互換性およびアップグレード
互換性およびアップグレード
SecureFiles LOB用の初期化パラメータ
BasicFiles LOBからSecureFiles LOBへの列の移行
SecureFiles LOBへの移行時のREDOデータの生成防止
BasicFiles LOBのためのオンライン再定義
BasicFiles LOBを含む表の移行時のオンライン再定義の例
SecureFiles LOBのパラレル再定義
LOBおよびDBFS用のPL/SQLパッケージ
SecureFiles LOBおよびDBFSで使用するDBMS_LOBパッケージ
SecureFiles LOBおよびDBFSで使用するDBMS_LOB定数
SecureFiles LOBおよびDBFSで使用されるDBMS_LOBサブプログラム
DBMS_SPACEパッケージ
DBMS_SPACE.SPACE_USAGE()
第II部 データベース・ファイルシステム(DBFS)
5
データベース・ファイルシステムの概要
データベース・ファイルシステムを使用する理由
データベース・ファイルシステム(DBFS)とは
DBFSについて
DBFSサーバー
DBFSクライアント
コンテンツ・ストアとは
6
DBFS SecureFilesストア
SecureFilesストアの設定
権限の管理について
権限の作成または設定
SecureFilesファイルシステム・ストアの作成
SecureFilesシステム・ストア・データを保持する表へのアクセス
SecureFilesストア・ファイルシステムの初期化
SecureFiles LOBとBasicFiles LOBの比較
DBFS SecureFilesストア・ファイルシステムの使用
DBFSコンテンツAPIの操作の例
SecureFilesストア・ファイルシステムの削除
DBFS SecureFilesストア・パッケージDBMS_DBFS_SFSについて
7
DBFS階層ストア
階層ストア・パッケージDBMS_DBFS_HSについて
DBFS階層ストアを使用する方法
ストアの設定
HSストア・ウォレットの管理
ストアの作成、登録およびマウント
階層ストアの使用
ファイルシステムとしての階層ストアの使用
SecureFiles LOBのアーカイブ・ソリューションとしての階層ストアの使用
階層ストアの削除
階層ストアで使用する圧縮
テープを使用したプログラムの例
Amazon S3を使用したプログラムの例
データベース・ファイルシステム・リンク
データベース・ファイルシステム・リンクについて
データベース・ファイルシステム・リンクを作成する方法
データベース・ファイルシステム・リンクのコピー
表間でのリンク済LOBのコピー
オンライン再定義およびDBFSリンク
透過的読取り
DBMS_DBFS_HSパッケージ
DBMS_DBFS_HSパッケージの定数
DBMS_DBFS_HSパッケージのメソッド
DBFS階層ストアのビュー
DBAビュー
ユーザー・ビュー
8
DBFSコンテンツAPI
DBFSコンテンツAPIの概要
ストアおよびDBFSコンテンツAPI
DBMS_DBFS_CONTENTパッケージの開始
DBFSコンテンツAPIのロール
パス名の定数およびタイプ
パス・プロパティ
コンテンツID
パス名タイプ
ストア機能
ロック・タイプ
標準プロパティ
オプション・プロパティ
ユーザー定義プロパティ
プロパティ・アクセス・フラグ
例外
プロパティ・バンドル
ストア記述子
管理および問合せAPI
コンテンツ・ストアの登録
コンテンツ・ストアの登録解除
登録されたストアのマウント
以前にマウントされたストアのアンマウント
使用可能なすべてのストアおよびその機能のリスト
使用可能なすべてのマウント・ポイントのリスト
固有のストアおよびその機能の検索
DBFSコンテンツAPIの領域使用量の問合せ
DBFSコンテンツAPIのセッション・デフォルト
DBFSコンテンツAPIのインタフェース・バージョニング
DBFSコンテンツAPIのパス名の注意点
DBFSコンテンツAPIの作成操作
DBFSコンテンツAPIの削除操作
DBFSコンテンツAPIパスのgetおよびput操作
DBFSコンテンツAPIの名前変更および移動操作
ディレクトリ・リスト
DBFSコンテンツAPIのディレクトリ・ナビゲーションおよび検索
DBFSコンテンツAPIのロック操作
DBFSコンテンツAPIのアクセス・チェック
DBFSコンテンツAPIの抽象化操作
DBFSコンテンツAPIのパスの正規化
DBFSコンテンツAPIの統計サポート
DBFSコンテンツAPIのトレース・サポート
リソースおよびプロパティ・ビュー
9
独自のDBFSストアの作成
DBFSストアの作成および使用の概要
DBFSコンテンツ・ストア・プロバイダ・インタフェース(DBFSコンテンツSPI)
カスタム・プロバイダの作成
メカニズム
インストールと設定
TBFSの使用
TBFSの内部
TBFS.SQL
TBL.SQL
spec.sql
body.sql
capi.sql
10
DBFSの使用
DBFSインストール
DBFSファイルシステムの作成
DBFSファイルシステムの作成に必要な権限
パーティション化されていないDBFSファイルシステムとパーティション化されたDBFSファイルシステムのメリットの違い
パーティション化されていないファイルシステムの作成
パーティション化されたファイルシステムの作成
ファイルシステムの削除
DBFSファイル・システムへのアクセス
DBFSクライアントの前提条件
DBFSクライアント・コマンドライン・インタフェースの操作
DBFSクライアント・コマンドライン・インタフェースについて
コンテンツ・ストア・パスの作成
ディレクトリの作成
ディレクトリのリスト
ファイルおよびディレクトリのコピー
ファイルおよびディレクトリの削除
DBFSマウント・インタフェース(LinuxおよびSolarisのみ)
Solaris 11 SRU7以降でのFUSEのインストール
DBFSストアのマウント
Solaris固有の権限
SolarisおよびLinux用のマウント・コマンドについて
ウォレットを使用したファイルシステムのマウント
コマンド・プロンプトでパスワードを使用したファイルシステムのマウント
ファイルから読み込まれたパスワードを使用したファイルシステムのマウント
ファイルシステムのアンマウント
Linux用のfstabユーティリティを使用したDBFSのマウント
Solaris用のvfstabユーティリティを使用したDBFSのマウント
マウントされたファイルシステムの制限事項
ファイルシステム・セキュリティ・モデル
ファイルシステムのセキュリティ・モデルについて
共有ルート・アクセスの有効化
複数データベース・ユーザーのDBFSアクセスについて
複数のデータベース・ユーザー間でのDBFSアクセスの共有の確立
DBFSへのHTTP、WebDAVおよびFTPアクセス
XDBを介したDBFSへのインターネット・アクセス
Web Distributed Authoring and Versioning (WebDAV)アクセス
DBFSへのFTPアクセス
DBFSへのHTTPアクセス
DBFS管理
DBFSクライアントでのOracle Walletの使用
DBFSの診断
フェイルオーバー・イベント中のデータ損失の防止
クライアント側の書込みキャッシュの迂回
DBFSのバックアップ
データベース・レベルでのDBFSバックアップ
ファイルシステム・ユーティリティを介したDBFSのバックアップ
DBFSの小さいファイルのパフォーマンス
DBFSの高度なSecureFiles LOBの有効化
DBFSファイルシステムの縮小および再編成
DBFSファイルシステムの変更について
オンライン・ファイルシステム再編成の利点
オンライン・ファイルシステム再編成の可用性の確認
オンライン・ファイルシステム再編成の起動
第III部 LOBを使用したアプリケーション設計
11
アプリケーションでのLOB記憶域
LOBを含む表
NULLまたは空として初期化された永続LOB
永続LOBをNULLに設定
永続LOBを空に設定
LOBの初期化
永続LOB列およびLOB属性を値に初期化
BFILEをNULLまたはファイル名に初期化
LOBセグメントの最初のエクステントの制限
LOB列のデータ型
LOB型とLONG型およびLONG RAW型との比較
LOBへの可変幅文字データの格納
LOBを使用したキャラクタ・セットの暗黙的な変換
LOB記憶域パラメータ
インラインLOB記憶域とアウトラインLOB記憶域
永続LOBに対する表領域および記憶特性の定義
LOBデータ・セグメント名の割当て
LOB列またはLOB属性のLOB記憶特性
TABLESPACEおよびLOB索引
非パーティション表のLOB索引に対する表領域
PCTVERSION
BasicFiles LOB用のRETENTIONパラメータ
SecureFiles LOB用のRETENTIONパラメータ
CACHE/NOCACHE/CACHE READS
CACHE/NOCACHE/CACHE READS: LOB値とバッファ・キャッシュ
BasicFiles LOB用のLOGGING/NOLOGGINGパラメータ
LOBは、
常にLOB索引ページ
に対してUNDOを生成する
LOGGINGが設定されている
場合
、LOB
データ・ページ
の
完全なREDOが生成される
NOLOGGINGはバルク・ロードまたは挿入に効果的。
SecureFiles LOB用のLOGGING/FILESYSTEM_LIKE_LOGGING
CACHEによって決まるLOGGING
SecureFilesおよび効率的なREDOおよびUNDO生成の方法
バルク・ロードまたは挿入に効果的なFILESYSTEM_LIKE_LOGGING
CHUNK
CHUNKの値
領域に関する考慮事項
パフォーマンスに関する考慮事項
CHUNKよりも大きいサイズにINITIALおよびNEXTを設定する
ENABLE句またはDISABLE STORAGE IN ROW句
ENABLEまたはDISABLE STORAGE IN ROWのガイドライン
LOB列の索引付け
LOB列のドメイン索引付け
LOB列のテキスト索引
LOBに対するファンクション索引付け
LOB列に対する拡張索引作成機能
拡張可能オプティマイザ
Oracle TextによるXMLへの索引付けのサポート
パーティション表内のLOBの操作
パーティション表内のLOBの操作について
LOB列を含む表のパーティション化
パーティション化されたLOB列を含む表に対する索引の作成
LOBを含むパーティションの移動
LOBを含むパーティションの分割
LOBを含むパーティションのマージ
索引構成表内のLOB
パーティション化された索引構成表内のLOBに対する制限
ネストした表内のLOBの更新
12
高度な設計時の考慮事項
LOBバッファリング・サブシステム
LOBバッファリングのメリット
LOBバッファリングの使用上のガイドライン
LOBバッファリング・サブシステムの使用方法
LOBバッファの物理構造
LOBバッファリング・サブシステムの使用例
LOBバッファのフラッシュについて
LOBバッファのフラッシュ
更新済LOBのフラッシュについて
更新済LOBのフラッシュ
バッファリング対応のロケータの使用
再選択を避けるためのロケータ状態の保存
OCI: LOBバッファリングの例
OPENおよびCLOSEインタフェースを使用した永続LOBのオープン
LOBの明示的なオープンによる索引のパフォーマンス上のメリット
明示的にオープンしたLOBインスタンスのクローズ
読取り一貫性のあるロケータ
読取り一貫性のあるロケータになる、SELECTされたロケータ
LOBの更新および読取り一貫性の例
更新済ロケータを介したLOB更新の例
SQL DMLおよびDBMS_LOBを使用したLOBの更新例
同じLOB値を更新するために1つのロケータを使用する例
PL/SQL(DBMS_LOB)バインド変数を使用したLOBの更新の例
LOBロケータとトランザクション境界
LOBロケータとトランザクション境界について
ロケータを使用したLOBに対する読取りおよび書込み操作
トランザクション境界外でのロケータの選択
トランザクション境界内でのロケータの選択
複数のトランザクションにまたがることはできないLOBロケータ
トランザクションにまたがらないロケータの例
オブジェクト・キャッシュ内のLOB
サイズがTBのLOBのサポート
サイズがTBのLOBのサポートについて
サイズがTBのLOBの最大記憶域の制限
JDBCでのサイズがTBのLOBの使用
DBMS_LOBパッケージでのサイズがTBのLOBの使用
OCIでのサイズがTBのLOBの使用
サイズがGBのLOB作成時のガイドライン
サイズがGBのLOBを格納する表領域および表の作成
13
LOB APIの概要
LOBをサポートするプログラム環境
LOBインタフェースの比較
PL/SQL(DBMS_LOBパッケージ)を使用したLOBの作業
DBMS_LOBルーチン実行前のLOBロケータの提供
DBMS_LOB操作のオフセット・パラメータおよび量パラメータのガイドライン
キャラクタ・セットIDの取得
LOB用のPL/SQLファンクションおよびプロシージャ
LOB値を変更するPL/SQLファンクションおよびプロシージャ
LOBのイントロスペクションに使用するPL/SQLファンクションおよびプロシージャ
一時LOBに対するPL/SQL操作
PL/SQL: BFILE固有の読取り専用ファンクションおよびプロシージャ
PL/SQL: 内部LOBおよび外部LOBをオープンおよびクローズするファンクションおよびプロシージャ
OCIを使用したLOBの作業
LOBデータ、長さおよびチャンク・サイズのプリフェッチ
OCI LOB APIのCSIDパラメータの設定
OCIにおける固定幅キャラクタ・セットと可変幅キャラクタ・セットの規則
他の操作
OCIにおけるNCLOBの使用
OCILobLoadFromFile2()の量パラメータ
OCILobRead2()の量パラメータ
OCILobLocatorポインタの割当て
OCIにおける定義変数とアウトバインド変数内のLOBロケータ
OCI: BLOB、CLOB、NCLOBおよびBFILEを操作する関数
OCI: 永続LOB(BLOB、CLOBおよびNCLOB)の値を変更する関数
OCI: 永続LOBおよび外部LOB(BFILE)の値の読取りまたはテストを行う関数
OCI: 一時LOBを操作する関数
OCI: BFILE固有の読取り専用関数
OCI: LOBロケータ関数
OCI: LOBバッファリング関数
OCI: 内部LOBおよび外部LOBをオープンおよびクローズする関数
OCI LOBの例
OCIの詳細
C++(OCCI)を使用したLOBの作業
OCCIでLOBに使用するクラス
Clobクラス
Blobクラス
Bfileクラス
固定幅キャラクタ・セットの規則
可変幅キャラクタ・セットの規則
他のOCCI操作のためのオフセット・パラメータおよび量パラメータ
OCCIにおけるNCLOBの使用
OCCI LOB copy()メソッドの量パラメータ
OCCI read()操作の量パラメータ
OCCIの詳細
OCCI: BLOB、CLOB、NCLOBおよびBFILEを操作するメソッド
OCCI: 永続LOB(BLOB、CLOBおよびNCLOB)の値を変更するメソッド
OCCI: 永続LOBおよびBFILEの値の読取りまたはテストを行うメソッド
OCCI: BFILE固有の読取り専用メソッド
OCCI: 他のLOBメソッド
OCCI: 内部LOBおよび外部LOBをオープンおよびクローズするメソッド
C/C++(Pro*C)を使用したLOBの作業
LOBを表す入力ロケータ・ポインタの割当て
Pro*C/C++: BLOB、CLOB、NCLOBおよびBFILEを操作する文
Pro*C/C++: 永続LOBの値を変更する埋込みSQL文
Pro*C/C++: LOBのイントロスペクションに使用する埋込みSQL文
Pro*C/C++: 一時LOBを操作する埋込みSQL文
Pro*C/C++: BFILE固有の埋込みSQL文
Pro*C/C++: LOBロケータ埋込みSQL文
Pro*C/C++: LOBバッファリングのための埋込みSQL文
Pro*C/C++: LOBをオープンおよびクローズするための埋込みSQL文
COBOL(Pro*COBOL)を使用したLOBの作業
LOBを表す入力ロケータ・ポインタの割当て
Pro*COBOL: BLOB、CLOB、NCLOBおよびBFILEを操作する文
Pro*COBOL: 永続LOBの値を変更する埋込みSQL文
Pro*COBOL: LOBのイントロスペクションに使用する埋込みSQL文
Pro*COBOL: 一時LOBを操作する埋込みSQL文
Pro*COBOL: BFILE固有の埋込みSQL文
Pro*COBOL: LOBロケータ埋込みSQL文
Pro*COBOL: LOBバッファリングのための埋込みSQL文
Pro*COBOL: LOBおよびBFILEをオープンおよびクローズするための埋込みSQL文
Java(JDBC)を使用したLOBの作業
Javaを使用した内部永続LOBの変更
Javaを使用した内部永続LOBおよび外部LOB(BFILE)の読取り
BLOB、CLOBおよびBFILEクラス
Java(JDBC)からのDBMS_LOBパッケージのコール
パフォーマンス改善のためのLOBのプリフェッチ
パフォーマンス改善のためのSecureFilesに対するゼロコピー入力/出力
サーバー上のゼロコピー入力/出力
JDBC Thinドライバでのサーバー上のゼロコピー入力/出力
JDBC-OCIドライバの考慮事項
Java(JDBC)を使用したLOBの参照
OracleResultSetの使用: 取り出されたBLOBとCLOBオブジェクト
JDBC構文の参照および詳細
LOBでの操作のためのJDBCメソッド
JDBC: BLOB値を変更するoracle.sql.BLOBメソッド
JDBC: BLOB値の読取りまたはテストを行うoracle.sql.BLOBメソッド
JDBC: BLOBバッファリングのためのoracle.sql.BLOBメソッドおよびプロパティ
JDBC: CLOB値を変更するoracle.sql.CLOBメソッド
JDBC: CLOB値の読取りまたはテストを行うoracle.sql.CLOBメソッド
JDBC: CLOBバッファリングのためのoracle.sql.CLOBメソッドおよびプロパティ
JDBC: 外部LOB(BFILE)値の読取りまたはテストを行うoracle.sql.BFILEメソッド
JDBC: BFILEバッファリングのためのoracle.sql.BFILEメソッドおよびプロパティ
JDBC: 一時LOB API
JDBC: LOBのオープンおよびクローズ
JDBC: BLOBのオープンおよびクローズ
JDBCを使用したBLOBのオープン
JDBCを使用した、BLOBがオープンしているかどうかの確認
JDBCを使用したBLOBのクローズ
JDBC: CLOBのオープンおよびクローズ
JDBCを使用したCLOBのオープン
JDBCを使用した、CLOBがオープンしているかどうかの確認
JDBCを使用したCLOBのクローズ
JDBC: BFILEのオープンおよびクローズ
BFILEのオープン
BFILEがオープンしているかどうかの確認
BFILEのクローズ
使用例(OpenCloseLob.java)
JDBCを使用したLOBの切捨て
JDBC: BLOBの切捨て
JDBC: CLOBの切捨て
JDBC BLOBストリーミングAPI
JDBC CLOBストリーミングAPI
BFILEストリーミングAPI
JDBC BFILEストリーミングの例(NewStreamLob.java)
JDBCおよび空のLOB
Oracle Provider for OLE DB(OraOLEDB)
Oracle Data Provider for .NET(ODP.NET)の概要
14
パフォーマンスのガイドライン
LOBパフォーマンスのガイドライン
チャンク・サイズ
サイズの小さいBasicFiles LOBのパフォーマンスに関するガイドライン
BasicFiles LOBの一般的なパフォーマンスに関するガイドライン
一時LOBパフォーマンスのガイドライン
SQLセマンティクスとLOBのパフォーマンスに関する考慮事項
スレッド環境におけるLOBへのデータの移動
LOBアクセス統計
LOBアクセス統計の取得
第IV部 LOBへのSQLアクセス
15
LOBに対するDDL文とDML文
1つ以上のLOB列を含む表の作成
LOBを含むネストした表の作成
別の表からのLOBの選択による行の挿入
表へのLOB値の挿入
初期化したLOBロケータ・バインド変数を使用した行の挿入
LOBロケータ・バインド変数を使用した行の挿入について
PL/SQL: 初期化したLOBロケータ・バインド変数を使用した行の挿入
C(OCI): 初期化したLOBロケータ・バインド変数を使用した行の挿入
COBOL(Pro*COBOL): 初期化したLOBロケータ・バインド変数を使用した行の挿入
C/C++(Pro*C/C++): 初期化したLOBロケータ・バインド変数を使用した行の挿入
Java(JDBC): 初期化したLOBロケータ・バインド変数を使用した行の挿入
EMPTY_CLOB()またはEMPTY_BLOB()を使用したLOBの更新
別の表からのLOBの選択による行の更新
16
SQLセマンティクスとLOB
SQLでのLOBの使用について
LOBでの使用がサポートされるSQLファンクションおよび演算子
LOBのSQLファンクションおよび操作について
CLOB型からCHAR型への暗黙的な変換
セッション照合設定に従わないCLOBおよびNCLOB
Unicodeサポート
コードポイント・セマンティクス
LOBのSQLセマンティクスの戻り値
LOBに対するLENGTHの戻り値
SQLでのLOBデータ型の暗黙的な変換
SQLでのCLOBデータ型とNCLOBデータ型の間の暗黙的な変換
SQLでサポートされないLOBの使用
LOBのVARCHAR2およびRAWセマンティクス
LOBに対するVARCHAR2およびRAWセマンティクスについて
SQLファンクションから戻されるLOB
VARCHAR2とCLOBでのIS NULLとIS NOT NULLの使用方法
LOBでのWHERE句の使用方法
リモートLOBおよびBFILE用の組込みファンクション
17
LOBに対するPL/SQLセマンティクス
PL/SQL文およびPL/SQL変数
CLOBとVARCHAR2の間の暗黙的な変換
明示的な変換ファンクション
PL/SQL組込みファンクションでのVARCHAR2およびCLOB
リモートLOBおよびBFILE用のPL/SQLファンクション
リモートのユーザー定義型ファンクションの制限
PL/SQL、OCIおよびJDBC内のリモート・ファンクション
18
LONGからLOBへの列の移行
LONG列からLOB列に移行するメリット
LONG列からLOB列に移行するための事前条件
LOBへの変換前のLONG列のドメイン索引削除
LOBデータ型に変換する表のREDO領域の生成防止
utldtree.sqlを使用したアプリケーションの最適化方法の判断
LONGデータ型からLOBデータ型への表の変換
移行時の問題
ALTER TABLEを使用したLONG列からLOB列への変換
TO_LOB演算子を使用したLONGからLOB列へのコピー
LONG列を含む表のオンライン再定義
Oracle Data Pumpを使用したデータベースの移行
LONGからLOBへのアプリケーションの移行
LONGからLOBへのアプリケーションの移行について
クラスタ化表で使用できないLOB列
AFTER UPDATE OFトリガーに使用できないLOB列
LONGデータ型からLOBデータ型に変換された列の索引の再作成
空のLOBとNULLまたは長さが0(ゼロ)のLONGの違い
アンカー型でのオーバーロード
LOBデータ型に対してサポートされない一部の暗黙的変換
第V部 LOB APIの使用
19
永続LOBに固有の操作と一時LOBに固有の操作
永続LOBの操作
表へのLOBの挿入
表からのLOBの選択
一時LOBの操作
一時LOBの作成と解放
PL/SQLにおける永続LOBと一時LOBの作成
OCIでの一時LOBの解放
20
永続LOB用のデータ・インタフェース
永続LOB用のデータ・インタフェースの概要
永続LOB用のデータ・インタフェースを使用するメリット
PL/SQLにおける永続LOB用のデータ・インタフェースの使用
PL/SQLでの永続LOBのデータ・インタフェースの使用について
SQLとPL/SQLでデータ・インタフェースを使用してLOB列にアクセスする際のガイドライン
暗黙的な割当ておよびパラメータの受渡し
SQLおよびPL/SQL組込みファンクションへのCLOBの受渡し
明示的な変換ファンクション
SQLからのPL/SQLプロシージャおよびCプロシージャのコール
PL/SQLからのPL/SQLプロシージャおよびCプロシージャのコール
INSERT操作とUPDATE操作でのすべてのサイズのバインド
SQL演算子の結果に対する4000バイトの制限
SQL演算子の結果に対する4000バイトの制限の例
4000バイトを超えるバインドに対する制限
LOBに対するパラレルDML (PDML)のサポート
例: PL/SQL: INSERTおよびUPDATEでの4000バイトを超えるバインドの使用
LOB用のデータ・インタフェースを使用したINSERT、UPDATEおよびSELECT操作
LOB用のデータ・インタフェースを使用した割当てとパラメータの受渡し
LOB用のデータ・インタフェースを使用したPL/SQL組込みファンクション
OCIにおける永続LOBに使用されるデータ・インタフェース
OCIでバインドされたLOBデータ型
OCIで定義されたLOBデータ型
LOB用データ・インタフェースでのOCIのマルチバイト・キャラクタ・セットの併用
OCI関数を使用したLOB列のINSERTまたはUPDATEの実行
1つのピースでの標準のINSERTまたはUPDATEの実行
ポーリングによるピース単位のINSERTおよびUPDATE
コールバックによるピース単位のINSERTおよびUPDATEの実行
配列のINSERT操作およびUPDATE操作
OCIでLOBデータをフェッチするために使用するデータ・インタフェース
1つのピースでの標準のフェッチ
ポーリングによるピース単位のフェッチの実行
コールバックによるピース単位のフェッチの実行
配列のフェッチ
OCIからのPL/SQLバインドおよびCバインド
例: C(OCI): INSERTおよびUPDATEでの4000バイトを超えるバインド
LOB用データ・インタフェースを使用したLOBに対するOCIからのPL/SQLバインド
4000バイトを超えるバインドでのLOB列に対するLONGデータのバインド
ポーリングによるピース単位INSERTを使用したLOB列へのLONGデータのバインド
コールバックによるピース単位INSERTを使用したLOB列へのLONGデータのバインド
配列のINSERTを使用したLOB列へのLONGデータのバインド
単純フェッチを使用したLONGバッファへのLOB列の選択
ポーリングによるピース単位フェッチを使用したLONGバッファへのLOB列の選択
コールバックによるピース単位フェッチを使用したLONGバッファへのLOB列の選択
配列フェッチを使用したLONGバッファへのLOB列の選択
Javaにおける永続LOBで使用されるデータ・インタフェース
リモートLOBで使用されるデータ・インタフェース
リモートLOBでのデータ・インタフェースについて
サポートされない構文
PL/SQLにおけるリモート・データ・インタフェースの例
OCIにおけるリモート・データ・インタフェースの例
JDBCにおけるリモート・データ・インタフェースの例
21
BFILE操作用のLOB API
BFILE APIについてサポートされている環境
BFILEへのアクセスについて
ディレクトリ・オブジェクト
BFILEロケータの初期化
BFILEへのオペレーティング・システム・ファイルの対応付け
BFILENAMEと初期化
BFILEデータ型の特性
ディレクトリ名の指定
Windowsプラットフォーム上の場合
BFILEセキュリティ
所有権および権限
ディレクトリ・オブジェクトに対する読取り権限
BFILEセキュリティ用のSQL DDL
BFILEセキュリティ用のSQL DML
ディレクトリのカタログ・ビュー
ディレクトリ・オブジェクト使用のガイドライン
共有サーバー(マルチスレッド・サーバー)・モードのBFILE
外部LOB(BFILE)ロケータ
BFILE表内の2つの行が同じファイルを参照するとき
BFILEロケータ変数
BFILEの固有のガイドライン
BFILEデータを使用したLOBのロードについて
OPENを使用したBFILEのオープンについて
FILEOPENを使用したBFILEのオープンについて
ISOPENを使用した、BFILEがオープンしているかどうかの確認について
FILEISOPENを使用した、BFILEがオープンしているかどうかの確認について
BFILEデータの表示について
BFILEからのデータの読取りについて
SUBSTRを使用した、BFILEデータの一部の読取りについて
2つのBFILEの全体または一部の比較
INSTRを使用した、BFILEにパターンが存在するかどうかの確認
BFILEが存在するかどうかの確認
BFILEの長さの取得
BFILEロケータの割当てについて
BFILEのディレクトリ・オブジェクト名とファイル名の取得
初期化したBFILEロケータを使用したBFILEの更新について
FILECLOSEを使用したBFILEのクローズ
CLOSEを使用したBFILEのクローズ
FILECLOSEALLを使用したオープン中のすべてのBFILEのクローズ
BFILEを含む行の挿入について
22
LOB APIの使用
サポートされている環境
他のLOBへのLOBの追加について
キャラクタ・セット・フォームの取得について
キャラクタ・セットIDの取得について
LOBへのBFILEデータのロード
BLOBへのBFILEデータのロードについて
CLOBまたはNCLOBへのBFILEデータのロード
PL/SQL: LOBへのBFILEの文字データのロードについて
PL/SQL: 異なるLOBへの文字データ・セグメントのロードについて
LOBがオープンしているかどうかの確認
Java(JDBC): LOBがオープンしているかどうかの確認
CLOBがオープンしているかどうかの確認
BLOBがオープンしているかどうかの確認
LOBデータの表示について
LOBからのデータの読取りについて
LOB配列読取りについて
LOBの一部の読取り(SUBSTR)
2つのLOBの全体または一部の比較
パターン: INSTRを使用したLOB内のパターンの有無の確認
長さ: LOBの長さの取得
他のLOBへのLOBの全体または一部のコピー
LOBロケータのコピー
等値: 2つのLOBロケータが等しいかどうかの確認
LOBロケータが初期化されているかどうかの確認について
LOBへの追加について
LOBへのデータの書込みについて
LOB配列書込み
LOBデータの切捨てについて
LOBの一部の消去について
LOBバッファリングの使用可能化について
バッファのフラッシュについて
LOBバッファリングの使用禁止化について
LOBインスタンスが一時LOBであるかどうかの確認
Java(JDBC): BLOBが一時LOBであるかどうかの確認
BLOBからCLOBへの変換
CLOBからBLOBへの変換
読取り一貫性の保証
A
LOBデモ・ファイル
PL/SQLのLOBデモ・ファイル
OCIのLOBデモ・ファイル
JavaのLOBデモ・ファイル
用語集
索引