DDLReplicationLevel

アクティブ・スタンバイ・レプリケーション・スキーム内で、データ定義言語(DDL)文のサブセットのレプリケーションを有効にします。

DDLReplicationLevel接続属性の値が1に設定されている場合、表、索引またはシノニムのCREATE文またはDROP文はスタンバイ・データベースにレプリケートされません。ただし、レプリケート表に対してALTER TABLE ADDまたはDROP COLUMNを使用して列の追加または削除を行うことで、それらのアクションがスタンバイ・データベースにレプリケートされます。

DDLReplicationLevel接続属性の値が2に設定されている場合(デフォルト)、次のDDL文(Oracle TimesTen In-Memory Database SQLリファレンスを参照)はスタンバイやサブスクライバにレプリケートされます。

DDLReplicationLevel接続属性の値が3に設定されている場合、次のDDL文(Oracle TimesTen In-Memory Database SQLリファレンスを参照)および値が2に設定されている場合にレプリケートされたDDL文はスタンバイやサブスクライバにレプリケートされます。

  • CREATE VIEWまたはDROP VIEW

  • CREATE SEQUENCEまたはDROP SEQUENCE

  • 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のodbc.iniファイル

DDLReplicationLevel

1: ALTER TABLE ADDまたはDROP COLUMNをスタンバイ・データベースにレプリケートします。表、索引またはシノニムのCREATE操作およびDROP操作はスタンバイ・データベースにレプリケートされません。

2(デフォルト) - 表、索引、シノニムの作成および削除をレプリケートします。

3 - ビューおよび順序の作成および削除をレプリケートし、ttCacheUidPwdSet組込みプロシージャの結果をレプリケートします。

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列を、レプリケーション・スキームの一部である表に追加するように表を変更できます。