ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者ガイド
リリース11.2.1
B56048-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

8 TimesTenユーティリティAPI

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

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


重要:

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

これらの関数はTimesTen ClientまたはJavaアプリケーションではサポートされていません。TimesTen Data Manager 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を使用して書き込むことができるHANDLEです。 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


ttDestroyDataStore

説明

接続文字列で指定したデータ・ストアに対応する、すべてのチェックポイント・ファイル、トランザクション・ログ、およびデーモン・カタログ・エントリを含むデータ・ストアを破棄します。 サポートされているUNIXプラットフォームの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プラットフォームの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

説明

最後のアプリケーションがデータ・ストアから接続を切断した後、接続文字列で指定したデータ・ストアが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」
「ttRamPolicy」
「ttRamUnload」

ttRamLoad

説明

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

必要な権限

インスタンス管理者が必要です。

構文

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");

参照


「ttRamGrace」
「ttRamPolicy」
「ttRamUnload」

ttRamPolicy

説明

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

必要な権限

インスタンス管理者が必要です。

構文

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

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
connStr const char * RAMポリシーを設定するデータ・ストアについて記述する接続文字列を指定する、空文字で終了する文字列。
policy ttRamPolicyType 指定したデータ・ストア用のシステムRAMにTimesTenがデータ・ストアをロードするタイミングを決定するためのポリシーを指定します。有効な値は、次のとおりです。
  • 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);

注意

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

参照


「ttRamGrace」
「ttRamLoad」
「ttRamUnload」

ttRamUnload

説明

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

必要な権限

インスタンス管理者が必要です。

構文

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はデータ・ストアのアンロードを常に試行します。

参照


「ttRamGrace」
「ttRamLoad」
「ttRamPolicy」

ttRepDuplicateEx

説明

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


注意:

データ・ストアでキャッシュ・グループが使用されない場合、cacheuidおよびcachepwdデータ構造体要素、TT_REPDUP_NOKEEPCG、TT_REPDUP_RECOVERINGNODEおよびTT_REPDUP_DEFERCACHEUPDATEの各フラグ値は関連しません。これらについては、以降で説明します。

必要な権限

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

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

構文

ttRepDuplicateEx (ttUtilHandle handle,
                  const char *destConnStr,
                  const char *srcDatastore,
                  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
      /*new struct elements can only be added here at the end */
} ttRepDuplicateExArg

パラメータ

パラメータ 説明
handle ttUtilHandle ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
destConnStr const char * リモート・データ・ストアのレプリカとして作成するローカル・データ・ストアの接続文字列を指定する、空文字で終了する文字列。
srcDatastore const char * リモートのソース・データ・ストア名を指定する、空文字で終了する文字列。 この名前は、データ・ストア・パス名の最後の部分です。
remoteHost const char * リモートのソース・データ・ストアが配置されているシステムのTCP/IPホスト名を指定する、空文字で終了する文字列。
arg ttRepDuplicateExArg* 必要なttRepDuplicateEx引数が含まれている構造体のアドレス。 NULLがargに対して渡される場合、またはarg -> sizeの値が無効な場合は、エラー12230(「Invalid argument value」)およびTTUTIL_ERRORが返されます。

構造体要素

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

要素 説明
size unsigned int 最大(ttRepDuplicateExArg)のサイズまで設定する必要があります。
flags unsigned int フラグ値の表のリストから選択される値のビット単位の共用体。
uid const char * リモートのソース・データ・ストアでADMIN権限を持つユーザーのユーザー名。 このユーザー名は、複製処理を実行するためにリモートのソース・データ・ストアに接続する場合に使用されます。
pwd const char * uidに関連付けられているパスワード。
pwdcrypt const char * ユーザーIDに関連付けられている暗号化されたパスワード。
cacheuid const char * キャッシュ管理ユーザーID。
cachepwd const char * キャッシュ管理ユーザー・パスワード。
localHost const char * ローカル・システムのTCP/IPホスト名を指定する、空文字で終了する文字列。remoteRepStartがTT_FALSEの場合、localHostは無視されます。 これによってローカル・ホストは明示的に識別されます。 このパラメータはNULLにできます。 これは、IPアドレスなどの標準でない名前をローカル・ホストに使用する場合に有効です。
truncListLen int truncListの要素の数。
truncList const char** 複製後に切り捨てるレプリケーションされていない表のリスト。
dropListLen int dropListの要素の数。
dropList const char** 複製処理後に削除するレプリケーションされていない表のリスト。
maxkbytesPerSec int maxkbytesPerSecを0(ゼロ)以外の値に設定すると、複製処理でデータがmaxkbytesPerSec(KB/秒)を超えてネットワークに送信されないように指定されます。 maxkbytesPerSecを0(ゼロ)または負の値に設定すると、複製処理で帯域幅の制限が試行されないように指定されます。
remoteDaemonPort int リモート・デーモン・ポートを指定します。 remoteDaemonPortを0に設定すると、ターゲット・データ・ストアのデーモン・ポート番号には、ソース・データ・ソース上のデーモンに使用されたポート番号が設定されます。

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


ttRepDuplicateExArgフラグ要素には、次の値があります。

説明
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を使用して新しいレプリケーション・スキームまたは変更したレプリケーション・スキームをノードに適用する場合に、完全な自動リフレッシュが行われます。

データ・ストア・パス名が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リファレンス』の組込みプロシージャに関する項を参照してください。


「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を使用して読み込むことができるHANDLEです。 GetStdHandle(STD_INPUT_HANDLE)の結果を渡すと、標準入力から読み取られます。

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

flags 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


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の場合、このパラメータは無視されます。

リターン・コード

ttUtilAllocEnvは、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」
「ttUtilGetError」
「ttUtilGetErrorCount」

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の場合、このパラメータは無視されます。

リターン・コード

ttUtilFreeEnvは、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);

参照


「ttUtilAllocEnv」
「ttUtilGetError」
「ttUtilGetErrorCount」

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の場合、このパラメータは無視されます。

リターン・コード

ttUtilGetErrorは、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を繰り返しコールする必要があります。

参照


「ttUtilAllocEnv」
「ttUtilFreeEnv」
「ttUtilGetErrorCount」

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を除く)によって生成されたエラーおよび警告の数を示します。

リターン・コード

ttUtilGetErrorCount関数は、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を繰り返しコールする必要があります。

参照


「ttUtilAllocEnv」
「ttUtilFreeEnv」
「ttUtilGetError」

ttXactIdRollback

説明

指定したトランザクションIDによって示されたトランザクションをロールバックします。 ttXactIdRollbackの対象ユーザーは、ttXactAdminユーティリティです。 ただし、他のスレッドの処理をロールバックできるスレッドを持つプログラムでは、処理を開始する前にそれらのスレッドで組込みプロシージャ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)
   {
  ...
}