ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## ttMigrate

説明

TimesTenデータ・ストアからバイナリ・データファイルへの移行オブジェクトの保存、またはバイナリ・データファイルからTimesTenデータ・ストアへの移行オブジェクトのリストアを行います。移行オブジェクトには、表、キャッシュ・グループ定義、ビューおよび順序が含まれます。

メジャー・リリースはバイナリ互換でないため、ttMigrateユーティリティは、TimesTenのメジャー・リリースのアップグレード時に使用されます。例については、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。

プラットフォーム依存のバイナリ・ファイルを生成します。たとえば、Windowsで生成されたバイナリ・ファイルはWindowsにリストアする必要があります。プラットフォーム間でデータをコピーするには、ttBulkCpユーティリティを使用します。

ttMigrateユーティリティは、ビット・レベル間でデータをコピーする場合に使用できます。たとえば、32-bitのSolaris Systemから64-bitのSolaris Systemにデータを移動する場合に使用できます。-noRepUpgradeオプションは、ビット・レベルを変更する場合に使用する必要があります。この場合、データ・ストアは、レプリケーション・スキームに含まれないようにしてください。

UNIXでは、このユーティリティはTimesTen Data Manager DSNで使用できます。TimesTenクライアントDSNでは、ttMigrateCSユーティリティを使用します。

アクセス制御

アクセス制御がTimesTenのインスタンスに対して有効である場合、このユーティリティにはSELECT権限か表を移行するための表の所有権、およびデータ・ストア全体を移行するためのADMIN権限が必要です。接続文字列またはDSNに認証情報が指定されない場合、続行する前にユーザーIDおよびパスワードの入力が求められます。

このユーティリティでは、アクセス制御がTimesTenの新しいインスタンスまた古いインスタンスに対して有効であるかどうかにかかわらず、付与された権限が移行されません。アクセス制御がTimesTenの新しいインスタンスに対して有効である場合は、移行したデータ・ストアに明示的にユーザーを作成し、権限を付与する必要があります。

構文

    ttMigrate [-h | -help]
    ttMigrate [-V | -version]
    ttMigrate  {-a | -c} [-vverbosity] [-nf] [-nr] [-fixNaN]
    {-connStr connection_string | DSN} dataFile
    [owner.name ...]
    ttMigrate -r [-C chkPtFreq] [-nf] [-nr] [-vverbosity] [-fixNaN]
    [-noRepUpgrade | -repUpgrade] [-cacheUid uid [-cachePwd pwd]] [-
    inline rule] {-connStr connection_string | DSN}
    dataFile [owner.name ...]
    ttMigrate -r [-C chkPtFreq] [-nf] [-nr] [-vverbosity] [-fixNaN]
    [-rename oldowner:newowner] [-inline rule]
    [-cacheUid uid [-cachePwd pwd]]
    {-connStr connection_string | DSN} dataFile [owner.name ...]
    ttMigrate {-l | -L | -d | -D} dataFile [owner.name ...]

オプション

ttMigrateには次のオプションがあります。

    -a
| 追加モードを選択します。
    -c
| 作成モードを選択します。
    -cacheUid
| AUTOREFRESHおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループのリストア時に使用するキャッシュ管理ユーザーID。
    -cachePwd
| AUTOREFRESHおよびASYNCHRONOUS WRITETHROUGHキャッシュ・グループのリストア時に使用するキャッシュ管理パスワード。コマンドラインにキャッシュ管理ユーザーIDを入力したが、キャッシュ管理パスワードを入力しなかった場合は、ttMigrateによってパスワードの入力が要求されます。
    -connStr
    connection_string
| データ・ストア名、サーバー名とDSN（必要に応じて）および関連する接続属性を含むODBC接続文字列。
    -d
| 説明モードを選択します。
    -D
| 詳細説明モードを選択します。
    dataFile
| 表の保存先または移行オブジェクトのリストア元のデータファイルのパス名です。
    DSN
| 移行するデータ・ストアのODBCデータソース名を指定します。
-fixNaN | 移行ファイル中のNaN、INF、-INFの値をすべて0.0に変換します。
-h -help | 使用方法のメッセージを出力して終了します。
    -inline rule
| リストア・モードでの可変長列のインライン化に使用するルールを指定します。このルールの値は次のいずれかです。 preserve: ttMigrateは各列の元のインライン・ステータスを保存します（デフォルト）。 -repUpgradeが使用されている場合には必須となります。 dsDefault: ttMigrateは、列のインライン化にデータ・ストアのデフォルトのルールを使用します。 maxlen: ttMigrateは、長さがmaxlen以下のすべての可変長列をインライン化します。 maxlenが0の場合は、列はインライン化されません。 インライン列は非インライン列に正常にレプリケーションできないため、このオプションを移行中に使用する場合は、このオプションをサポートしていないTimesTenバージョンのデータ・ストアでデータ・ストアをレプリケーションしないでください。
    -l
| リスト・モードを選択します。
    -L
| 詳細リスト・モードを選択します。
    -r
| リストア・モードを選択します。
    name
| 表またはキャッシュ・グループの名前です。
    -nf
| 通常の（キャッシュされていない）表の保存またはリストア時に、ttMigrateが外部キー情報の保存またはリストアを行わないことを指定します。
    -noRepUpgrade
| 保存/リストアした表と元の表のレプリケーションとの互換性は保障されません。このオプションを使用することにより、リストアした表のサイズは少し小さくなり、アクセス速度が若干向上する場合があります。-cオプションが指定されている場合、このオプションは無視されます。元の表とリストアした表とのレプリケーションは適切に行われない場合があるため、このオプションの使用には注意が必要です。
    -nr
| 通常の（キャッシュされていない）表の保存またはリストア時に、ttMigrateが表の行の保存またはリストアを行わないことを指定します。
    owner
| 移行オブジェクトの所有者です。
    -rename
    oldowner:newowner
| -rオプションとともに使用した場合、oldownerが所有するすべてのデータ・ストア・オブジェクトをnewownerにリストアします。TimesTenのシステム表（TTREP表およびSYS表）の所有権は変更できません。-repUpgradeオプションとともに使用することはできません。このオプションは、一般に、ある程度注意して使用する必要があります。 このオプションの使用には、一定の注意が必要です。特に、表の新しい修飾名は必ず一意なものとし、既存の表名を上書きしないようにしてください。このことは、データ・ストア内の表の所有者が複数存在し、newowner名が既存の表の所有者名と同じ場合には特に重要です。 レプリケーションに関係する表の名前を変更する場合は特に注意し、レプリケーション・スキームが最新のものであることを確認してください。レプリケート対象の表の所有者が変更されている場合、そのピアのデータ・ストアでも所有者が変更されていないかぎり、その表をピアにレプリケートすることはできません。
    -repUpgrade
| レプリケーションのアップグレードのための表のリストア時に、保存/リストアした表と元の表のレプリケーションでの互換性が保障されます。-cオプションが指定されている場合、このオプションは無視されます。 ttMigrateユーティリティは、リストア・モードではデフォルトで-repUpgradeに設定されます。ttMigrateデータファイルからデータをリストアするとき、ファイルが-repUpgradeオプションをサポートしていないttMigrateのバージョンで作成されている場合、またはファイルの作成時に明示的に-noRepUpgradeを指定した場合（5.1より前のttMigrateバージョンで）、移行オブジェクトがレプリケーションの互換性により作成できなかったことを示すエラーが発生します。
    -vverbosity
| ttMigrateがデータ・ストアのダンプまたはリストアを行うときに出力されるメッセージの冗長レベルを指定します。 メッセージの冗長レベルは、次のいずれかです。 0: エラーおよび警告のみを表示します。 1: 表の保存またはリストア時に、各表の名前を出力します。 2: 表や索引の保存またはリストア時に、各表または索引の名前を出力します。 3: （デフォルト）表や索引の保存またはリストア時に、各表または索引の名前を出力し、10,000行が保存またはリストアされるごとにドット（.）を出力します。 リスト、詳細リスト、説明および詳細説明の各モードでは、-vは無視されます。
    -V | -version
| ttMigrateのリリース番号を出力して終了します。
次のオプションは、リストア・モードにかぎり使用可能です。
    -C chkPtFreq
| chkPtFreqの値（MB）のデータをリストアするたびに、ttMigrateがデータ・ストアのチェック・ポイントを行うことを指定します。0（ゼロ）の値（デフォルト）は、ttMigrateがデータ・ストアのチェック・ポイントを行わないことを指定します。

モード

### 作成モード（-c）と追加モード（-a）

作成モードでは、ttMigrateが移行オブジェクトをTimesTenデータ・ストアから新規のバイナリ・データファイルに保存します。データファイルが存在しない場合には、ttMigrateによって作成されます。それ以外の場合は、ttMigrateは既存のファイルを上書きして、その内容を破棄します。

追加モードでは、ttMigrateは移行オブジェクトをTimesTenデータ・ストアから既存のデータファイルに追加します。データファイルが存在しない場合には、ttMigrateによって作成されます。

様々なリリースのTimesTenの移行オブジェクトを、1つのデータファイルに保存できます。

通常の（キャッシュされていない）各表について、ttMigrateは次のものを保存します。

- 表の説明: 主キーとNULL値可能に関する情報を含む、表の列ごとの名前と型。
- 表の索引定義: 各索引と索引に含まれる列の名前。索引の実際の内容は保存されません。ttMigrateは、表のリストア時に索引を再作成するために必要となる情報のみを保存します。
- 表の外部キー定義: -nfオプションを使用して、外部キー定義の保存を無効にできます。
- 表の行: -nrオプションを使用して行の保存を無効にできます。

各キャッシュ・グループについて、ttMigrateは次のものを保存します。

- キャッシュ・グループの定義: キャッシュ・グループの所有者と名前、キャッシュ・グループ内のすべての表の名前、関連するキャッシュ・グループの設定（キャッシュ・グループの時間など）。

注意: ttMigrateを使用した後は、ソース・データ・ストアでのAUTOREFRESH STATEの設定方法に関係なく、保存先のデータ・ストアのすべての自動リフレッシュ・キャッシュ・グループでAUTOREFRESH STATEがOFFに設定されます。ALTER CACHE GROUP文を使用して、AUTOREFRESH STATEをONにリセットしてください。

- キャッシュ・グループ内のすべてのキャッシュされた表: 表名、列情報、表の属性（伝播または読取り専用）、WHERE句（存在する場合）、外部キー定義、索引定義。

各ビューについて、ttMigrateは次のものを保存します。

- 通常の表と同一のすべての情報。
- ビューを定義する問合せ。

各順序について、ttMigrateは次のものをを保存します。

- 順序の完全な定義。
- 順序の現在の値。

レプリケーション・スキームが定義されている場合、ttMigrateはレプリケーション・スキームを含むすべてのTTREP表を保存します。レプリケーション・スキームには、他のすべてのデータ・ストア・オブジェクトと異なる一意の名前を付ける必要があります。他のデータベース・オブジェクトと同じ名前のレプリケーション・スキームは移行できません。

注意: ttMigrateユーティリティは、-nrオプションを指定しなかった場合でも、キャッシュされた表の行をデータファイルに保存しません。キャッシュされた表の外部キー定義は、キャッシュ・グループの整合性を保つために必要となるため、-nfオプションの使用にかかわらず、常に保存されます。

デフォルトでは、ttMigrateは、表、ビュー、キャッシュ・グループ、順序およびレプリケーション・スキームなどの、データ・ストア内のすべてのデータ・ストア・オブジェクトをデータファイルに保存します。また、レプリケーション・スキームを除き、保存するデータ・ストア・オブジェクトのリストをコマンドラインに指定することもできます。このリスト内の名前には、ワイルド・カード文字の%（1文字以上に一致）と_（単一の文字に一致）を含めることができます。ttMigrateは、指定されたパターンのいずれかに一致する、すべてのデータ・ストア・オブジェクトを保存します。名前を完全修飾する必要はありません。所有者なしで名前を指定すると、ttMigrateは指定された名前またはパターンに一致するすべてのデータ・ストア・オブジェクトを所有者にかかわらず保存します。

キャッシュされた表は、キャッシュ・グループから独立して保存できません。キャッシュされた表をコマンドラインで表示しても、対応するキャッシュ・グループを表示しないと、ttMigrateはエラーを発行します。

-vオプションを使用して、保存の処理中にttMigrateによって出力される情報を制御します。

### リストア・モード（-r）

リストア・モードでは、ttMigrateはすべてのデータ・ストア・オブジェクトをデータファイルからTimesTenデータ・ストアにリストアします。

通常の（キャッシュされていない）各表について、ttMigrateは次のものをリストアします。

- 表（元の所有者、表名、列名、型、NULL値可能に関する設定、オリジナルの主キーを使用）。-renameオプションを使用すると、新しい所有者名で表をリストアできます。
- 表の外部キー。-nfフラグを使用して、外部キーのリストアを無効にできます。
- 表のすべての索引。
- 表のすべての行。-nrフラグを使用して、行のリストアを無効にできます。

各キャッシュ・グループについて、ttMigrateは次のものをリストアします。

- キャッシュ・グループ定義（元のキャッシュ・グループ所有者と名前を使用）。-renameオプションを使用すると、新しい所有者名でキャッシュ・グループをリストアできます。
- キャッシュ・グループ内のすべてのキャッシュされた表（元の表名、列名、型、NULL値可能、元の主キー、表属性（伝播または読取り専用）、およびWHERE句（存在する場合）を使用）。
  -renameオプションを使用すると、新しい所有者名で表をリストアできます。
- キャッシュされた表の外部キー定義。
- キャッシュされた表のすべての索引。

注意: ttMigrateユーティリティは、-nrオプションを指定しなかった場合でも、キャッシュされた表の行をリストアしません。キャッシュされた表の外部キー定義は、キャッシュ・グループの整合性を保つために必要となるため、-nfオプションの使用にかかわらず、常にリストアされます。

デフォルトでは、ttMigrateはデータファイル内のすべての表とキャッシュ・グループをリストアします。デフォルトでは、リストア中に-repUpgradeオプションが設定されます。また、リストアする特定の表とキャッシュ・グループをコマンドラインで表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。

キャッシュされた表は、それらのキャッシュ・グループから独立してリストアできません。キャッシュされた表をコマンドラインで表示しても、対応するキャッシュ・グループを表示しないと、ttMigrateはエラーを発行します。

-vオプションを使用して、リストアの処理中にttMigrateによって出力される情報を制御します。

-inlineオプションを使用すると、可変長列をINLINEまたはNOT INLINEのどちらとしてリストアするかを制御できます。詳細は、「データ型の仕様」を参照してください。デフォルト・モード（-inline preserve）では、ttMigrateはすべての可変長列を、それらが保存されたときと同じINLINEまたはNOT INLINE設定でリストアします。その他の2つのモード（-inline dsDefaultおよび-inline maxlen）では、ttMigrateはしきい値長以下の可変長列をINLINEとしてリストアし、他の可変長列をすべてNOT INLINEとしてリストアします。-inline dsDefaultでは、このしきい値はTimesTenデータ・ストアのデフォルトの自動INLINE長です。-inline maxlenモードでは、maxlenのユーザー定義のしきい値長を持つ可変長列は、INLINEとしてリストアされ、その他のすべての可変長列は、INLINEとして保存されている場合にも、NOT INLINEとしてリストアされます。maxlenが0の場合、すべての可変長列はNOT INLINEとしてリストアされます。

### リスト・モード（-l）と詳細リスト・モード（-L）

リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などの、指定したデータファイル内のデータ・ストア・オブジェクトの名前を表示します。

詳細リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などの、データファイル内のデータ・ストア・オブジェクトの名前を、各表の行数と各表の索引定義、各ビューを定義する問合せ、および各順序の仕様とともに表示します。

デフォルトでは、ttMigrateは、ファイル内のデータ・ストア・オブジェクトをすべて表示します。また、コマンドラインにデータ・ストア・オブジェクトの名前のリストを表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。

### 説明モード（-d）

説明モードでは、ttMigrateは、指定したファイル内のデータ・ストア・オブジェクトに関する簡単な説明を提供します。

各表について、ttMigrateは表名、表の行数、表の列定義、主キーおよび外部キーを表示します。キャッシュされた表については、表の属性（PROPAGATEまたはREADONLY）および表のWHERE句（存在する場合）も表示します。

ビューについて、ttMigrateはビューを定義する問合せも表示します。

キャッシュ・グループについて、ttMigrateはキャッシュ・グループ名、キャッシュ・グループ内の表の数、キャッシュ・グループの持続時間を表示し、キャッシュ・グループ内のキャッシュされた各表について説明します。

レプリケーション・スキームについて、ttMigrateは、すべてのTTREPレプリケーション・スキーム表をユーザー表と同様の方法で表示します。

デフォルトでは、ttMigrateは、ファイル内のデータ・ストア・オブジェクトをすべて示します。また、コマンドラインにデータ・ストア・オブジェクトの名前のリストを表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。

### 詳細説明モード（-D）

詳細説明モードでは、ttMigrateは指定したファイル内のデータ・ストア・オブジェクトに関する詳細な説明を提供します。

各表について、ttMigrateは表名、表の行数、表の列定義、主キー、外部キーおよび索引定義を表示します。キャッシュされた表については、表の属性（PROPAGATEまたはREADONLY）および表のWHERE句（存在する場合）も表示します。

キャッシュ・グループについて、ttMigrateはキャッシュ・グループ名、キャッシュ・グループ内の表の数、キャッシュ・グループの持続時間を表示し、キャッシュ・グループ内のキャッシュされた各表について説明します。

順序について、ttMigrateは順序の現在の値に加えて、その順序の定義に使用されたすべての値を表示します。

レプリケーション・スキームについて、ttMigrateは、すべてのTTREPレプリケーション・スキーム表をユーザー表と同様の方法で表示します。

デフォルトでは、ttMigrateは、ファイル内のデータ・ストア・オブジェクトをすべて示します。また、コマンドラインにデータ・ストア・オブジェクトの名前のリストを表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。

例

次のコマンドでは、すべてのデータ・ストア・オブジェクトが、データ・ストアSalesDSからファイルsales.ttmにダンプされます。sales.ttmがすでに存在している場合は、ttMigrateによって上書きされます。

    ttMigrate -c DSN=SalesDS sales.ttm

    次のコマンドでは、ユーザーMARYが所有するSalesDSデータ・ストア内のすべてのデータ・ストア・オブジェクトをsales.ttmに追加します。

    ttMigrate -a DSN=SalesDS sales.ttm MARY.%

    次のコマンドでは、sales.ttmのすべてのデータ・ストア・オブジェクトをSalesDSデータ・ストアにリストアします。

    ttMigrate -r DSN=SalesDS sales.ttm

    次のコマンドでは、sales.ttmのMARY.PENDINGおよびMARY.COMPLETEDをSalesDSデータ・ストアにリストアします（移行オブジェクトでは大/小文字は無視されます）。

    ttMigrate -r DSN=SalesDS sales.ttm MARY.PENDING  MARY.COMPLETED

    このコマンドでは、sales.ttmに保存されたすべての移行オブジェクトを表示します。

    ttMigrate -l sales.ttm

注意

ttMigrateユーティリティは、デフォルトで-repUpgradeオプションを設定します。-repUpgradeオプションをサポートしていないttMigrateのバージョンを使用した場合、または移行ファイルの作成時に-noRepUpgradeを明示的に指定した場合、レプリケーションの互換性により移行オブジェクトを作成できなかったことを示すエラーが発生します。
移行元のTimesTenリリースの-repUpgradeオプションをサポートするttMigrateのバージョンを取得するか、-noRepUpgradeがサポートされている場合は、デフォルトで-repUpgradeが設定されるTimesTenのバージョンにファイルを移行する際に、-noRepUpgradeを指定します。

INLINE可変長列を含むTimesTen表を、5.1より前のリリースのTimesTenに移行する場合は、明示的に-noRepUpgradeオプションを使用する必要があります。デフォルトの-repUpgradeオプションを使用すると、エラーが発生します。列のINLINE属性は、-inlineオプションを使用して他の指定をしないかぎり保持されます。

リストア・モードでは、表間に外部キーの依存性が存在することで、子表がその親表よりも前にリストアされないことを保証するために、ttMigrateは表を再配置する必要がある場合があります。このような依存性では、親表のいずれかがリストアされなかった場合に、子表がリストアされるのを回避することもできます。たとえば、表Bに対して外部キーの依存性を持つ表Aをリストアする場合、ttMigrateは最初に表Bがデータ・ストアに存在することを確認します。表Bが検出されない場合、ttMigrateは表Bがリストアされるまで表Aのリストアを遅らせます。表BがttMigrateセッションの一部としてリストアされない場合、TimesTenは未解決の依存性により表Aをリストアできなかったことを示すエラー・メッセージがTimesTenによって出力されます。

ttMigrateによって使用されるデータファイル形式は、TimesTenのいずれのリリースからも独立しているため、あるTimesTenリリースから別のリリースへデータを移行する場合にttMigrateを使用できます。

レプリケート済データ・ストアの完全な移行を実行する前に、移行元データ・ストアと移行先データ・ストアのホスト名とデータ・ストア名が同じであることを確認する必要があります。

-renameオプションを使用する場合は、次の点に注意してください。

- 新しい所有者名が存在していない場合でも、ttMigrateからエラーまたは警告は返されません。
- 前の所有者名が存在しない場合、ttMigrateの処理の最後に警告が出力され、指定した所有者のオブジェクトの名前が変更されなかったことが示されます。
- 新しい所有者でデータ・ストア・オブジェクトを作成することでエラーが返された場合、ttMigrateはエラーを出力して処理を続行します。
- TimesTenシステム表（接頭辞がTTREPまたはSYSの表）は名前を変更できません。

ttMigrateはバイナリ形式を使用するため、次の処理には使用できません。

- ハードウェア・プラットフォーム間でのデータ・ストアの移行。
- ttBackupで保存されたデータのリストア、またはttMigrateで保存されたデータをリストアするためのttBackupの使用。

32-bitと64-bitのプラットフォーム間で、2つのプラットフォームがそれ以外は同じである場合は、ttMigrateを使用してデータ・ストアを移行できます。『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』の例を参照してください。

Windowsでは、ttMigrateを使用して、TimesTenのどのリリースからでもデータ・ストアにアクセスできます。

Windowsでは、このユーティリティはすべてのTimesTen Data ManagerとクライアントDSNで使用できます。

UNIXでは、ttMigrateのリリースは接続中のデータ・ストアのリリースと一致する必要があります。

関連項目

ttBackup （ttBackup）。ttBackupユーティリティは、データ・ストアをバックアップします。これは特定の状態でデータ・ストアのスナップショットを作成するのに役立ちます。

ttBulkCp（ttBulkCp）。ttBulkCpユーティリティは、表をASCIIファイルに保存します。これは表への行の追加、プラットフォーム間でのTimesTenデータ・ストアの移行、他のアプリケーションからのデータ・ストアのインポートで役立ちます。

ttRestore（ttRestore）。ttRestoreユーティリティは、ttBackupユーティリティを使用してバックアップされたデータ・ストアをリストアします。