ttBackup

説明

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

『Oracle TimesTen In-Memory Databaseリファレンス』ttBackupも参照してください。

必要な権限

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

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

Linuxまたは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つの増分可能バックアップのみがサポートされます。

関連項目