ヘッダーをスキップ
Oracle® TimesTen In-Memory Database C開発者ガイド
11gリリース2 (11.2.2)
B66444-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 TimesTenユーティリティAPI

この章で説明するTimesTenユーティリティ・ライブラリのC言語関数は、『Oracle TimesTen In-Memory Databaseリファレンス』のユーティリティに関する項で説明されているコマンドライン・ユーティリティの一部に対して、プログラム可能なインタフェースを提供します。

このC言語関数のセットを使用するアプリケーションでは、ttutillib.hをインクルードし、TimesTenドライバ・ライブラリ(UNIXではlibtten、Windowsではttdv1122.libおよびtten1122.lib)およびTimesTenユーティリティ・ライブラリ(UNIXではlibttutil、Windowsではttutil1122.lib)の両方をリンクする必要があります。


重要:

アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数をコールする前に、ttUtilAllocEnv C関数をコールする必要があります。また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合、アプリケーションは、ttUtilFreeEnv C関数をコールする必要があります。

これらの関数はTimesTen ClientまたはJavaアプリケーションではサポートされていません。それらは、直接ドライバを使用するTimesTen ODBCアプリケーションでサポートされます。(クイック・スタート・アプリケーションで提供されるTimesTenドライバ・マネージャではこれらの関数をサポートしていますが、ドライバ・マネージャ自体が完全にはサポートされているわけではありません。「ODBCドライバ・マネージャとのリンク」のこのドライバ・マネージャについての注意を参照してください。)

リターン・コード

特に指定されていないかぎり、ユーティリティ関数は、ttutillib.hで定義されている次のコードを返します。

コード 説明
TTUTIL_SUCCESS 成功を示します。
TTUTIL_ERROR エラーが発生したことを示します。
TTUTIL_WARNING 成功時に、警告が生成されたことを示します。
TTUTIL_INVALID_HANDLE 無効なユーティリティ・ライブラリ・ハンドルが指定されていることを示します。


注意:

アプリケーションでは、ttUtilGetError C関数をコールして、実際のエラー情報または警告情報をすべて取得する必要があります。

ttBackup

説明

connStrで指定したデータベースの全体バックアップまたは増分バックアップのコピーを作成します。データベースは、一連のファイルまたはストリームのいずれかにバックアップできます。ttRestore関数またはttRestoreユーティリティを使用して、後でデータベースをリストアできます。

TimesTenのバックアップとリストア機能の概要は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』の移行、バックアップおよびリストアに関する説明を参照してください。

必要な権限

ADMIN

構文

ttBackup (ttUtilHandle handle, const char* connStr,
          ttBackUpType type, ttBooleanType atomic,
          const char* backupDir, const char* baseName,
          ttUtFileHandle stream)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、バックアップするデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。
type ttBackupType 実行するバックアップの種類を指定します。有効な値は次のとおりです。
  • TT_BACKUP_FILE_FULL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにファイルの全体バックアップを実行します。作成されたバックアップは、増分バックアップでは使用できません。

  • TT_BACKUP_FILE_FULL_ENABLE: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにファイルの全体バックアップを実行します。作成されたバックアップは、増分バックアップで使用できます。

  • TT_BACKUP_FILE_INCREMENTAL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにデータベースの増分可能バックアップが含まれている場合は、そのバックアップ・パスでファイルの増分バックアップを実行します。それ以外の場合は、エラーが返されます。

  • TT_BACKUP_FILE_INCR_OR_FULL: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにデータベースの増分可能バックアップが含まれている場合は、そのバックアップ・パスでファイルの増分バックアップを実行します。それ以外の場合は、データベースのファイルの完全バックアップを実行し、増分可能のマークを付けます。

  • TT_BACKUP_STREAM_FULL: streamパラメータで指定したストリームでストリーム・バックアップを実行します。

  • TT_BACKUP__INCREMENTAL_STOP: バックアップを実行しません。backupDirおよびbaseNameパラメータで指定されたバックアップ・パスの増分バックアップを無効にします。これにより、増分バックアップでトランザクション・ログ・ファイルが蓄積することを回避します。

atomic ttBooleanType 新しいバックアップが作成されている間、同じbaseNameおよびbackupDirを持つ既存のバックアップの処理を指定します。

このパラメータは、同じbaseNameおよびbackupDirを持つ既存のバックアップがある場合に、ファイルの全体バックアップでのみ有効です。増分バックアップの場合、既存のバックアップを置き換えるのではなく増補するため、このパラメータは無視されます。ストリーム・バックアップの場合は、baseNameおよびbackupDirパラメータを無視して、指定したストリームに書き込まれるため、このパラメータは無視されます。

有効な値は、次のとおりです。

  • TT_FALSE: 新しいバックアップを開始する前に、既存のバックアップが破棄されます。新しいバックアップが正常に完了しなかった場合、新しい不完全なバックアップも既存のバックアップもデータベースのリストアに使用できません。このオプションは、データベースのバックアップを初めて行う場合、異なるbaseNameまたはbackupDirを使用するデータベースの別のバックアップがある場合、またはデータベースのバックアップが存在しない時間帯(通常、大規模なデータベースで数十分)をアプリケーションが許容できる場合にのみ使用する必要があります。

  • TT_TRUE: 既存のバックアップは、新しいバックアップが正常に完了した後にのみ破棄されます。新しいバックアップが正常に完了しなかった場合、古いバックアップは保持されていて、データベースのリストアに使用できます。同じbaseNameおよびbackupDirを持つ既存のバックアップがある場合にこのオプションを使用すると、既存のバックアップも新しいバックアップもデータベースのリストアに使用できない時間帯はなくなり、既存のバックアップは、新しいバックアップによって正常に置き換えられた場合にのみ破棄されます。ただし、既存のバックアップと新しいバックアップの両方がbackupDirに同時に存在するには、十分なディスク領域が必要です。

backupDir const char* ファイル・バックアップのバックアップ・ディレクトリを指定します。このパラメータは、ストリーム・バックアップでは無視されます。それ以外の場合はNULL以外になります。

TT_BACKUP_INCREMENTAL_STOPの場合は、無効にするバックアップ・パスのディレクトリ部分を指定します。

TT_BACKUP_INCREMENTAL_STOPまたはファイル・バックアップの場合は、NULLを指定すると、エラーが返されます。

baseName const char* ファイル・バックアップのbackupDirパラメータで指定されたバックアップ・ディレクトリ内のバックアップ・ファイルのファイル接頭辞を指定します。

このパラメータは、ストリーム・バックアップでは無視されます。

このパラメータにNULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データベースのODBC定義に設定されたDataStore属性のファイル名部分が適用されます。

TT_BACKUP_INCREMENTAL_STOPの場合、このパラメータは無効にするバックアップ・パスのベース名部分を指定します。

stream ttUtFileHandle ストリーム・バックアップの場合、このパラメータはバックアップが書き込まれるストリームを指定します。

UNIXの場合は、write(2)を使用して書き込むことができる整数ファイル記述子です。1を渡すと、stdoutにバックアップが書き込まれます。

Windowsの場合は、WriteFileを使用して書き込むことができるハンドルです。GetStdHandle(STD_OUTPUT_HANDLE)の結果を渡すと、標準出力にバックアップが書き込まれます。

このパラメータは、ファイル・バックアップでは無視されます。

アプリケーションで、このパラメータに対してTTUTIL_INVALID_FILE_HANDLEを渡すことができます。


この例では、payrollというDSNのデータベースアをC:\backupにバックアップします。

ttUtilHandle  utilHandle;
int           rc;
rc = ttBackup (utilHandle,  "DSN=payroll", TT_BACKUP_FILE_FULL,
     TT_TRUE, "c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE);

バックアップが正常に行われると、すべてのファイルがC:\backupディレクトリに作成されます。

注意

各データベースで、8つの増分可能バックアップのみがサポートされます。

関連項目


ttRestore
『Oracle TimesTen In-Memory Databaseリファレンス』の「ttBackup」および「ttRestore」ユーティリティ

ttDestroyDataStore

説明

接続文字列で指定したデータベースに対応する、すべてのチェックポイント・ファイル、トランザクション・ログおよびデーモン・カタログ・エントリを含むデータベースを破棄します。サポートされているUNIXプラットフォームのsys.odbc.iniまたはユーザーodbc.iniファイル内、またはサポートされているWindowsプラットフォームのWindowsレジストリ内に定義されているDSN自体は削除されません。

必要な権限

インスタンス管理者

構文

ttDestroyDataStore (ttUtilHandle handle, const char* connStr,
                    unsigned int timeout)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、破棄するデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。DSNおよびDataStore属性を除く、この接続文字列内のすべての属性が無視されます。
timeout unsigned int コール元に返される前に再試行する回数を指定します。ttDestroyDataStoreは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。これは、データベースの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。

このパラメータ値が0(ゼロ)の場合、再試行は実行されません。


この例では、ファイルC:\dsns\payroll.ds0C:\dsns\payroll.ds1およびいくつかのトランザクション・ログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータベースを破棄します。

char            errBuff [256];
int             rc;
unsigned int    retCode;
ttUtilErrType   retType;
ttUtilHandle    utilHandle;
...
...
rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS)
   printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
   printf ("TimesTen utility library handle is invalid.\n");
else
  while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
           &retType, errBuff, sizeof (errBuff), NULL)) !=
           TTUTIL_NODATA)
    {
  ...
  ...
}

ttDestroyDataStoreForce

説明

接続文字列で指定したデータベースに対応する、すべてのチェックポイント・ファイル、トランザクション・ログおよびデーモン・カタログ・エントリを含むデータベースを破棄します。サポートされているUNIXプラットフォームのsys.odbc.iniまたはユーザーodbc.iniファイル内、またはサポートされているWindowsプラットフォームのWindowsレジストリ内に定義されているDSN自体は削除されません。

必要な権限

インスタンス管理者

構文

ttDestroyDataStoreForce (ttUtilHandle handle, const char* connstr,
                         unsigned int timeout)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、破棄するデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。DSNおよびDataStore属性を除く、この接続文字列内のすべての属性が無視されます。
timeout unsigned int コール元に返される前に再試行する秒数を指定します。ttDestroyDataStoreForceユーティリティは、正常に実行されるかタイムアウトに達するまで、破棄処理を1秒ごとに繰り返し再試行します。これは、データベースの使用中などの一時的な状態が原因で破棄が失敗する場合に有効です。

このパラメータ値が0(ゼロ)の場合、再試行は実行されません。


この例では、ファイルC:\dsns\payroll.ds0C:\dsns\payroll.ds1およびいくつかのトランザクション・ログ・ファイルC:\dsns\payroll.lognで構成されるpayrollというDSNで定義されているデータベースを破棄します。

char              errBuff [256];
int               rc;
unsigned int      retCode;
ttUtilErrType     retType;
ttUtilHandle      utilHandle;
...
...
rc = ttDestroyDataStoreForce (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS)
  printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
  printf ("TimesTen utility library handle is invalid.\n");
else
  while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
                               &retType, errBuff, sizeof (errBuff), NULL)) !=
                               TTUTIL_NODATA)
    {
  ...
  ...
}

ttRamGrace

説明

最後のアプリケーションがデータベースから接続を切断した後、接続文字列で指定したデータベースがTimesTenによってRAMに保持される秒数を指定します。その後、TimesTenはデータベースをアンロードします。この猶予期間は随時設定または再設定が可能ですが、RAMポリシーがTT_RAMPOL_INUSEに設定されている場合のみです。

必要な権限

インスタンス管理者

構文

ttRamGrace (ttUtilHandle handle, const char* connStr, unsigned int seconds)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、RAM猶予期間を設定するデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。
seconds unsigned int 最後のアプリケーションがデータベースから接続を切断した後、TimesTenがデータベースをRAMに保持する秒数を指定します。その後、TimesTenはデータベースをアンロードします。

この例では、payrollというDSNに10秒のRAM猶予期間を設定します。

ttUtilHandle   utilHandle;
int            rc;
rc = ttRamGrace (utilHandle, "DSN=payroll", 10);

ttRamLoad

説明

接続文字列で指定したデータベースをシステムのRAMにロードするようにTimesTenに指示します。永続データベースでは、ttRamLoadへのコールはRamPolicyTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データベースでは、ttRamLoadへのコールによってデータベースがRAMにロードされます。

関連の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttRamPolicySetに関する説明、またはttRamPolicyを参照してください。

必要な権限

インスタンス管理者

構文

ttRamLoad (ttUtilHandle handle, const char* connStr)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、RAMにロードするデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。

この例では、payrollというDSNのデータベースをロードします。

ttUtilHandle   utilHandle;
int            rc;
rc = ttRamLoad (utilHandle, "DSN=payroll");

ttRamPolicy

説明

接続文字列で指定したデータベースをTimesTenがシステムRAMにロードするタイミングを決定するためのポリシーを定義します。

必要な権限

インスタンス管理者

構文

ttRamPolicy (ttUtilHandle handle, const char* connStr,
             ttRamPolicyType policy)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、RAMポリシーを設定するデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。
policy ttRamPolicyType 指定したデータベースをTimesTenがシステムRAMにロードするタイミングを決定するためのポリシーを指定します。有効な値は、次のとおりです。
  • TT_RAMPOL_ALWAYS: データベースが常時RAMに存在するように指定します。

  • TT_RAMPOL_MANUAL: ttRamLoad C関数またはttAdmin -ramLoadコマンドのいずれかを使用して、データベースが明示的にRAMにロードされるように指定します。同様に、データベースは、ttRamUnload C関数またはttAdmin -ramUnloadコマンドを使用して明示的にRAMからアンロードできます。

  • TT_RAMPOL_INUSE: アプリケーションでデータベースに接続する場合にデータベースがRAMにロードされるように指定します。このRAMポリシーは、ttRamGrace C関数またはttAdmin -ramGraceコマンドを使用して、さらに変更できます。

指定したデータベースに対して明示的にRAMポリシーを設定しない場合、デフォルトのRAMポリシーはTT_RAMPOL_INUSEとなります。


この例では、payrollというDSNのRAMポリシーをmanualに設定します。

ttUtilHandle   utilHandle;
int            rc;
rc = ttRamPolicy (utilHandle, "DSN=payroll", TT_RAMPOL_MANUAL);

注意

一時データベースにポリシーは設定できません。

ttRamUnload

説明

TimesTen RAMポリシーがmanualに設定されている場合に、接続文字列で指定したデータベースをシステムのRAMからアンロードするようにTimesTenに指示します。永続データベースでは、このコールはRAMポリシーがTT_RAMPOL_MANUALに設定されている場合にのみ有効です。一時データベースでは、RAMポリシーを設定できないため、ttRamUnloadをコールすると、RAMからのデータベースのアンロードが常に試行されます。

関連の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttRamPolicySetに関する説明、またはttRamPolicyを参照してください。

必要な権限

インスタンス管理者

構文

ttRamUnload (ttUtilHandle handle, const char* connStr)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、RAMからアンロードするデータベースの接続文字列を指定する、空文字で終了する文字列です。

この例では、payrollというDSNのデータベースをRAMからアンロードします。

ttUtilHandle   utilHandle;
int            rc;
rc = ttRamUnload (utilHandle, "DSN=payroll");

注意

この関数を一時データベースに対して使用すると、TimesTenはデータベースのアンロードを常に試行します。

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;
      /*new struct elements can only be added here at the end */
} 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 サイズ

これは、最大(ttRepDuplicateExArg)のサイズまで設定する必要があります。

フラグ unsigned int フラグ値の表のリストから選択される値のビット単位の共用体
uid const char* リモートのソース・データベースでADMIN権限を持つユーザーのユーザー名

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

pwd const char* ユーザーIDに関連付けられているパスワード
pwdcrypt const char* ユーザーIDに関連付けられている暗号化されたパスワード
cacheuid const char* TimesTen Cache管理ユーザーID
cachepwd const char* TimesTen Cache管理ユーザー・パスワード
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キャッシュ・グループのデータが障害時リカバリ・システム上の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(ゼロ)(デフォルト)に設定する必要があります。


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

説明
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も参照してください。

この例では、データベース・パス名がC:\dsns\payrollであるremote_payrollというリモートのTimesTen DSNのレプリカをlocal_payrollというローカルDSNに作成します。

ttUtilHandle utilHandle;
int rc;
ttRepDuplicateExArg arg;

memset(&arg, 0, sizeof(arg));
arg.size = sizeof(ttRepDuplicateExArg);
arg.flags = TT_REPDUP_REPSTART | TT_REPDUP_DELXLA;
arg.localHost = "mylocalhost";
arg.uid="myuid";
arg.pwd="mypwd";
rc=ttRepDuplicateEx(utilHandle,"DSN=local_payroll","payroll","remotehost", &arg);

関連項目

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』ttRepAdmin -duplicateに関する説明を参照してください。

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


「ttReplicationStatus」
「ttRepPolicySet」
「ttRepStop」
「ttRepSubscriberStateSet」
「ttRepSyncGet」
「ttRepSyncSet」

ttRestore

説明

ttBackup C関数またはttBackupユーティリティを使用して作成したバックアップから、接続文字列で指定したデータベースをリストアします。データベースがすでに存在している場合、ttRestoreはデータベースを上書きしません。

TimesTenのバックアップとリストア機能の概要は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』の移行、バックアップおよびリストアに関する説明を参照してください。

必要な権限

インスタンス管理者

構文

ttRestore (ttUtilHandle handle, const char* connStr, 
           ttRestoreType type, const char* backupDir, 
           const char* baseName, ttUtFileHandle stream,
           unsigned intflags)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char* これは、リストアするデータベースについて記述する接続文字列を指定する、空文字で終了する文字列です。
type ttRestoreType ファイル・バックアップまたはストリーム・バックアップのどちらからデータベースをリストアするかを指定します。有効な値は、次のとおりです。
  • TT_RESTORE_FILE: backupDirおよびbaseNameパラメータで指定されたバックアップ・パスにあるファイル・バックアップから、データベースをリストアします。

  • TT_RESTORE_STREAM: 指定したストリームから読み取られたストリーム・バックアップから、データベースをリストアします。

backupDir const char* TT_RESTORE_FILEの場合、バックアップ・ファイルが保存されるディレクトリを指定します。

TT_RESTORE_STREAMの場合、このパラメータは無視されます。

baseName const char* TT_RESTORE_FILEの場合、backupDirパラメータで指定されたバックアップ・ディレクトリにあるバックアップ・ファイルのファイル接頭辞を指定します。

NULLを指定すると、バックアップ・ファイルのファイル接頭辞には、データベースのODBC定義に設定されたDataStore属性のファイル名部分が適用されます。

TT_RESTORE_STREAMの場合、このパラメータは無視されます。

stream ttUtFileHandle TT_RESTORE_STREAMの場合、バックアップを読み取るストリームを指定します。

UNIXの場合は、read(2)を使用して読み込むことができる整数ファイル記述子です。0(ゼロ)を渡すと、stdinからバックアップが読み取られます。

Windowsの場合は、ReadFileを使用して読み込むことができるハンドルです。GetStdHandle(STD_INPUT_HANDLE)の結果を渡すと、標準入力から読み取られます。

TT_RESTORE_FILEの場合、このパラメータは無視されます。アプリケーションで、このパラメータに対してTTUTIL_INVALID_FILE_HANDLEを渡すことができます。

フラグ unsigned int これは、将来使用するために予約されています。0(ゼロ)に設定します。

この例では、payrollというDSNのデータベースをC:\backupからリストアします。

ttUtilHandle   utilHandle;
int            rc;

rc = ttRestore (utilHandle, "DSN=payroll", TT_RESTORE_FILE,
              "c:\\backup", NULL, TTUTIL_INVALID_FILE_HANDLE, 0);

関連項目


ttBackup
『Oracle TimesTen In-Memory Databaseリファレンス』のttBackupおよびttRestoreユーティリティに関する説明

ttUtilAllocEnv

説明

TimesTenユーティリティ・ライブラリ環境ハンドルにメモリーを割り当て、アプリケーションで使用されるTimesTenユーティリティ・ライブラリ・インタフェースを初期化します。アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合、アプリケーションは、ttUtilFreeEnvをコールする必要があります。

必要な権限

ありません。

構文

ttUtilAllocEnv (ttUtilHandle* handle_ptr, char* errBuff,
                unsigned int buffLen, unsigned int* errLen)

パラメータ

パラメータ 説明
handle_ptr ttUtilHandle* TimesTenユーティリティ・ライブラリ環境ハンドルが返される記憶域へのポインタを指定します。
errBuff char* これは、エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファです。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
buffLen unsigned int バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
errLen unsigned int* これは、エラー・メッセージの実際の長さが返される、符号なし整数へのポインタです。NULLの場合、このパラメータは無視されます。

リターン・コード

このユーティリティは、ttutillib.hで定義されている次のコードを返します。

コード 説明
TTUTIL_SUCCESS 成功時に返します。

これ以外の場合、tt_errCode.hに定義されているTimesTen固有のエラー・メッセージおよび対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。

この例では、utilHandleという名前を使用して、TimesTenユーティリティ・ライブラリ環境ハンドルを割り当てて初期化します。

char           errBuff [256];
int            rc;
ttUtilHandle   utilHandle;

rc = ttUtilAllocEnv (&utilHandle, errBuff, sizeof(errBuff), NULL);

ttUtilFreeEnv

説明

TimesTenユーティリティ・ライブラリ環境ハンドルに関連付けられているメモリーを解放します。

アプリケーションでは、他のすべてのTimesTenユーティリティ・ライブラリ関数より前に、ttUtilAllocEnvをコールする必要があります。また、TimesTenユーティリティ・ライブラリ・インタフェースを使用して処理を行う場合、アプリケーションは、ttUtilFreeEnvをコールする必要があります。

必要な権限

ありません。

構文

ttUtilFreeEnv (ttUtilHandle handle, char* errBuff,
               unsigned int buffLen, unsigned int* errLen)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
errBuff char* これは、エラー・メッセージが返される、ユーザーが割り当てるバッファです。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
buffLen unsigned int バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
errLen unsigned int* これは、エラー・メッセージの実際の長さが返される、符号なし整数へのポインタです。NULLの場合、このパラメータは無視されます。

リターン・コード

このユーティリティは、ttutillib.hで定義されている次のコードを返します。

コード 説明
TTUTIL_SUCCESS 成功時に返します。
TTUTIL_INVALID_HANDLE 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。

これ以外の場合、tt_errCode.hに定義されているTimesTen固有のエラー・メッセージおよび対応するエラー・メッセージが、コール元によって提供されるバッファに返されます。

この例では、utilHandleというTimesTenユーティリティ・ライブラリ環境ハンドルを解放します。

char           errBuff [256];
int            rc;
ttUtilHandle   utilHandle;

rc = ttUtilFreeEnv (utilHandle, errBuff, sizeof(errBuff), NULL);

ttUtilGetError

説明

TimesTen Cユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーおよび警告を取得します。

必要な権限

ありません。

構文

ttUtilGetError (ttUtilHandle handle, unsigned int errIndex,
                unsigned int* retCode, ttUtilErrType* retType,
                char* errbuff, unsigned int buffLen,
                unsigned int* errLen)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
errIndex unsigned int TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラーまたは警告レコードを指定します。有効な値は次のとおりです。
  • 0: ユーティリティ・ライブラリ・エラー配列から次のレコードを取得します。

  • 1...n: ユーティリティ・ライブラリ・エラー配列から特定のレコードを取得しますが、ここで、nttUtilGetErrorCountコールによって返されるエラー・カウントです。

retCode unsigned int* tt_errCode.hで定義されているTimesTen固有のエラー・コードまたは警告コードを返します。
retType ttUtilErrType* 返されたメッセージがエラーまたは警告のいずれであるかを示します。有効な戻り値は、次のとおりです。
  • TTUTIL_ERROR

  • TTUTIL_WARNING

errBuff char* これは、エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファです。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
buffLen unsigned int バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
errLen unsigned int* エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、TimesTenではこのパラメータは無視されます。

リターン・コード

このユーティリティは、ttutillib.hで定義されている次のコードを返します。

コード 説明
TTUTIL_SUCCESS 成功時に返します。
TTUTIL_INVALID_HANDLE 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。
TTUTIL_NODATA エラー情報も警告情報も取得されない場合に返します。

この例では、payrollというDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得します。

char            errBuff[256];
int             rc;
unsigned int    retCode;
ttUtilErrType   retType;
ttUtilHandle    utilHandle;

rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30);
if ((rc == TTUTIL_SUCCESS) 
  printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
  printf ("TimesTen utility library handle is invalid.\n");
else
    while ((rc = ttUtilGetError (utilHandle, 0,
        &retCode, &retType, errBuff, sizeof (errBuff),
        NULL)) != TTUTIL_NODATA)
    {
...
...
}

注意

各TimesTen C関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。

ttUtilGetErrorCount

説明

TimesTen Cユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーおよび警告の数を取得します。これらの各関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。

必要な権限

ありません。

構文

ttUtilGetErrorCount (ttUtilHandle handle,
                     unsigned int* errCount)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
errCount unsigned int* TimesTenユーティリティ・ライブラリへの最後のコール(ttUtilAllocEnvおよびttUtilFreeEnvを除く)によって生成されたエラーおよび警告の数を示します。

リターン・コード

このユーティリティは、ttutillib.hで定義されている次のコードを返します。

コード 説明
TTUTIL_SUCCESS 成功時に返します。
TTUTIL_INVALID_HANDLE 無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。

この例では、payrollというDSNに対してttDestroyDataStoreをコールした後に、エラーおよび警告のカウント情報を取得します。

int            rc;
unsigned int   errCount;
ttUtilHandle   utilHandle;

rc = ttDestroyDataStore (utilHandle, "DSN=payroll", 30);
if (rc == TTUTIL_SUCCESS) 
  printf ("Datastore payroll successfully destroyed.\n")

else if (rc == TTUTIL_INVALID_HANDLE) 
  printf ("TimesTen utility library handle is invalid.\n");
else
{
rc = ttUtilGetErrorCount(utilHandle, &errCount);
  ...
  ...
}

注意

各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。

ttXactIdRollback

説明

指定したトランザクションIDによって示されたトランザクションをロールバックします。ttXactIdRollbackの対象ユーザーは、ttXactAdminユーティリティです。ただし、他のスレッドの処理をロールバックできるスレッドを持つプログラムでは、処理を開始する前にそれらのスレッドでttXactIdGet組込みプロシージャをコールし、トランザクションをロールバックするスレッドによって認識される場所にその結果を配置する必要があります。(『Oracle TimesTen In-Memory Databaseリファレンス』のttXactIdGetに関する説明を参照してください。)

必要な権限

ADMIN

構文

ttXactIdRollback (ttUtilHandle handle, const char* connStr,
                  const char* xactId)

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char** ロールバックするトランザクションが含まれているデータベースの接続文字列を指定します。
xactId const char* ロールバックするトランザクションのトランザクションIDを示します。

この例では、payrollというデータベースでIDが3.4567のトランザクションをロールバックします。

char            errBuff [256];
int             rc;
unsigned int    retCode;
ttUtilErrType   retType;
ttUtilHandle    utilHandle;
...
rc = ttXactIdRollback (utilHandle, "DSN=payroll", "3.4567");
if (rc == TTUTIL_SUCCESS)
  printf ("Transaction ID successfully rolled back.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
  printf ("TimesTen utility library handle is invalid.\n");
else
  while ((rc = ttUtilGetError (utilHandle, 0, &retCode,
  &retType, errBuff, sizeof (errBuff), NULL)) != TTUTIL_NODATA)
   {
  ...
}