C XStream Inの制限事項
XStream Inには制限事項があります。
- インバウンド・サーバー制限
インバウンド・サーバーには制限事項があります。 - XStream Inのルールの制限事項
ルールには制限事項があります。 - XStream Inのルールベースの変換の制限事項
XStream Inのルールベースの変換には制限事項があります。 - 拡張データ型に関するXStream Inの制限事項
XStream Inには拡張データ型に関する制限事項があります。
C.1 インバウンド・サーバーの制限事項
インバウンド・サーバーには制限事項があります。
- インバウンド・サーバーではサポートされていないデータ型
インバウンド・サーバーでは一部のデータ型がサポートされません。 - 適用ハンドラではサポートされていないデータ型
適用ハンドラでは一部のデータ型がサポートされません。 - インバウンド・サーバーで無視されるDDL変更のタイプ
インバウンド・サーバーでは一部のタイプのDDL変更が無視されます。 - 宛先データベースに存在する必要がある現行スキーマ・ユーザー
DDL LCRが宛先データベースで正常に適用されるためには、DDL LCRでcurrent_schemaとして指定されているユーザーが宛先データベースに存在している必要があります。 - インバウンド・サーバーでサポートされないOracle Label Security
インバウンド・サーバーでは、Oracle Label Security (OLS)を使用するデータベース・オブジェクトがサポートされません。
C.1.1 インバウンド・サーバーではサポートされていないデータ型
インバウンド・サーバーでは一部のデータ型がサポートされません。
インバウンド・サーバーでは、次のデータ型の列でのDML変更の結果を格納している行LCRが適用されません。
-
BFILE -
ROWID -
ネストした表
-
Oracle提供型:
ANYTYPE、ANYDATASET、URI型、SDO_TOPO_GEOMETRY、SDO_GEORASTERおよびExpression
注意:
XStreamは、可変幅のマルチバイト・キャラクタ・セットのデータベースでは、LONG列をサポートしません。
サポートされていないデータ型の列に関する情報を含む行LCRを適用しようとすると、インバウンド・サーバーでエラーが発生します。また、インバウンド・サーバーでは、次のタイプの表に対するDML変更を適用できません。
-
一時表
-
サポートされていないデータ型を含むオブジェクト表
インバウンド・サーバーでこのような変更を適用しようとすると、エラーが発生します。インバウンド・サーバーでLCRのエラーが発生すると、LCRを含むトランザクションがエラー・キューに移動されます。
これらのデータ型の制限事項は、通常の(ヒープ構成)表および索引構成表の両方に適用されます。
関連項目:
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照してください。
C.1.2 適用ハンドラではサポートされていないデータ型
適用ハンドラでは一部のデータ型がサポートされません。
文DMLハンドラでは、行LCRのLONG、LONG RAWまたはアセンブルされていないLOB列データは処理できません。ただし、文DMLハンドラでは、LOBアセンブリで構築された行LCRのLOB列データは処理できます。LOBアセンブリは、文DMLハンドラに対してデフォルトで有効になっています。
プロシージャDMLハンドラおよびエラー・ハンドラでは、行LCRのLONGまたはLONG RAWの列データは処理できません。ただし、プロシージャDMLハンドラおよびエラー・ハンドラでは、行LCRのアセンブルされていないLOB列データとアセンブルされたLOB列データの両方を処理できますが、アセンブルされていないLOB列データは変更できません。
関連項目:
-
LOBアセンブリの詳細は、Oracle Streamsレプリケーション管理者ガイドを参照してください。
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照してください。
C.1.3 インバウンド・サーバーで無視されるDDL変更のタイプ
インバウンド・サーバーでは、一部のタイプのDDL変更が無視されます。
インバウンド・サーバーでサポートされないDDL変更のタイプは次のとおりです。これらのタイプのDDL変更は、適用されません。
-
ALTERMATERIALIZEDVIEW -
ALTERMATERIALIZEDVIEWLOG -
CREATEDATABASELINK -
CREATESCHEMAAUTHORIZATION -
CREATEMATERIALIZEDVIEW -
CREATEMATERIALIZEDVIEWLOG -
DROPDATABASELINK -
DROPMATERIALIZEDVIEW -
DROPMATERIALIZEDVIEWLOG -
FLASHBACKDATABASE -
RENAME
インバウンド・サーバーは、適用できない操作を指定するDDL LCRを受信すると、そのDDL LCRを無視し、インバウンド・サーバーのトレース・ファイルに次のメッセージと無視したDDLテキストを記録します。
Inbound server ignored the following DDL:
それ以外のタイプのDDL変更は、変更を格納しているDDL LCRをインバウンド・サーバーのルール・セットに従って適用する必要があれば、インバウンド・サーバーによって適用されます。
注意:
-
インバウンド・サーバーは、
ALTERobject_typeobject_nameRENAME変更を適用します(ALTERTABLEjobsRENAMEなど)。したがって、オブジェクトの名前を変更するDDL変更を適用する場合は、RENAME文のかわりにALTERobject_typeobject_nameRENAME文を使用します。データベース・オブジェクトの名前を変更した後、そのデータベース・オブジェクトに対する変更をレプリケートするには、新しいデータベース・オブジェクト名を指定する新しいルールが必要になる場合があります。 -
マテリアライズド・ビューとは、スナップショットの同義語です。マテリアライズド・ビューでの文に相当するスナップショットは、インバウンド・サーバーで無視されます。
関連項目:
C.1.4 宛先データベースに存在する必要がある現行スキーマ・ユーザー
DDL LCRが宛先データベースで正常に適用されるためには、DDL LCRのcurrent_schemaとして指定されるユーザーは、宛先データベースに存在する必要があります。
現行スキーマは、DDLテキストでオブジェクトにスキーマが指定されていない場合に使用されるスキーマです。
関連項目:
-
データベース構造の詳細は、Oracle Database概要を参照してください。
-
DDL LCRの
current_schema属性の詳細は、Oracle Database PL/SQLパッケージおよびタイプ・リファレンスを参照してください。
C.2 XStream Inのルールの制限事項
ルールには制限事項があります。
- サブセット・ルールの制限事項
サブセット・ルールには制限事項があります。
C.2.1 サブセット・ルールの制限事項
サブセット・ルールには制限事項があります。
サブセット・ルールには次の制限が適用されます。
-
サブセット・ルールで参照される表名の表が、サブセット・ルールと同じデータベースに存在する必要があります。また、この表は、サブセット・ルールで表に関して参照されるスキーマと同じスキーマに存在する必要があります。
-
サブセット・ルールがインバウンド・サーバーのポジティブ・ルール・セットに含まれている場合は、サブセット条件で指定した列が表に含まれている必要があります。また、各列のデータ型が、サブセット・ルールで
TRUEと評価された行LCRの対応する列のデータ型と一致している必要があります。 -
LOB、
LONG、LONGRAW、ユーザー定義型(オブジェクト型、REF、VARRAY、ネストした表など)およびOracle提供の型(Any型、XML型、空間型、メディア型など)のデータ型の列が1つ以上存在する表に対してサブセット・ルールを作成することはできません。
関連項目:
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照してください。
C.3 XStream Inのルールベースの変換の制限事項
XStream Inのルールベースの変換には制限事項があります。
- 宣言ルールベースの変換ではサポートされていないデータ型
列の追加の変換を除き、列に対して実行される宣言ルールベースの変換では、インバウンド・サーバーでサポートされているデータ型がサポートされます。
関連項目:
C.3.1 宣言ルールベースの変換ではサポートされていないデータ型
列の追加の変換を除き、列に対して実行される宣言ルールベースの変換では、インバウンド・サーバーでサポートされているデータ型がサポートされます。
列の追加の変換では、次のデータ型の列を追加できません: BLOB、CLOB、NCLOB、BFILE、LONG、LONG RAW、ROWID、ユーザー定義型(オブジェクト型、REF、VARRAY、ネストした表など)およびOracle提供型(Any型、XML型、空間型、メディア型など)。
関連項目:
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照してください。
C.4 拡張データ型に関するXStream Inの制限事項
XStream Inには拡張データ型に関する制限事項があります。
COMPATIBLE初期化パラメータを12.0.0に、MAX_STRING_SIZE初期化パラメータをEXTENDEDに設定している場合、Oracle Database 12cではVARCHAR2、NVARCHAR2およびRAWの各データ型の最大サイズが大きくなりました。XStream Inでは、これらの拡張データ型がサポートされます。
ただし、拡張データ型については次の制限事項があります。
-
データ操作言語(DML)操作の元のLCRには、拡張データ型の列に関する情報が含まれていない場合があります。かわりに、XStream Inでは拡張データ型列がLOB列と同じように処理される場合があります。具体的には、追加のLCRに拡張データ型列の情報が含まれる場合があります。
-
XStreamのルールから拡張データ型列に関するLCR内のデータにはアクセスできません。
-
サブセット・ルール句では拡張データ型列を指定できません。
-
競合検出には拡張データ型列を使用できません。
-
拡張データ型列を
DBMS_APPLY_ADM.SET_KEY_COLUMNSプロシージャで適用するための代替主キーとして使用することはできません。 -
次のタイプの宣言ルールベースの変換では拡張データ型列を使用できません。
-
列の追加
-
列の保持
-
関連項目:
拡張データ型の詳細は、Oracle Database SQL言語リファレンスを参照してください。