DDLReplicationLevel
アクティブ・スタンバイ・レプリケーション・スキーム内で、データ定義言語(DDL)文のサブセットのレプリケーションを有効にします。
DDLReplicationLevel
接続属性の値が1に設定されている場合、表、索引またはシノニムのCREATE
文またはDROP
文はスタンバイ・データベースにレプリケートされません。ただし、レプリケート表に対してALTER TABLE ADD
またはDROP COLUMN
を使用して列の追加または削除を行うことで、それらのアクションがスタンバイ・データベースにレプリケートされます。
DDLReplicationLevel
接続属性の値が2に設定されている場合(デフォルト)、次のDDL文(Oracle TimesTen In-Memory Database SQLリファレンスを参照)はスタンバイやサブスクライバにレプリケートされます。
-
CREATE TABLEまたはDROP TABLE (
CREATE TABLE AS SELECT
以外のグローバル一時表を含む)
DDLReplicationLevel
接続属性の値が3に設定されている場合、次のDDL文(Oracle TimesTen In-Memory Database SQLリファレンスを参照)および値が2に設定されている場合にレプリケートされたDDL文はスタンバイやサブスクライバにレプリケートされます。
-
ttCacheUidPwdSet
組込みプロシージャを使用してキャッシュ管理ユーザーの名前およびパスワードを設定する場合の、スタンバイ・マスターへの結果のレプリケーション。ttCacheUidPwdSet
組込みプロシージャを実行するために、キャッシュ・エージェントまたはレプリケーション・エージェントを停止して再起動する必要はありません。詳細は、「ttCacheUidPwdSet」または『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』の「キャッシュ・ユーザー名およびパスワードの変更」を参照してください。
この属性を設定する場合の注意事項は、次のとおりです。
-
0に設定すると、オープン・カーソルは、DDL文を含むトランザクションで発生する暗黙的なコミットで自動的にクローズされます。DDLトランザクションでは、このような方法でカーソルを使用しないでください。
この属性の値は、ALTER SESSION文(『Oracle TimesTen In-Memory Database SQLリファレンス』を参照)を使用して変更できます。例:
ALTER SESSION SET DDL_REPLICATION_LEVEL=3;
ALTER SESSION
で設定される値は、この属性で設定される値を上書きします。
アクティブ・スタンバイ・ペアを変更する例については、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「アクティブ・スタンバイ・ペアの変更」を参照してください。
DDLのレプリケーションの詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の「アクティブ・スタンバイ・ペアでのDDL変更」を参照してください。
必要な権限
この属性の値の変更に権限は必要ありません。
TimesTen ScaleoutおよびTimesTen Classicでの使用
この属性はTimesTen Classicでサポートされていますが、TimesTen Scaleoutではサポートされません。
設定
DDLReplicationLevel
は次のように設定します。
属性の設定場所 | 属性の表示 | 設定 |
---|---|---|
CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicの |
|
|
Windows ODBCデータソース・アドミニストレータ |
該当なし |
制限事項
DDL処理のレプリケーションには次の制限があります。
-
CREATE TABLE AS SELECT
文はレプリケートされません。 -
CREATE INDEX文は、空の表に索引を作成するときにのみレプリケートされます。
-
表または順序を、作成時にアクティブ・スタンバイ・ペアのレプリケーション・スキームに含めるかどうかを制御するには、DDLReplicationAction接続属性を使用します。
-
CYCLE
属性が指定された順序はレプリケートできません。 -
オブジェクトは、受信側データベースがそのレベルのレプリケーションをサポートするTimesTenリリースであり、アクティブ・スタンバイ・ペアのレプリケーション・スキーム用に構成されている場合にのみレプリケートされます。たとえば、11.2.2.7.0より前のデータベース・リリースへの順序のレプリケーション(
DDL_REPLICATION_LEVEL=3
が必要)は、サポートされません。DDLReplicationLevel
値が3に設定されている場合、アクティブとスタンバイの両方のマスター・データベースがTimesTenリリース11.2.2.7以上である必要があります。DDL_REPLICATION_LEVEL=2
の場合、受信側データベースは、サポートするオブジェクトのレプリケーション用にリリース11.2.1.8.0以上である必要があります。 -
ttCacheUidPwdSet
組込みプロシージャに対するすべての制約が適用されます。 -
DDLReplicationLevel=1
または2
の場合、ALTER TABLE ... ADD COLUMN NOT NULL DEFAULT
文を使用してNOT NULL
列を、レプリケーション・スキームの一部である表に追加するように表を変更することはできません。表にNOT NULL
列を追加する前に、まず、レプリケーション・スキームから表を削除する必要があります。ただし、DDLReplicationLevel=3
の場合は、NOT NULL
列を、レプリケーション・スキームの一部である表に追加するように表を変更できます。