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)を使用するデータベース・オブジェクトがサポートされません。
親トピック: XStream Inの制限事項
C.1.1 インバウンド・サーバーではサポートされていないデータ型
インバウンド・サーバーでは、一部のデータ型はサポートされません。
インバウンド・サーバーでは、次のデータ型の列のDML変更の結果が含まれている行LCRは適用されません。
-
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
の列データは処理できません。ただし、プロシージャDMLハンドラおよびエラー・ハンドラでは、行LCRのアセンブルされていないLOB列データとアセンブルされたLOB列データの両方を処理できますが、アセンブルされていないLOB列データは変更できません。
関連項目:
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照
親トピック: インバウンド・サーバーの制限
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テキストでオブジェクトにスキーマが指定されていない場合に使用されるスキーマです。
関連項目:
-
データベース構造の詳細は、Oracle Database概要を参照
-
DDL LCRの
current_schema
属性の詳細は、Oracle Database PL/SQLパッケージおよびタイプ・リファレンスを参照
親トピック: インバウンド・サーバーの制限
C.1.5インバウンド・サーバーではOracle Label Securityはサポートされない
インバウンド・サーバーでは、Oracle Label Security(OLS)を使用するデータベース・オブジェクトはサポートされません。
親トピック: インバウンド・サーバーの制限
C.2 XStream Inのルールの制限事項
次の制限がルールに適用されます。
- サブセット・ルールの制限事項
サブセット・ルールには制限事項があります。
親トピック: XStream Inの制限事項
C.2.1 サブセット・ルールの制限
次の制限がサブセット・ルールに適用されます。
サブセット・ルールには次の制限が適用されます。
-
サブセット・ルールで参照される表名の表が、サブセット・ルールと同じデータベースに存在する必要があります。また、この表は、サブセット・ルールで表に関して参照されるスキーマと同じスキーマに存在する必要があります。
-
サブセット・ルールがインバウンド・サーバーのポジティブ・ルール・セットに含まれる場合、表には、サブセット条件で指定した列が含まれている必要があります。各列のデータ型は、サブセット・ルールで
TRUE
と評価された行LCRの対応する列のデータ型と一致する必要があります。 -
LOB、
LONG
、LONG
RAW
、ユーザー定義型(オブジェクト型、REF
、VARRAY、ネストした表など)およびOracle提供の型(Any
型、XML型、空間型、メディア型など)のデータ型の列が1つ以上存在する表に対してサブセット・ルールを作成することはできません。
関連項目:
-
データ型の詳細は、Oracle Database SQL言語リファレンスを参照
親トピック: XStream Inのルールの制限事項
C.3 XStream Inのルールベースの変換の制限事項
次の制限がXStream Inのルールベースの変換に適用されます。
- 宣言ルールベースの変換ではサポートされていないデータ型
列の追加の変換を除き、列に対して実行される宣言ルールベースの変換では、インバウンド・サーバーでサポートされているデータ型がサポートされます。
関連項目:
親トピック: XStream Inの制限事項
C.3.1 宣言ルールベースの変換ではサポートされていないデータ型
列の追加の変換を除き、列に対して実行される宣言ルールベースの変換では、インバウンド・サーバーでサポートされているものと同じデータ型がサポートされています。
列の追加の変換では、データ型がBLOB
、CLOB
、NCLOB
、BFILE
、LONG
、LONG
RAW
、ROWID
、ユーザー定義型(オブジェクト型、REF
、可変長配列、ネストされた表など)およびオラクル社提供の型(Any
型、XML型、空間型、メディア型など)である列は追加できません。
関連項目:
親トピック: XStream Inのルールベースの変換の制限事項
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言語リファレンスを参照
親トピック: XStream Inの制限事項