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変更は、適用されません。
-
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変更は、変更を格納しているDDL LCRをインバウンド・サーバーのルール・セットに従って適用する必要があれば、インバウンド・サーバーによって適用されます。
注意:
-
インバウンド・サーバーは、
ALTER
object_type
object_name
RENAME
変更を適用します(ALTER
TABLE
jobs
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.2 XStream Inのルールの制限事項
ルールには制限事項があります。
- サブセット・ルールの制限事項
サブセット・ルールには制限事項があります。
C.2.1 サブセット・ルールの制限事項
サブセット・ルールには制限事項があります。
サブセット・ルールには次の制限が適用されます。
-
サブセット・ルールで参照される表名の表が、サブセット・ルールと同じデータベースに存在する必要があります。また、この表は、サブセット・ルールで表に関して参照されるスキーマと同じスキーマに存在する必要があります。
-
サブセット・ルールがインバウンド・サーバーのポジティブ・ルール・セットに含まれている場合は、サブセット条件で指定した列が表に含まれている必要があります。また、各列のデータ型が、サブセット・ルールで
TRUE
と評価された行LCRの対応する列のデータ型と一致している必要があります。 -
LOB、
LONG
、LONG
RAW
、ユーザー定義型(オブジェクト型、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言語リファレンスを参照してください。