C XStream Inの制限事項

次の制限がXStream Inに適用されます。

C.1 インバウンド・サーバーの制限

次の制限がインバウンド・サーバーに適用されます。

C.1.1 インバウンド・サーバーではサポートされていないデータ型

インバウンド・サーバーでは、一部のデータ型はサポートされません。

インバウンド・サーバーでは、次のデータ型の列のDML変更の結果が含まれている行LCRは適用されません。

  • ROWID

  • ネストされた表

  • Oracle提供型: ANYTYPEANYDATASET、URI型、SDO_TOPO_GEOMETRYSDO_GEORASTERおよびExpression

ノート:

XStreamは、可変幅のマルチバイト文字セットのデータベースでは、LONG列をサポートしません。

インバウンド・サーバーでは、サポートされていないデータ型の列に関する情報を含む行LCRを適用しようとすると、エラーが発生します。さらに、インバウンド・サーバーでは、次のタイプの表に対するDML変更を適用できません。

  • 一時表

  • サポートされないデータ型が含まれたオブジェクト表

インバウンド・サーバーでは、このような変更を適用しようとすると、エラーが発生します。インバウンド・サーバーでは、LCRのエラーが発生すると、LCRを含むトランザクションがエラー・キューに移動されます。

これらのデータ型の制限事項は、通常の(ヒープ構成)表および索引構成表の両方に適用されます。

C.1.2 適用ハンドラではサポートされていないデータ型

適用ハンドラでは、一部のデータ型はサポートされません。

プロシージャDMLハンドラおよびエラー・ハンドラでは、行LCRのLONGまたはLONG RAWの列データは処理できません。ただし、プロシージャDMLハンドラおよびエラー・ハンドラでは、行LCRのアセンブルされていないLOB列データとアセンブルされたLOB列データの両方を処理できますが、アセンブルされていないLOB列データは変更できません。

C.1.3 インバウンド・サーバーによって無視されるDDL変更のタイプ

インバウンド・サーバーでは、一部のタイプのDDL変更は無視されます。

次のタイプのDDL変更は、インバウンド・サーバーによってサポートされていません。これらのタイプのDDL変更は、適用されません。

  • ALTER MATERIALIZED VIEW

  • ALTER MATERIALIZED VIEW LOG

  • CREATE DATABASE LINK

  • CREATE SCHEMA AUTHORIZATION

  • CREATE MATERIALIZED VIEW

  • CREATE MATERIALIZED VIEW LOG

  • DROP DATABASE LINK

  • DROP MATERIALIZED VIEW

  • DROP MATERIALIZED VIEW LOG

  • FLASHBACK DATABASE

  • RENAME

インバウンド・サーバーでは、適用できない操作を指定するDDL LCRを受信した場合、そのDDL LCRは無視され、無視されたDDLテキストの後に次のメッセージがインバウンド・サーバーのトレース・ファイルに記録されます。

Inbound server ignored the following DDL:

変更内容を含むDDL LCRをインバウンド・サーバーのルール・セットに従って適用する必要がある場合、インバウンド・サーバーでは、他のすべてのタイプのDDLの変更が適用されます。

ノート:

  • インバウンド・サーバーは、ALTER TABLE jobs RENAMEなど、ALTER object_type object_name RENAMEの変更を適用します。したがって、オブジェクトの名前を変更するDDL変更を適用する場合は、RENAME文のかわりにALTER object_type object_name RENAME文を使用します。データベース・オブジェクトの名前を変更した後、そのデータベース・オブジェクトに対する変更をレプリケートするには、新しいデータベース・オブジェクト名を指定する新しいルールが必要になる場合があります。

  • マテリアライズド・ビューとは、スナップショットの同義語です。マテリアライズド・ビューでの文に相当するスナップショットは、インバウンド・サーバーで無視されます。

C.1.4 宛先データベースに存在する必要がある現行スキーマ・ユーザー

DDL LCRが宛先データベースで正常に適用されるためには、DDL LCRのcurrent_schemaとして指定されるユーザーは、宛先データベースに存在する必要があります。

現行スキーマは、DDLテキストでオブジェクトにスキーマが指定されていない場合に使用されるスキーマです。

関連項目:

C.1.5インバウンド・サーバーではOracle Label Securityはサポートされない

インバウンド・サーバーでは、Oracle Label Security(OLS)を使用するデータベース・オブジェクトはサポートされません。

C.2 XStream Inのルールの制限事項

次の制限がルールに適用されます。

C.2.1 サブセット・ルールの制限

次の制限がサブセット・ルールに適用されます。

サブセット・ルールには次の制限が適用されます。

  • サブセット・ルールで参照される表名の表が、サブセット・ルールと同じデータベースに存在する必要があります。また、この表は、サブセット・ルールで表に関して参照されるスキーマと同じスキーマに存在する必要があります。

  • サブセット・ルールがインバウンド・サーバーのポジティブ・ルール・セットに含まれる場合、表には、サブセット条件で指定した列が含まれている必要があります。各列のデータ型は、サブセット・ルールでTRUEと評価された行LCRの対応する列のデータ型と一致する必要があります。

  • LOB、LONGLONG RAW、ユーザー定義型(オブジェクト型、REF、VARRAY、ネストした表など)およびOracle提供の型(Any型、XML型、空間型、メディア型など)のデータ型の列が1つ以上存在する表に対してサブセット・ルールを作成することはできません。

関連項目:

C.3 XStream Inのルールベースの変換の制限事項

次の制限がXStream Inのルールベースの変換に適用されます。

C.3.1 宣言ルールベースの変換ではサポートされていないデータ型

列の追加の変換を除き、列に対して実行される宣言ルールベースの変換では、インバウンド・サーバーでサポートされているものと同じデータ型がサポートされています。

列の追加の変換では、データ型がBLOBCLOBNCLOBBFILELONGLONG RAWROWID、ユーザー定義型(オブジェクト型、REF、可変長配列、ネストされた表など)およびオラクル社提供の型(Any型、XML型、空間型、メディア型など)である列は追加できません。

C.4 XStream Inの拡張データ型の制限事項

次の制限がXStream Inの拡張データ型に適用されます。

COMPATIBLE初期化パラメータを12.0.0に、MAX_STRING_SIZE初期化パラメータをEXTENDEDに設定している場合、Oracle Database 12cではVARCHAR2NVARCHAR2およびRAWの各データ型の最大サイズが大きくなりました。XStream Inではこれらの拡張データ型がサポートされます。

ただし、次のような制限が拡張データ型に適用されます。

  • 拡張データ型の列に関する情報は、データ操作言語(DML)操作の元のLCRに含まれない可能性があります。かわりに、XStream Inでは、LOB列を処理する場合と同様の方法で拡張データ型の列を処理する場合があります。具体的には、追加のLCRに、拡張データ型の列の情報が含まれる場合があります。

  • XStreamルールでは、拡張データ型の列のLCRに含まれているデータにアクセスできません。

  • 拡張データ型の列は、サブセット・ルール句では指定できません。

  • 拡張データ型の列は、競合の検出に使用できません。

  • 拡張データ型の列は、DBMS_APPLY_ADM.SET_KEY_COLUMNSプロシージャを使用した適用の目的で代替主キーとして使用できません。

  • 拡張データ型の列は、次のタイプの宣言ルールベースの変換で使用できません。

    • 列の追加

    • 列の保持

関連項目:

拡張データ型の詳細は、Oracle Database SQL言語リファレンスを参照