2.6 LOBを使用したシャーディング
LOBはシャード環境で使用できます。この項では、シャード表のLOBをサポートするインタフェースについて説明します。
次のインタフェースがサポートされています。
- 問合せおよびDML文
- LOBに関連するシャード間の問合せがサポートされています。
- 複数のシャードを含むDML文はサポートされていません。この動作は、スカラー列に似ています。
- コーディネータからは、単一のシャードを含むDML文がサポートされます。
- シャードから選択したロケータは、同じシャードにバインド値として渡すことができます。
OCILob
シャーディング環境では、BFILE関連を除くすべてのOCILob APIがサポートされていますが、いくつかの制限事項があります。
コーディネータでは、LOBがシャード表から取得された場合、LOB記述子の
OCI_ATTR_LOB_REMOTE
属性はTRUE
を返します。制限事項: 入力として2つのロケータを取るAPI (
OCILobAppend
、OCILobCompare
など)の場合、両方のロケータを同じシャードから取得する必要があります。ロケータを異なるシャードから取得すると、エラーが発生します。-
DBMS_LOB
シャーディング環境では、BFILE関連を除くすべてのDBMS_LOB APIがサポートされていますが、いくつかの制限事項があります。コーディネータでは、LOBがシャード表から取得された場合、
DBMS_LOB.isremote
はTRUE
を返します。制限事項: 入力として2つのロケータを取るAPI (
DBMS_LOB.append
やDBMS_LOB.compare
など)の場合、両方のロケータを同じシャードから取得する必要があります。ロケータを異なるシャードから取得すると、エラーが発生します。
関連項目:
シャード表親トピック: 永続LOB