ttMigrate

ttMigrateユーティリティは、TimesTenオブジェクトを保存およびリストアし、別のTimesTenリリース間でデータベースを移行します。

次の操作を実行できます:

  • TimesTenデータベースのオブジェクトをttMigrateデータファイルに保存します。

  • ttMigrateデータファイルからTimesTenデータベースにオブジェクトをリストアします。

  • ttMigrateデータファイルの内容の詳細を出力します。

保存されるオブジェクトには次のものがあります:

  • キャッシュ・グループ定義

  • ビューおよびマテリアライズド・ビュー

  • 順序

  • レプリケーション・スキーム

  • ユーザーおよびユーザー情報(各ユーザーのデータベース権限を含む)。

ttMigrateユーティリティを使用して、次の3つの方法でデータベースを移行できます。
  1. TimesTen Classicの1つのメジャー・リリース(リリース18.1など)からTimesTenの別のメジャー・リリース(リリース22.1など)。
  2. TimesTen ClassicからTimesTen Scaleout。
  3. TimesTen ScaleoutからTimesTen Classic。

データベース・チェックポイントおよびトランザクション・ログ・ファイルにはメジャー・リリース間で互換性がないため、ttMigrateユーティリティを使用してTimesTen Classicのメジャー・リリースをアップグレードする必要があります。

ノート:

ユーザーおよびユーザー権限はTimesTen 7.0以前のリリースに存在しませんでした。したがって、これらのオブジェクトはリストアできません。

TimesTenデータベースの移行の詳細は、『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』「TimesTen Classicの他のメジャー・リリースへの移行」を参照してください。

このユーティリティで作成されるデータファイルはプラットフォーム依存です。たとえば、Linuxで作成されたttMigrateデータファイルは、AIXなどの他のプラットフォームではなく、Linuxでのみリストアできます。

デフォルトでは、ttMigrateユーティリティにより、1つのスレッドを使用してデータベースがリストアされます。リストア時には、-numThreadsオプションを指定して複数のスレッドを使用してデータファイルをリストアできるため、パフォーマンスが向上する可能性があります。

ttMigrateユーティリティはTimesTenサーバーDSNでサポートされています。TimesTenクライアントDSNでは、ttMigrateCS (クライアント/サーバーのバージョン)ユーティリティを使用します。

ノート:

クライアント/サーバー・プロトコルにおけるリリース間互換性はTimesTenでサポートされていますが、ツールttMigrateCSは、下位リリース互換性および上位リリース互換性がありません。したがって、同じバージョンのクライアント/サーバー接続にのみ使用可能です。

必要な権限

このユーティリティを使用するには、指定したオプションに応じて様々な権限が必要です。インスタンス管理者(ADMIN)はすべてのオプションにアクセスできます。

-rオプションを使用できるのは、インスタンス管理者のみです。このオプションを使用する時点ですでにデータベースが作成されている場合は、CREATE ANY TABLECREATE ANY SEQUENCECREATE ANY VIEWCREATE ANY MATERIALIZED VIEWCREATE ANY CACHE GROUPCREATE ANY INDEXの各権限が必要であり、さらにユーザーの自動作成が必要になる場合にはADMIN権限も必要です。データベースでレプリケーションまたはキャッシュ・オプションを使用する場合は、CACHE_MANAGERも必要になります。

-cオプションを使用してデータベース全体を取得できるのは、インスタンス管理者のみです。-cオプションを使用して、データベース・オブジェクト(表、ビュー、マテリアライズド・ビュー、キャッシュ・グループ、順序)のサブセットを取得するには、SELECT ANY TABLE権限およびSELECT ANY SEQUENCE権限が必要です。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このユーティリティは、主にTimesTen Classicでサポートされています。TimesTen Classicからのデータベースの移行は、TimesTen ScaleoutでサポートされるttMigrateユーティリティのみを使用して行われます。

構文

ttMigrate {-h | -help | -?}
              {-V | -version}

データファイルを作成または追加するには、次のように入力します。

ttMigrate {-a | -c} [-v verbosity] [-nf] [-nr] [-fixNaN] [-saveAsCharset charset] 
[-relaxedUpgrade | -exactUpgrade]
[-activeDML | -noActiveDML] 
{DSN | -connStr connection_string} data file [[objectOwner.]objectName...]

このユーティリティで作成されたバイナリ・データファイルからデータベースをリストアするには、次のように入力します。

ttMigrate -r  [-C ckptFreq] [-v level] [-nf] [-nr] [-fixNaN] [-numThreads n] 
[-updateStats | -estimateStats percent] [-relaxedUpgrade | -exactUpgrade] 
[-inline rule] [-noCharsetConversion] [-cacheUid uid [-cachePwd pwd]]
 [-autorefreshPaused] [-restorePublicPrivs] [-localhost host] 
[-resizeHashIndexes] 
{DSN | -connstr connection_string} dataFile [objectOwner.objectName...]

このユーティリティで作成されたデータファイルの内容をリストまたは表示するには、次のように入力します。

ttMigrate {-l | -L | -d | -D} dataFile [[objectOwner.]objectName...]

オプション

追加(-a)または作成(-c)モード、リスト(-l/-L)または説明(-d/-D)モード、およびリストア・モード(-r)は、相互に排他的です。これらのオプションのいずれか2つを同じ行に指定することはできません。

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

オプション 説明

-h

-help

-?

使用方法のメッセージを出力して終了します。

-V | -version

ttMigrateのリリース番号を出力し、終了します。

-a

追加モードの選択: ttMigrate -cを使用して作成された、すでに存在しているデータファイルにデータを追加します。詳細は、「作成モード(-c)と追加モード(-a)」を参照してください。

-c

作成モード: 新規にデータファイルを作成します。詳細は、「作成モード(-c)と追加モード(-a)」を参照してください。

-v verbosity

ttMigrateがデータベースの保存またはリストアを行うときに出力されるメッセージの冗長レベルを指定します。次のいずれかになります:

0 - エラーおよび警告のみを表示します。

1 - 表の保存またはリストア時に、各表の名前を出力します。

2 - 表や索引の保存またはリストア時に、各表または索引の名前を出力します。

3 (デフォルト) - 表や索引の保存またはリストア時に、各表または索引の名前を出力し、10,000行が保存またはリストアされるごとにドット(.)を出力します。

ttMigrateは、リスト、詳細リスト、説明および詳細説明の各モードでは、-vオプションを無視します。

-nf

通常の(キャッシュされていない)表の保存またはリストア時に、ttMigrateが外部キー情報の保存またはリストアを行わないことを指定します。

-nr

通常の(キャッシュされていない)表の保存またはリストア時に、ttMigrateが表の行の保存またはリストアを行わないことを指定します。

-fixNaN

オブジェクト内で検出されたNaNInf-Infの値をすべて0.0に変換します。NaNInf-Infの値がサポートされていないTimesTenのリリースにデータを移行する場合に役立ちます。

-saveAsCharset

charset

指定された接続文字セットにオブジェクトを保存します。接続文字セットがデータベース文字セットと異なる場合、ttMigrateによって情報メッセージが返されます。

このオプションが設定されない場合、ttMigrateはデフォルトで、データベース文字セットに移行オブジェクトを保存します。

-relaxedUpgrade

TABLE DEFINITION CHECKING RELAXEDを使用するレプリケーション・スキームと互換性のある方法で、表を保存またはリストアします。

-aオプションが指定されている場合、ttMigrateはこのオプションを無視します。

このオプションは、TABLE DEFINITION CHECKING EXACTを使用するレプリケーション・スキームと組み合せて使用しないでください。使用した場合、レプリケーションが機能しなくなる場合があります。

デフォルトは-exactUpgradeです。

-exactUpgrade

TABLE DEFINITION CHECKING EXACTを使用するレプリケーション・スキームと互換性のある方法で、表を保存またはリストアします。

-cまたは-aオプションが指定されている場合、ttMigrateはこのオプションを無視します。

このオプションは、TABLE DEFINITION CHECKING RELAXEDを使用するレプリケーション・スキームと組み合せて使用しないでください。使用した場合、レプリケーションが機能しなくなる場合があります。INLINE可変長列は、NOT INLINE列には正常にレプリケートできません。

これはデフォルトです。

-activeDML |-noActiveDML

単一のトランザクションで外部キー階層内のすべての表を保存して、ttMigrate -c操作中にアクティブなDMLがある場合にこれらの表の一貫性を維持します。

-noActiveDMLを指定すると、ttMigrateは、表が外部キーの親であるか子であるかに関係なく、独自のトランザクションで各表を保存します。ttMigrate -c操作中にアクティブなDMLがない場合に、このオプションを使用します。

デフォルトは-noActiveDMLです。

DSN

移行するデータベースのODBCデータソース名を指定します。

-connStr connection_string

データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。

owner

オブジェクトの所有者。

name

保存またはリストアするデータベース・オブジェクトの名前。

-r

リストア・モードを選択します。このユーティリティで作成されたデータファイルからデータベースをリストアします。詳細は、「リストア・モード(-r)」を参照してください。

-numThreads n

データベース・ファイルのリストア時に使用するスレッドの数を指定します。指定しない場合、1つのスレッドを使用して、データファイルからオブジェクトがリストアされます。

有効な値は1から32までです。

-updateStats

ttMigrateで、リストアされた表およびマテリアライズド・ビューの統計を更新することを指定します。

-cまたは-aオプションが指定されている場合、ttMigrateはこのオプションを無視します。

-estimateStatsおよび-updateStatsの両方を指定した場合、リストアされた表の統計は更新されますが、見積もられません。

このフラグを使用すると、マテリアライズド・ビューのリストアのパフォーマンスと、リストアされた表およびビューに対する問合せのパフォーマンスが向上する場合があります。

-estimateStats percent

ttMigrateで、リストアされた表およびマテリアライズド・ビューの指定された割合の行の統計を見積もることを指定します。percentRowsでサポートされる値は0から100です。

-cまたは-aオプションが指定されている場合、ttMigrateはこのオプションを無視します。

-estimateStatsおよび-updateStatsの両方を指定した場合、リストアされた表の統計は更新されますが、見積もられません。

このフラグを使用すると、マテリアライズド・ビューのリストアのパフォーマンスと、リストアされた表およびビューに対する問合せのパフォーマンスが向上する場合があります。

-inline rule

リストア・モードで可変長列をINLINEに変換するために使用するruleを指定します。ruleの値は次のいずれかです。

preserve - ttMigrateは各列の元のINLINE属性を保持します。これがデフォルトであり、-exactUpgradeを使用する場合は必須です。

dsDefault - ttMigrateは、リストアされた列のINLINE属性を設定するためにデータベースのデフォルトのルールを使用します。

maxlen - ttMigrateは、maxlen以下の長さのすべての可変長列をINLINEとしてリストアし、maxlenより長いすべての可変長列をNOT INLINEとしてリストアします。

maxlenが0の場合、すべての列はNOT INLINEとしてリストアされます。

INLINE可変長列は、NOT INLINE列には正常にレプリケートできません。

-cacheUid

非同期ライトスルー・キャッシュ・グループおよびAUTOREFRESH属性が設定されたキャッシュ・グループのリストア時に使用するキャッシュ管理ユーザーID。

-cachePwd

自動リフレッシュ・キャッシュ・グループ、非同期ライトスルー・キャッシュ・グループおよびAUTOREFRESH属性が設定されたキャッシュ・グループのリストア時に使用するキャッシュ管理パスワード。

コマンドラインにキャッシュ管理ユーザーIDを入力したが、キャッシュ管理パスワードを入力しなかった場合は、ttMigrateによってパスワードの入力が要求されます。

-l

リスト・モードを選択します。指定されたデータファイル内のデータベース・オブジェクトの名前が表示されます。詳細は、「リスト・モード(-l)と詳細リスト・モード(-L)」を参照してください。

-L

詳細リスト・モードを選択します。指定されたデータファイル内のデータベース・オブジェクトの名前と、データベース・オブジェクトに関するその他の詳細が表示されます。詳細は、「リスト・モード(-l)と詳細リスト・モード(-L)」を参照してください。

-d

説明モードを選択します。データファイル内のオブジェクトの簡単な説明が表示されます。詳細は、「説明モード(-d)」を参照してください。

-D

詳細説明モードを選択します。データファイル内のオブジェクトの詳細な説明が表示されます。詳細は、「詳細説明モード(-D)」を参照してください。

dataFile

オブジェクトの保存先またはオブジェクトのリストア元のデータファイルのパス名です。

次のttMigrateのオプションは、リストア・モード(-r)でのみ使用できます。

オプション 説明

-autorefreshPaused

自動リフレッシュ状態をPAUSEDにして、AUTOREFRESH属性が設定されているキャッシュ・グループをリストアします。これ以外の場合、この状態はOFFに設定されます。

-C ckptFreq

ckptFreqの値(MB)のデータをリストアするたびに、ttMigrateがデータベースのチェックポイントを行うことを指定します。0(ゼロ)の値(デフォルト)は、ttMigrateがデータベースのチェック・ポイントを行わないことを指定します。

ノート: このオプションは、TimesTen Scaleoutではサポートされません。

-convertCGTypes

次の項目を使用して、基礎となるOracle Database表からTimesTenキャッシュ表への最適な型のマッピングを決定します。

  • Oracle Database表の列の型。

  • 移行ファイルに保存された列の型。

  • TimesTen型とOracle型間のマッピング・ルール。

-gridRestoreFinale

索引および外部キーをリストアします。

このオプションは、TimesTen ClassicからTimesTen Scaleoutへの移行にのみ使用します。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』「TimesTen ClassicからTimesTen Scaleoutへのデータベースの移行」を参照してください。

-gridRestoreRows

行を表にリストアします。

このオプションは、TimesTen ClassicからTimesTen Scaleoutへの移行にのみ使用します。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』「TimesTen ClassicからTimesTen Scaleoutへのデータベースの移行」を参照してください。

-localhost hostName

レプリケートされた表をリストアする際に、ローカル・ホストの名前またはIPアドレスを明示的に指定します。

-noCharsetConversion

データファイルに保存された接続文字セットを保持したまま、データをリストアします。ttMigrateは、データベース文字セットに合うように接続文字セットを変換することはありません。

設定しない場合、ttMigrateはデータをリストアし、接続文字セットをデータベース文字セットと同じになるように変換します。

関連項目: -saveAsCharset

このオプションは、WE8ISO8895P1として18.1より前のデータを18.1以上のリリースのTimesTenに移行した可能性のある旧TimesTenのユーザーにとって、データが実際には別の文字セットになっている場合に役立つ可能性があります。後で、そのデータを実際の文字セットに従って解釈することが必要になった場合、このオプションを使用して、データの実際の文字セットを使用しているデータベースに、文字セットを変換せずにデータを移行します。

-resizeHashIndexes

リストア時に、ユーザー・ハッシュ索引を表の行数に基づいて最適なサイズに変更します。

-restorePublicPrivs

データベースが作成された後、PUBLICに付与された権限をリストアします。ttMigrateユーティリティでは、デフォルトではPUBLICに付与された権限はリストアされません。PUBLICに対する権限をリストアするには、このオプションを明示的に指定する必要があります。

モード

作成モード(-c)と追加モード(-a)

作成モードでは、ttMigrateユーティリティはTimesTenデータベースのオブジェクトを新しいバイナリ・データファイルに保存します。データファイルがない場合には、ttMigrateユーティリティが作成します。それ以外の場合は、ttMigrateは既存のファイルを上書きして、その内容を破棄します。

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

追加モードでは、ttMigrateユーティリティはTimesTenデータベースのオブジェクトを既存のデータファイルに追加します。データファイルがない場合には、ttMigrateユーティリティが作成します。

通常の(キャッシュされていない)各表について、ttMigrateユーティリティは次のものを保存します。

  • 表の説明: 主キーとNULL値可能に関する情報を含む、表の列ごとの名前と型。

  • 表の索引定義: 各索引と索引に含まれる列の名前。ttMigrateは、索引の実際の内容は保存せず、表のリストア時に索引を再作成するために必要となる情報のみを保存します。

  • 表の外部キー定義。-nfオプションを使用して、外部キー定義の保存を無効にできます。

  • 表の行。-nrオプションを使用して行の保存を無効にできます。

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

  • キャッシュ・グループの定義: キャッシュ・グループの所有者と名前、キャッシュ・グループ内のすべての表の名前、関連するキャッシュ・グループの設定(キャッシュ・グループの時間など)。行データはエクスポートされません。

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

ノート:

TimesTen ClassicからTimesTen Scaleoutに移行する場合、TimesTen Scaleoutでサポートされていないキャッシュ・グループ・タイプが検出されると、ユーティリティによってエラーが発行され、キャッシュ・グループがスキップされ、インポート・プロセスが続行されます。さらに、静的自動リフレッシュ・キャッシュ・グループは、インポート・プロセス中にすべての表のハッシュ配分を使用して作成されます。

ttMigrateユーティリティを使用してデータベースをリストアした後は、ソース・データベースでのAUTOREFRESH STATEの設定方法に関係なく、リストアされたデータベースのすべての自動リフレッシュ・キャッシュ・グループでAUTOREFRESHの状態がOFFに設定されます。ttMigrate -rを使用してキャッシュ・グループをリストアした後は、ALTER CACHE GROUP文を使用して、AUTOREFRESH STATEONにリセットしてください(この操作はプログラムで実行することも、ttIsqlユーティリティで実行することもできます)。

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

  • 一般的な表と同一のすべての情報。

  • ビューを定義する問合せ。

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

  • 順序の完全な定義。

  • 順序の現在の値。

各ユーザーについて(インスタンス管理者を除く)、ttMigrateユーティリティは次のものを保存します。

  • ユーザー名。

  • ユーザーの暗号化されたパスワード。

  • ユーザーに付与されている権限。

PUBLICの場合、ttMigrateユーティリティはデータベースの作成後にPUBLICに付与されたすべての権限を保存します。

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

ノート:

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

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

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

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

リストア・モード(-r)

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

通常の(キャッシュされていない)各表について、ttMigrateユーティリティは次のものをリストアします。

  • 表(元の所有者、表名、列名、型、NULL値可能に関する設定、オリジナルの主キーを使用)。

  • 表の外部キー。-nfフラグを使用して、外部キーのリストアを無効にできます。

  • 表のすべての索引。

  • 表のすべての行。-nrフラグを使用して、行のリストアを無効にできます。

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

  • キャッシュ・グループ定義(元のキャッシュ・グループ所有者と名前を使用)。データはインポートされません。

  • キャッシュ・グループ内のすべてのキャッシュされた表(元の表名、列名、型、NULL値可能、元の主キー、表属性(PROPAGATEまたはREADONLY)、およびWHERE句(存在する場合)を使用)。

  • キャッシュされた表の外部キー定義。

  • キャッシュされた表のすべての索引。

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

  • リストアされたデータベース内のすべての自動リフレッシュ・キャッシュ・グループのAUTOREFRESH状態は、ソース・データベースでの設定方法にかかわらずOFFに設定されます。必要に応じて、-autorefreshPausedオプションを使用して、リストアされた自動リフレッシュ・キャッシュ・グループのAUTOREFRESH状態をOFFではなくPAUSEDに設定できます。

-exactUpgradeオプションは、-cオプションと-rオプションの両方のデフォルトです。

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

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

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

-inlineオプションを使用すると、可変長列をINLINEとしてリストアするか、NOT INLINEとしてリストアするかを制御できます。詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』「データ型の仕様」を参照してください。デフォルト・モード(-inlinepreserve)では、ttMigrateはすべての可変長列を、それらが保存されたときと同じINLINEまたはNOT INLINE設定でリストアします。その他の2つのモード(-inlinedsDefaultおよび-inlinemaxlen)では、ttMigrateはしきい値長以下の可変長列をINLINEとしてリストアし、他の可変長列をすべてNOT INLINEとしてリストアします。-inlinedsDefaultでは、このしきい値はTimesTenデータベースのデフォルトの自動INLINE長です。-inlinemaxlenモードでは、ユーザー定義のしきい値長(maxlen)を持つ可変長列は、INLINEとしてリストアされ、その他のすべての可変長列は、INLINEとして保存されている場合でも、NOT INLINEとしてリストアされます。maxlen0の場合、すべての可変長列はNOT INLINEとしてリストアされます。

リスト・モード(-l)と詳細リスト・モード(-L)

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

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

デフォルトでは、ttMigrateユーティリティは、レプリケーション・スキーム名およびファイル内のすべてのデータベース・オブジェクトを表示します。また、コマンドラインにデータベース・オブジェクト名のリストを指定することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。

説明モード(-d)

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

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

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

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

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

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

詳細説明モード(-D)

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

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

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

順序について、ttMigrateユーティリティは、順序とその現在の値の定義に使用されるすべての値を表示します。

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

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

キャッシュ・グループのデータ型の変換

リリース7.0より前のTimesTenからキャッシュ・グループを含むデータベースをリストアする場合は、-convertCGTypesオプションを使用して、7.0より前の型と、キャッシュ・グループに関連付けられているOracle Databaseの列のデータ型を正確にマッピングして、列のデータ型を変換します。

次の表に、型のマッピングを示します。

7.0より前のTimesTen型 Oracle型 変換後の型

TINYINT

NUMBER(p,s) when s > 0

NUMBER(p,s)

TINYINT

NUMBER(p,s) when s <= 0

TT_TINYINT

SMALLINT

NUMBER(p,s) when s > 0

NUMBER(p,s)

TT_SMALLINT

SMALLINT

NUMBER(p,s) when s <= 0

TT_SMALLINT

INTEGER

NUMBER(p,s) when s > 0

NUMBER(p,s)

INTEGER

NUMBER(p,s) when s <= 0

TT_INTEGER

BIGINT

NUMBER(p,s) when s > 0

NUMBER(p,s)

BIGINT

NUMBER(p,s) when s <= 0

TT_BIGINT

NUMERIC(p,s)DECIMAL(p,s)

NUMBER

NUMBER

NUMERIC(p,s)DECIMAL(p,s)

NUMBER(x,y)

NUMBER(x,y)

NUMERIC(p,s)DECIMAL(p,s)

FLOAT(x)

NUMBER(p,s)

REAL

任意

BINARY_FLOAT

DOUBLE

任意

BINARY_DOUBLE

FLOAT(x) x <=24

任意

BINARY_FLOAT

FLOAT(x) x >= 24

任意

BINARY_DOUBLE

CHAR(x)

任意

ORA_CHAR(x)

VARCHAR(x)

任意

ORAVARCHAR2(x)

BINARY(x)

任意

TT_BINARY(x)

VARBINARY(x)

任意

TT_VARBINARY(x)

DATE

DATE

ORA_DATE

TIMESTAMP

DATE

ORA_DATE

TIME

DATE

ORA_DATE

Any1

TIMESTAMP(m)

ORA_TIMESTAMP(m)

ノート:

anyは、型の値が変換後の型に影響しないことを示します。

データ型については、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』「データ型」と、『Oracle TimesTen In-Memory Databaseキャッシュ・ガイド』「Oracle Databaseデータ型とTimesTenデータ型の間のマッピング」を参照してください。

リターン・コード

ttMigrateユーティリティのリストア(-r)および作成(-c)コマンドは次の終了コードを返します。

0 - すべてのオブジェクトは正常に作成またはリストアされました。

1 - 一部のオブジェクトは正常に作成またはリストアされました。エラーのため、一部のオブジェクトは作成またはリストアできませんでした。

2 - 致命的エラー。たとえば、データファイルに接続できなかったか、データファイルを開けませんでした。

3 - 作成またはリストア処理中に[Ctrl]キーを押しながら[C]キーが押されたか、別のシグナルを受信しました。

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

% ttMigrate -c SalesDS sales.ttm

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

% ttMigrate -a SalesDS sales.ttm MARY.%

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

% ttMigrate -r SalesDS sales.ttm

次のコマンドでは、sales.ttmMARY.PENDINGおよびMARY.COMPLETEDSalesDSにリストアします(オブジェクトでは大文字と小文字は区別されません):

% ttMigrate -r SalesDS sales.ttm MARY.PENDINGMARY.COMPLETED

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

% ttMigrate -l sales.ttm

ノート

現行リリースの機能をサポートしていないOracle TimesTen In-Memory Databaseのリリースに対して下位方向の移行を行う場合、通常、TimesTenは警告を発行し、サポートされていない機能を移行せずに処理を続行します。オブジェクトの変換を実行済の場合、まれに、ttMigrateが失敗し、エラー・メッセージが返されることがあります。データ型、文字セットおよび主キー表現の変換が行われた場合に失敗することがあります。

ttMigrateユーティリティを使用する前に、次の制限、制約および推奨事項を考慮してください。

キャッシュ・グループ: リストア・モードでは、表間に外部キー依存性がある場合は、ttMigrateユーティリティで表の順序を整理しなおして、子表が親表の前にリストアされないようにすることが必要になる場合があります。

キャッシュされた表内の文字型の列は、長さのみでなくバイト・セマンティクスも、基礎となるOracle Database表と同じであることが必要です。キャッシュされた表に、長さまたは長さセマンティクスの不一致がある場合、キャッシュ・グループの移行は失敗します。

このユーティリティでは、0以外の値を指定したPassThrough接続属性はサポートされていないため、0以外の値を指定するとエラーが返されます。

文字セット: デフォルトでは、-saveAsCharsetオプションを指定しないかぎり、ttMigrateユーティリティは表データをデータベース文字セットで保存します。異なるデータベース文字セットのデータベースに表を移行することにより、他の文字セットへの変換がリストア時に実行されます。

7.0より前のリリースのTimesTenからデータを移行する場合、TimesTenは、データがすでに移行先のデータベース文字セットになっていると想定します。データのデータベース文字セットが移行先のデータベースと同じでない場合、データが正しくリストアされない可能性があります。

NLSがサポートされているがデータベース文字セットが異なる2つのデータベースの間で、BYTE長セマンティクスが指定された列を移行する場合、新しいデータベース内の列の長さが、移行ファイルに含まれる値を保持するのに十分でない場合、移行が失敗する可能性があります。たとえば、移行元データベースでは最大バイト長が4の文字セットを使用していて、移行先データベースでは最大バイト長が2の文字セットを使用している場合に移行が失敗する可能性があります。

TimesTenでは、文字セットの変換が行われる場合に常に警告を発行し、変換によるデータの損失の可能性を知らせます。

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

レプリケーション: レプリケートされたデータベースのセット全体の移行を開始する前に、ソースと宛先の両方のデータベースのホスト名とデータベース名が同じであることを確認します。

システム・ビュー: TimesTenは移行中にシステム・ビューの定義または内容を保存しません。

その他の考慮事項: ttMigrateユーティリティを使用して次の作業を行うことはできません。

  • ハードウェア・プラットフォーム間でのデータベースの移行。

  • ttBackupで保存されたデータのリストア、またはttMigrateで保存されたデータをリストアするためのttBackupの使用。

  • あるデータベース・リリースから別のttMigrateリリースへの移行。ttMigrateユーティリティのリリースは、接続しているデータベースのリリースと一致する必要があります。

アプリケーションのロックの競合問題を回避するために、ttMigrate -r操作の実行中に、ttIsqlまたはプログラムでDDL SQLコマンドを実行しないことをお薦めします。

関連項目