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 [objectOwner.]objectName ttMigrate -r -noRepUpgrade [-inline rule] [-vverbosity] [-fixNaN] [-nf] [-nr] [-C chkPtFreq] [-rename oldOwner:newOwner] [-cacheUid uid [-cachePwd pwd]] {-connStr connection_string | DSN} dataFile [objectOwner.]objectName ttMigrate -r -repUpgrade [-vverbosity] [-fixNaN] [-nf] [-nr] [-C chkPtFreq] [-rename oldOwner:newOwner] [-cacheUid uid [-cachePwd pwd]] {-connStr connection_string | DSN} dataFile [objectOwner.]objectName ttMigrate {-l | -L | -d | -D} dataFile [owner.name ...]
ttMigrateには次のオプションがあります。
作成モードでは、ttMigrateが移行オブジェクトをTimesTenデータ・ストアから新規のバイナリ・データファイルに保存します。データファイルが存在しない場合には、ttMigrateによって作成されます。それ以外の場合は、ttMigrateは既存のファイルを上書きして、その内容を破棄します。
追加モードでは、ttMigrateは移行オブジェクトをTimesTenデータ・ストアから既存のデータファイルに追加します。データファイルが存在しない場合には、ttMigrateによって作成されます。
様々なリリースのTimesTenの移行オブジェクトを、1つのデータファイルに保存できます。
通常の(キャッシュされていない)各表について、ttMigrateは次のものを保存します。
各キャッシュ・グループについて、ttMigrateは次のものを保存します。
各ビューについて、ttMigrateは次のものを保存します。
各順序について、ttMigrateは次のものをを保存します。
レプリケーション・スキームが定義されている場合、ttMigrateはレプリケーション・スキームを含むすべてのTTREP表を保存します。レプリケーション・スキームには、他のすべてのデータ・ストア・オブジェクトと異なる一意の名前を付ける必要があります。他のデータベース・オブジェクトと同じ名前のレプリケーション・スキームは移行できません。
デフォルトでは、ttMigrateは、表、ビュー、キャッシュ・グループ、順序およびレプリケーション・スキームなどの、データ・ストア内のすべてのデータ・ストア・オブジェクトをデータファイルに保存します。また、レプリケーション・スキームを除き、保存するデータ・ストア・オブジェクトのリストをコマンドラインに指定することもできます。このリスト内の名前には、ワイルド・カード文字の%(1文字以上に一致)と_(単一の文字に一致)を含めることができます。ttMigrateは、指定されたパターンのいずれかに一致する、すべてのデータ・ストア・オブジェクトを保存します。名前を完全修飾する必要はありません。所有者なしで名前を指定すると、ttMigrateは指定された名前またはパターンに一致するすべてのデータ・ストア・オブジェクトを所有者にかかわらず保存します。
キャッシュされた表は、キャッシュ・グループから独立して保存できません。キャッシュされた表をコマンドラインで表示しても、対応するキャッシュ・グループを表示しないと、ttMigrateはエラーを発行します。
-vオプションを使用して、保存の処理中にttMigrateによって出力される情報を制御します。
リストア・モードでは、ttMigrateはすべてのデータ・ストア・オブジェクトをデータファイルからTimesTenデータ・ストアにリストアします。
通常の(キャッシュされていない)各表について、ttMigrateは次のものをリストアします。
各キャッシュ・グループについて、ttMigrateは次のものをリストアします。
デフォルトでは、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としてリストアされます。
リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などの、指定したデータファイル内のデータ・ストア・オブジェクトの名前を表示します。
詳細リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などの、データファイル内のデータ・ストア・オブジェクトの名前を、各表の行数と各表の索引定義、各ビューを定義する問合せ、および各順序の仕様とともに表示します。
デフォルトでは、ttMigrateは、レプリケーション・スキーム名およびファイル内のすべてのデータ・ストア・オブジェクトを表示します。また、コマンドラインにデータ・ストア・オブジェクトの名前のリストを表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
説明モードでは、ttMigrateは、指定したファイル内のデータ・ストア・オブジェクトに関する簡単な説明を提供します。
各表について、ttMigrateは表名、表の行数、表の列定義、主キーおよび外部キーを表示します。キャッシュされた表については、表の属性(PROPAGATEまたはREADONLY)および表のWHERE句(存在する場合)も表示します。
ビューについて、ttMigrateはビューを定義する問合せも表示します。
キャッシュ・グループについて、ttMigrateはキャッシュ・グループ名、キャッシュ・グループ内の表の数、キャッシュ・グループの持続時間を表示し、キャッシュ・グループ内のキャッシュされた各表について説明します。
レプリケーション・スキームについて、ttMigrateは、レプリケーション・スキーム名およびすべてのTTREPレプリケーション・スキーム表をユーザー表と同様の方法で表示します。
デフォルトでは、ttMigrateは、ファイル内のデータ・ストア・オブジェクトをすべて示します。また、コマンドラインにデータ・ストア・オブジェクトの名前のリストを表示することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
詳細説明モードでは、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はバイナリ形式を使用するため、次の処理には使用できません。
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ユーティリティを使用してバックアップされたデータ・ストアをリストアします。