ttRepDuplicateEx

説明

リモート・データベースのレプリカをローカル・システムに作成します。このプロセスは、受信側のローカル・システムから開始されます。受信側のローカル・システムからリモートのソース・データベースに接続され、複製処理が実行されます。

ノート:

  • このユーティリティには、サイトの障害からリカバリするために、アクティブ・スタンバイ・ペアのレプリケーション・スキームの一部として、障害時リカバリ(DR)読取り専用サブスクライバを作成する機能があります。『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』アクティブ・スタンバイ・ペアでの障害時リカバリ・サブスクライバの使用を参照してください。

  • データベースでキャッシュ・グループが使用されない場合は、以降で説明する、cacheuidおよびcachepwdデータ構造体要素、TT_REPDUP_NOKEEPCGTT_REPDUP_RECOVERINGNODETT_REPDUP_INITCACHEDRおよびTT_REPDUP_DEFERCACHEUPDATEフラグ値は関連ありません。

  • このユーティリティのパラメータであるttRepDuplicateExArg構造体にあるlocalIPおよびremoteIPという要素により、オプションで、使用するローカル・ネットワーク・インタフェース、使用するリモート・ネットワーク・インタフェース、またはこの両方を指定できます。

必要な権限

ttRepDuplicateExがコールされる受信側ローカル・データベースのインスタンス管理者、およびリモートのソース・データベースのADMIN権限を持つユーザーが必要です。必要に応じて、リモートのソース・ストアに内部ユーザーを作成します。

また、ttRepDuplicateExを実行するには、次の要件に注意してください。

  • 受信側ローカル・データベースのインスタンス管理者のオペレーティング・システム・ユーザー名は、リモートのソース・データベースのインスタンス管理者のオペレーティング・システム・ユーザー名と同じである必要があります。

  • ttRepDuplicateExが呼び出される場合、uidおよびpwdデータ構造体要素で、リモートのソース・データベースでADMIN権限を持つユーザーのユーザー名とパスワードを指定する必要があります。このユーザー名は、複製処理を実行するためにリモートのソース・データベースに接続する場合に使用されます。

構文

ttRepDuplicateEx (ttUtilHandle handle,
                  const char* destConnStr,
                  const char* srcDatabase,
                  const char* remoteHost,
                  ttRepDuplicateExArg* arg
                  )
typedef struct
{
      unsigned int size; /*set to size of(ttRepDuplicateExArg) */
      unsigned int flags;
      const char* uid;
      const char* pwd;
      const char* pwdcrypt;
      const char* cacheuid;
      const char* cachepwd;
      const char* localHost;
      int truncListLen;
      const char** truncList;
      int dropListLen;
      const char** dropList;
      int maxkbytesPerSec;
      int remoteDaemonPort;
      int nThreads4initDR;
      const char* localIP
      const char* remoteIP
      int crsManaged;
} ttRepDuplicateExArg

パラメータ

パラメータ 説明

handle

ttUtilHandle

ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。

destConnStr

const char*

これは、リモート・データベースのレプリカとして作成するローカル・データベースの接続文字列を指定する、空文字で終了する文字列です。

srcDatabase

const char*

これは、リモートのソース・データベース名を指定する、空文字で終了する文字列です。この名前は、データベース・パス名の最後の部分です。

remoteHost

const char*

これは、リモートのソース・データベースが配置されているシステムのTCP/IPホスト名を指定する、空文字で終了する文字列です。

arg

ttRepDuplicateExArg*

これは、必要なttRepDuplicateEx引数が含まれている構造体のアドレスです。NULLargに対して渡される場合、またはarg ->sizeの値が無効な場合は、TimesTenによってエラー12230 (「invalid argument value」)およびTTUTIL_ERRORが返されます。

構造体要素

ttRepDuplicateExArg構造体には、次の要素があります。

要素 説明

size

unsigned int

サイズ

これは、sizeof (ttRepDuplicateExArg)以下に設定する必要があります。

flags

unsigned int

フラグ値の表のリストから選択される値のビット単位の共用体

uid

const char*

リモートのソース・データベースでADMIN権限を持つユーザーのユーザー名

このユーザー名は、複製処理を実行するためにリモートのソース・データベースに接続する場合に使用されます。

pwd

const char*

ユーザーIDに関連付けられているパスワード

pwdcrypt

const char*

ユーザーIDに関連付けられている暗号化されたパスワード

cacheuid

const char*

TimesTenキャッシュ管理ユーザーID

cachepwd

const char*

TimesTenキャッシュ管理ユーザー・パスワード

localHost

const char*

ローカル・システムのTCP/IPホスト名を指定する、空文字で終了する文字列

remoteRepStartTT_FALSEの場合、この要素は無視されます。これによってローカル・ホストは明示的に識別されます。このパラメータはNULLにでき、IPアドレスなどの標準でない名前をローカル・ホストに使用する場合に有効です。

truncListLen

int

truncListの要素の数

truncList

const char**

複製後に切り捨てるレプリケーションされていない表のリスト

dropListLen

int

dropListの要素の数

dropList

const char**

複製処理後に削除するレプリケーションされていない表のリスト

maxkbytesPerSec

int

最大キロバイト数/秒

これを0(ゼロ)以外の値に設定すると、複製処理でデータがmaxkbytesPerSec(KB/秒)を超えてネットワークに送信されないように指定されます。0(ゼロ)または負の値に設定すると、複製処理で帯域幅の制限が試行されないように指定されます。

remoteDaemonPort

int

リモート・デーモン・ポート

これを0に設定すると、ターゲット・データベースのデーモン・ポート番号には、ソース・データベース上のデーモンに使用されたポート番号が設定されます。

このオプションは、自動ポート構成を使用したデータベースの複製処理では使用できません。

nThreads4initDR

int

初期化のスレッドの数

障害時リカバリ・サブスクライバの場合、これによって障害時リカバリ・サイトでOracle Databaseの初期化に使用されるスレッドの数が決定します。

TimesTenデータベースが障害時リカバリ・システムにコピーされた後、Oracle Database表が切り捨てられ、TimesTen Classicキャッシュ・グループのデータが障害時リカバリ・システム上のOracle Databaseにコピーされます。

次のTT_REPDUP_INITCACHEDRフラグも参照してください。

localIP

const char*

複製操作に使用するローカル・ネットワーク・インタフェースのエイリアスまたはIPアドレス(IPv4またはIPv6)を指定する、NULLで終わる文字列。ローカル・ネットワーク・インタフェースを指定しない場合は、これをNULLに設定します。この場合、互換性のあるインタフェースは使用できます。

remoteIP

const char*

複製操作のために使用するリモート・ネットワーク・インタフェースのエイリアスまたはIPアドレス(IPv4またはIPv6)を指定する、NULLで終わる文字列。リモート・ネットワーク・インタフェースを指定しない場合は、これをNULLに設定します。この場合、互換性のあるインタフェースは使用できます。

ノート: localIPremoteIPの両方を指定することも、どちらかを使用することも、どちらも指定しないでおくこともできます。

crsManaged

int

内部で使用

0(ゼロ)(デフォルト)に設定する必要があります。

ttRepDuplicateExArgflags要素は、次の値で構成されています。

説明

TT_REPDUP_NOFLAGS

フラグがないことを示します。

TT_REPDUP_COMPRESS

複製処理に対して、ネットワークを介して送信されるデータの圧縮を有効にします。

TT_REPDUP_REPSTART

ttRepDuplicateExに対して、リモート・データベースがネットワークを介してコピーされる前に、リモート・データベースの(ローカル・データベースに対する)レプリケーションの状態をstartに設定するように指示します。これによって、複製処理の後で行われたすべての更新が、リモート・データベースから新しく作成またはリストアされたローカル・データベースにレプリケートされます。

TT_REPDUP_RAMLOAD

複製処理の完了時に、メモリー内にデータベースを保持します。データベースのRAMポリシーがmanualに変更されます。

TT_REPDUP_DELXLA

ttRepDuplicateExに対して、すべてのXLAブックマークを複製処理の一部として削除するように指示します。

TT_REPDUP_NOKEEPCG

キャッシュ・グループ定義を保持しないため、ttRepDuplicateExは、すべてのキャッシュ・グループ表を通常の表に変換します。

デフォルトでは、キャッシュ・グループ定義は保持されます。

TT_REPDUP_RECOVERINGNODE

AWTまたは自動リフレッシュ・キャッシュ・グループを含むレプリケーション・スキームの障害ノードのリカバリにttRepDuplicateExを使用すること指定します。新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合、TT_REPDUP_RECOVERINGNODEは指定しないでください。ttRepDuplicateExでOracle Databaseに格納されているメタデータを更新できず、すべての増分自動リフレッシュ・キャッシュ・グループがレプリケートされる場合、メタデータへの更新は、キャッシュおよびレプリケーション・エージェントが開始されるまで、自動的に延期されます。

TT_REPDUP_DEFERCACHEUPDATE

キャッシュおよびレプリケーション・エージェントが開始され、エージェントがOracle Databaseに接続できるまで、Oracle Databaseに格納されているメタデータの更新を強制的に延期します。このオプションを使用すると、増分キャッシュ・グループの一部がレプリケートされない場合、またはttRepDuplicateExを使用して新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合に、完全な自動リフレッシュが行われます。

TT_REPDUP_INITCACHEDR

障害時リカバリを初期化します。データ構造体でcacheuidおよびcachepwdも指定する必要があります。データ構造体で、nThreads4initDRも参照してください。

関連項目

Oracle TimesTen In-Memory DatabaseリファレンスttRepAdmin -duplicate

次の組込みプロシージャについては、『Oracle TimesTen In-Memory Databaseリファレンス』組込みプロシージャを参照してください。

  • ttReplicationStatus
  • ttRepPolicySet
  • ttRepStop
  • ttRepSubscriberStateSet
  • ttRepSyncGet
  • ttRepSyncSet