ヘッダーをスキップ
Oracle® Database SecureFilesおよびラージ・オブジェクト開発者ガイド
11
g
リリース2 (11.2)
B56263-04
索引
次
目次
例一覧
図一覧
表一覧
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の新機能
Oracle Database 11
g
リリース2で導入されたLOBの新機能
Oracle Database 11
g
リリース1で導入されたLOBの新機能
1
ラージ・オブジェクトの概要
ラージ・オブジェクト
ラージ・オブジェクトを使用する理由
半構造化データに対するLOBの使用
非構造化データに対するLOBの使用
LONGを使用しない理由
各種のLOB
内部LOB
外部LOBとBFILEデータ型
LOBロケータの概要
内部LOBと外部LOBのデータベース・セマンティクス
ラージ・オブジェクト・データ型
オブジェクト・データ型とLOB
LOBを使用した他のデータ型の格納と作成
LOBとして格納されるVARRAY
CLOBとして格納されるXMLType列
Oracle Multimediaで使用されるLOB
第I部 スタート・ガイド
2
LOBの作業
LOB列のステータス
LOBを含む行のロック
LOBのオープンおよびクローズ
LOBロケータとLOB値
LOB用データ・インタフェースの使用
LOBロケータを使用したLOB値へのアクセスと変更
LOBロケータとBFILEロケータ
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の管理
一時LOB用の一時表領域の管理
BFILEの管理
ディレクトリ・オブジェクトおよびBFILEの使用規則
オープンできるBFILE数の上限の設定
LOB表領域の記憶域の変更
第II部 SecureFiles LOB
4
Oracle SecureFiles LOBの使用
SecureFiles LOBについて
圧縮について
重複除外について
暗号化について
SecureFiles LOBを含んだCREATE TABLEの使用
SecureFiles LOB用のCREATE TABLEのパラメータ
BASICFILE
SECUREFILE
CHUNK
RETENTION
MAXSIZE
FREEPOOLS
LOGGING、NOLOGGINGまたはFILESYSTEM_LIKE_LOGGING
FREELISTSまたはFREELIST GROUPS
PCTVERSION
COMPRESSまたはNOCOMPRESS
DEDUPLICATEまたはKEEP_DUPLICATES
ENCRYPTまたはDECRYPT
CREATE TABLE圧縮
CREATE TABLE圧縮での使用上の注意
CREATE TABLE圧縮の例
CREATE TABLE重複除外
CREATE TABLE重複除外での使用上の注意
CREATE TABLE重複除外の例
CREATE TABLE暗号化
CREATE TABLE暗号化での使用上の注意
CREATE TABLE暗号化の例
SecureFiles LOBを含んだALTER TABLEの使用
SecureFiles LOB用のCREATE TABLEのパラメータ
RETENTION
COMPRESSまたはNOCOMPRESS
DEDUPLICATEまたはKEEP_DUPLICATES
ENCRYPTまたはDECRYPT
ALTER TABLE圧縮
ALTER TABLE圧縮での使用上の注意
ALTER TABLE圧縮の例
ALTER TABLE重複除外
ALTER TABLE重複除外での使用上の注意
ALTER TABLE重複除外の例
ALTER TABLE暗号化
ALTER TABLE暗号化での使用上の注意
ALTER TABLE暗号化の例
データベース・ファイルシステム・リンク
データベース・ファイルシステム・リンクの概要
データベース・ファイルシステム・リンクの作成
データベース・ファイルシステム・リンクのコピー
表間でのリンク済LOBのコピー
オンライン再定義およびDBFSリンク
透過的読取り
SecureFiles LOBの初期化パラメータdb_securefile
互換性およびアップグレード
BasicFiles LOBからSecureFiles LOBへの列の移行
SecureFiles LOBへの移行時のREDO領域の生成防止
BasicFiles LOBのためのオンライン再定義
オンライン再定義のメリット
オンライン再定義のデメリット
BasicFiles LOBを含む表の移行時のオンライン再定義の使用
パラレル・オンライン再定義
SecureFiles LOBおよびDBFS用のPL/SQLパッケージ
DBMS_LOBパッケージ
GETOPTIONS()
SETOPTIONS()
ISSECUREFILE()
MOVE_TO_DBFS_LINK()
COPY_FROM_DBFS_LINK()
COPY_DBFS_LINK()
GET_DBFS_LINK()
SET_DBFS_LINK()
GET_DBFS_LINK_STATE()
DBFS_LINK_GENERATE_PATHNAME()
SETCONTENTTYPE()
GETCONTENTTYPE()
APPEND()
COMPARE()
CONVERTTOBLOB()
CONVERTTOCLOB()
COPY()
ERASE()
FRAGMENT_DELETE()
FRAGMENT_INSERT()
FRAGMENT_MOVE()
FRAGMENT_REPLACE()
LOADBLOBFROMFILE()
LOADCLOBFROMFILE()
LOADFROMFILE()
READ()
SUBSTR()
TRIM()
WRITE()
WRITEAPPEND()
DBMS_SPACEパッケージ
SPACE_USAGE()
5
Oracle Database File Systemの概要
データベース・ファイルシステムを使用する理由
Oracle Database File System(DBFS)の概要
6
DBFSファイルシステム・クライアント
DBFSのインストール
DBFSの前提条件
FUSEのインストール(Linuxのみ)
DBFSインストール・ホーム
ファイルシステムの作成
ファイルシステムの削除
DBFSマウント・インタフェース
DBFSストアのマウント
Linuxでのファイルシステムのアンマウント
マウントされたファイルシステムの制限事項
Linuxでのfstabユーティリティを使用したDBFSのマウント
Solaris 11 SRU7におけるOracle Databaseリリース11.2.0.3
Solaris 11 SRU7以降でのFUSEのインストール
DBFSのアンマウント
DBFSストアのマウント: Solaris固有の権限
Solaris用のvfstabユーティリティを使用したDBFSのマウント
DBFSコマンド・インタフェースの使用
DBFSの使用
ディレクトリの作成
ディレクトリのリスト
ファイルおよびディレクトリのコピー
ファイルおよびディレクトリの削除
DBFS管理
DBFSクライアントでのOracle Walletの使用
ファイルシステム・セキュリティ・モデル
共有ルート・アクセスの有効化
複数のRDBMSユーザー間のDBFSアクセスの有効化
DBFS診断の実行
DBFSクライアント・フェイルオーバーの管理
DBFSの共有およびキャッシュ
DBFSのバックアップ
データベース・レベルでのDBFSのバックアップ
ファイルシステム・ユーティリティによるDBFSのバックアップ
DBFSの小さいファイルのパフォーマンスの向上
DBFSの高度なSecureFiles LOBの有効化
7
DBFSコンテンツAPI
DBFSコンテンツAPIの概要
ストアおよびパッケージDBMS_DBFS_CONTENT
DBMS_DBFS_CONTENTパッケージの開始
DBFSコンテンツAPIのロール
パス名の定数およびタイプ
コンテンツ・プロパティ
パス名タイプ
ストア機能
ロック・タイプ
標準プロパティ
オプション・プロパティ
プロパティ・アクセス・フラグ
例外
プロパティ・バンドル
ストア記述子
管理および問合せ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のトレース・サポート
リソースおよびプロパティ・ビュー
8
DBFS SecureFilesストア
DBFS SecureFilesストア・パッケージ(DBMS_DBFS_SFS)
新しいSecureFilesストアの作成および登録
SecureFilesストアの初期化または再初期化
SecureFilesストア・ファイルシステム・ストアの登録解除および削除
DBFS SecureFilesストア・ファイルシステムの使用
権限の管理
SecureFilesファイルシステム・ストアの作成
SecureFiles LOBとBasicFiles LOBの比較
SecureFilesストア・ファイルシステムの初期化
SecureFilesストア・ファイルシステムの削除
DBFSコンテンツAPIの操作
9
DBFS階層ストア
ウォレット管理
DBMS_DBFS_HSを使用したストレージの管理
DBMS_DBFS_HSパッケージの定数
DBMS_DBFS_HSパッケージのメソッド
CREATESTORE()
DROPSTORE()
RECONFIGCACHE()
SETSTOREPROPERTY()
GETSTOREPROPERTY()
CREATEBUCKET()
STOREPUSH()
CLEANUPUNUSEDBACKUPFILES()
REGISTERSTORECOMMAND()
DEREGSTORECOMMAND()
SENDCOMMAND()
DBFS階層ストアのユーザー・ビュー
USER_DBFS_HS_FILES
DBMS_DBFS_HSの使用例
ストアの設定
階層ストアの使用
ファイルシステムとしての階層ストアの使用
SecureFiles LOBのアーカイブ・ソリューションとしての階層ストアの使用
階層ストアの削除
例: Amazon S3の使用
例: テープの使用
10
DBFSストアの作成
パッケージDBMS_DBFS_CONTENT_SPI
第III部 アプリケーション設計
11
LOB記憶域
LOBを含む表の作成
永続LOBをNULLまたは空として初期化
永続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が生成される
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の更新
12
高度な設計時の考慮事項
LOBバッファリング・サブシステム(LBS)
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
サイズが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文
COM(Oracle Objects for OLE)を使用したLOBの作業
OO4O構文の参照
OraBlob、OraClobおよびOraBfileオブジェクト・インタフェースによるロケータのカプセル化
ダイナセットの一部として取り出されたOraBlobおよびOraClobオブジェクト
ダイナセット移動からロケータの独立を維持するためのCloneメソッドの使用
OraBlobおよびOraBfileの例
OO4O: LOBに格納されたデータにアクセスするメソッドおよびプロパティ
OO4O: BLOB、CLOBおよびNCLOBの値を変更するメソッド
OO4O: 内部LOBおよび外部LOBの値の読取りまたはテストを行うメソッド
OO4O: 外部LOB(BFILE)をオープンおよびクローズするメソッド
OO4O: 永続LOBバッファリング・メソッド
OO4O: LOBプロパティ
OO4O: 外部LOB(BFILE)固有の読取り専用メソッド
OO4O: 外部LOB(BFILE)での操作のためのプロパティ
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ロケータ・バインド変数を使用した行の挿入
PL/SQL: 初期化したLOBロケータ・バインド変数を使用した行の挿入
C(OCI): 初期化したLOBロケータ・バインド変数を使用した行の挿入
COBOL(Pro*COBOL): 初期化したLOBロケータ・バインド変数を使用した行の挿入
C/C++(Pro*C/C++): 初期化したLOBロケータ・バインド変数を使用した行の挿入
COM(OO4O): 初期化したLOBロケータ・バインド変数を使用した行の挿入
Java(JDBC): 初期化したLOBロケータ・バインド変数を使用した行の挿入
EMPTY_CLOB()またはEMPTY_BLOB()を使用したLOBの更新
別の表からのLOBの選択による行の更新
16
SQLセマンティクスとLOB
SQLでのLOBの使用
LOBでの使用がサポートされるSQLファンクションおよび演算子
Unicodeサポート
コードポイント・セマンティクス
LOBのSQLセマンティクスの戻り値
LOBに対するLENGTHの戻り値
SQLでのLOBデータ型の暗黙的な変換
SQLでのCLOBデータ型とNCLOBデータ型の間の暗黙的な変換
SQLでサポートされないLOBの使用
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
PL/SQL CLOBの比較規則
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へのアプリケーションの移行
クラスタ化表で使用できない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用のデータ・インタフェースの使用
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のサポート
例: 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バインド
begin foo(:1); end;形式でのPL/SQLアウトバインドのコール
call foo(:1);形式でのPL/SQLアウトバインドのコール
例: C(OCI): INSERTおよびUPDATEでの4000バイトを超えるバインド
LOB用データ・インタフェースを使用したLOBに対するOCIからのPL/SQLバインド
begin foo(:1); end;形式でのPL/SQLアウトバインドのコール
call foo(:1);形式での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用データ・インタフェースの使用
サポートされない構文
PL/SQLにおけるリモート・データ・インタフェースの例
OCIにおけるリモート・データ・インタフェースの例
JDBCにおけるリモート・データ・インタフェースの例
21
BFILE操作用のLOB API
BFILE APIについてサポートされている環境
BFILEへのアクセス
ディレクトリ・オブジェクト
BFILEロケータの初期化
BFILEへのOSファイルの対応付け
BFILENAMEと初期化
BFILEデータ型の特性
ディレクトリ名の指定
Windowsプラットフォーム上の場合
BFILEセキュリティ
所有権および権限
ディレクトリ・オブジェクトに対する読取り権限
BFILEセキュリティ用のSQL DDL
BFILEセキュリティ用のSQL DML
ディレクトリのカタログ・ビュー
ディレクトリ・オブジェクト使用のガイドライン
共有サーバー(マルチスレッド・サーバー)・モードのBFILE
外部LOB(BFILE)ロケータ
BFILE表内の2つの行が同じファイルを参照するとき
BFILEロケータ変数
BFILEの固有のガイドライン
LOBへのBFILEデータのロード
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: BFILEからLOBへの文字データのロード
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デモ・ファイル
COM OO4O LOBデモ・ファイル
JavaのLOBデモ・ファイル
用語集
索引