オフライン・アップグレードの実行
ttMigrateまたはttBackupユーティリティを使用して、データ・ストアを外部ファイルにエクスポートし、変更したデータ・ストアをリストアすることで、オフライン・アップグレードを実行できます。このような更新手順を実行するには、すべてのアプリケーションをデータ・ストアから切断し、共有メモリーからデータ・ストアをアンロードする必要があります。継続的な接続を必要とするアプリケーションについては、「オンライン・アップグレードの実行」を参照してください。
注意: アップグレードされるデータ・ストアをレプリケートする場合は、ttMigrateを使用して、データ・ストアをバージョン間で移動する必要があります。また、ttMigrate -r -renameオプションを使用して、表の所有者名を変更する場合、レプリケーション・スキームの各ノードで個別に表の所有者名を変更する必要があります。
TimesTenデータ・ストアのエクスポートには、ttMigrateまたはttBackupユーティリティを使用できます。ttMigrateユーティリティは、データ・ストアを柔軟性のあるリリースに依存しない形式でエクスポートします。ttBackupユーティリティは、データ・ストアのイメージ・コピーをエクスポートするためより高速です。
オフライン・アップグレードの一般的な手順は、次のとおりです。
- -noRepUpgradeオプションを指定してttMigrateを使用するか、またはttBackupを使用して、データ・ストアをバックアップします。
- -noRepUpgradeオプションを指定してttMigrateを使用するか、またはttRestoreを使用して、バックアップしたデータ・ストアをTimesTenの新しいリリースにリストアします。
- アップグレードしたデータ・ストアにアプリケーションを再接続します。
注意: ttMigrateを使用した後は、ソース・データ・ストアでのAUTOREFRESH STATEの設定方法に関係なく、リストア先のデータ・ストアのすべての自動リフレッシュ・キャッシュ・グループでAUTOREFRESH STATEがOFFに設定されます。ALTER CACHE GROUP文を使用して、AUTOREFRESH STATEをONに設定し直してください。
他のディレクトリへの移動
TimesTenデーモンは、データ・ストアのチェックポイント・ファイルのフルパス名を使用してデータ・ストアを識別します。TimesTenデータ・ストアを別のディレクトリに移動するには、ttBackupユーティリティを使用してデータ・ストアをバックアップし、新しいデータ・ストアのパス名を示す新しいDSN定義を作成します。その後で、ttRestoreユーティリティを使用してデータ・ストアを新しい場所にリストアします。新しい場所でデータ・ストアが適切に機能することを確認してから、ttDestroyを使用して以前のバックアップのディスク領域を解放し、以前のデータ・ストアのDSNを削除します。
たとえば、一時記憶域として/tmp/dumpディレクトリを使用し、/old/SalesData/salesのデータ・ストアSalesData("DSN=SalesData")を、NewSalesData("DSN=NewSalesData")という名前で/new/SalesData/salesに移動するには、次のコマンドを使用します。
- mkdir /tmp/dump
- ttBackup -dir /tmp/dump -fname salesdata "DSN=SalesData"
- NewSalesDataデータ・ストアのDSN定義を作成して、新しいデータ・ストアのパス/new/SalesData/salesを指定します。
- ttRestore -dir /tmp/dump -fname salesdata "DSN=NewSalesData"
(NewSalesDataが正常に動作することを確認します。)
- rm -r /tmp/dump
- ttDestroy /old/SalesData/sales
- SalesDataデータ・ストアのDSN定義を削除します。
注意: レプリケーションを再構成する必要があります。
他のマシンへの移動
注意: レプリケートしたデータ・ストアを他のマシンに移動する前に、TimesTenレプリケーションを実行しておく必要があります。この手順については、オラクル社カスタマ・サポート・センターにお問い合せください。
ttBackupおよびttRestoreユーティリティを使用して、CPUアーキテクチャとオペレーティング・システムが同じ2つのマシン間でデータ・ストアを移動することができます。
CPUアーキテクチャとオペレーティング・システムが同じシステム間でデータ・ストアをコピーするには、次の手順を実行します。
- ttBackupを使用して、元のシステムのデータ・ストアをバックアップします。
- バックアップを新しいシステムに移動します。
- レプリケートしたすべてのデータ・ストアのレプリケーション・スキームを再構成し、新しいホスト・マシンを識別するようにします。(レプリケーション・スキームでのホストの指定方法の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』を参照してください。)
- ttRestoreを使用して、バックアップをリストアします。
たとえば、システム・アルファの/ds/SalesDataのデータ・ストアSales Dataを、システム・ベータの/data/SalesViewのデータ・ストアSales Viewに移動するには、次のコマンドを使用します。この例では、ttBackupの-oフラグを使用してバックアップに標準出力を適用します。-oフラグを使用すると、バックアップは単一のファイルに格納され、ネットワークを介して別のシステムに簡単にコピーすることができます。別のシステムにデータ・ストアをコピーした後で、新しいデータ・ストアのコピーに簡単にアクセスできるように、データ・ソース名を作成する必要があります。
|
システム・アルファ
|
システム・ベータ
|
1. | ttBackup -o "DSN = Sales Data" > /tmp/salesbackup | |
2. | ftp /tmp/salesbackup to system beta as /tmp/salesbackup 注意: ftpコマンドはバイナリ・モードで使用します。 | |
3. | | ttRestore -i "DSN = Sales View" < /tmp/salesbackup |
4. | | rm /tmp/salesbackup |
5. | rm /tmp/salesbackup | |
データ・ストアのサイズの縮小
データ・ストアに特定のサイズを定義した場合は、表または行を削除しても、それより小さいサイズでロードすることはできません。ttBackupで作成したデータ・ストアのコピーにも、そのデータ・ストアのサイズが適用されます。
割り当てられたデータ・ストアのサイズを小さくするには、-noRepUpgradeオプションを指定したttMigrateユーティリティを使用してコピーを保存し、より小さいサイズを指定してデータ・ストアを再作成してからデータをリストアします。
必要とされる手順は、次のとおりです。
- ttMigrate -noRepUpgradeを使用して、以前のデータ・ストアをバックアップします。
- より小さいサイズを指定するデータ・ストアの新しいコピー用に、新しいデータ・ソース名の定義を作成します。
- ttMigrate -noRepUpgradeを使用して、バックアップをリストアします。
注意: 手順2では、データ・ストアの新しいコピーが必要です。元の大きなデータ・ストアにかわるデータ・ストアを再作成するには、最初にttDestroyユーティリティを使用して元のデータ・ストアを破棄します。
次に示す手順では、データ・ストアのサイズを400MBから100MBに縮小します。データ・ストアは/ds/SalesDataに格納されており、データ・ソース名はSalesDataです。
- ttMigrate -c DSN=SalesData -noRepUpgrade /tmp/salesbackup
- ttDestroy /ds/SalesData
- SalesData DSNを更新して、サイズを100MBにします。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのサイズ変更に関する項を参照してください。
- ttMigrate -r "DSN=SalesData;AutoCreate=1" -noRepUpgrade
/tmp/salesbackup
32-bitおよび64-bitのデータ・ストア間での移動
注意: TimesTenは、32-bitおよび64-bitのデータ・ストア間でのレプリケーションをサポートしません。
32-bitのTimesTenデータ・ストアの内部形式は、64-bitの形式とは異なります。32-bitのデータ・ストアを64-bitのデータ・ストアに変換するには、次の手順を実行します。
- TimesTenの32-bitのttMigrateユーティリティを-noRepUpgradeオプションを指定して使用し、32-bitのデータ・ストアをエクスポートします。
- 64-bitのデータ・ストアのデータ・ソース名を作成します。詳細は、TimesTenの開発者ガイドのデータ・ストアの作成、接続および切断に関する項を参照してください。
- 64-bitのttMigrateユーティリティを-noRepUpgradeオプションを指定して使用し、手順1で作成したファイルを64-bitデータ・ストアのDSNにインポートします。
たとえば、32-bitデータ・ストアのDSNがSalesData32で、64-bitデータ・ストアのDSNがSalesData64であると想定します。TimesTenが/opt/TimesTen/giraffeにインストールされているとすると、必要とされる手順は次のとおりです。
- /opt/TimesTen/giraffe/bin/ttMigrate
-c DSN=SalesData32 -noRepUpgrade /tmp/salesbackup - /opt/TimesTen/giraffe/bin/ttMigrate -r
"DSN=SalesData64;AutoCreate=1" -noRepUpgrade
/tmp/salesbackup
TimesTenの他のメジャー・リリースへの移行
TimesTenの複数のメジャー・リリースを、システムに同時にインストールすることができます。ただし、あるメジャー・リリースで作成したTimesTenのデータ・ストアには、異なるメジャー・リリースから直接アクセスすることはできません。たとえば、TimesTenのメジャー・リリース間でのデータの移行を、TimesTen 5.1から6.0で行う場合、ttMigrateユーティリティを使用して以前のリリースのデータをエクスポートし、さらにttMigrateユーティリティを使用して新しいリリースからインポートする必要があります。
互いにレプリケートする2つのデータ・ストア(AおよびB)を、TimesTenリリースa.b(以前のリリース)からTimesTenリリースc.d(新しいリリース)に移行するには、最初にリリースa.bのデータ・ストアAをリリースc.dにアップグレードします。データ・ストアAはノード1に、データ・ストアBはノード2にあります。次の手順を実行します。
- 両方のデータ・ストアで実行中のレプリケーション・デーモンが、静的なポート仕様を使用していることを確認します。次に示す手順の途中で、バージョンa.bのデータ・ストアとバージョンc.dのデータ・ストア間でレプリケーションが発生するため、この確認は必要です。異なるリリース間でのレプリケートでは、レプリケーション・デーモンに静的なポート仕様が必要です。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』の動的なポートと静的なポートの割当てに関する項を参照してください。
- ノード1で、リリースa.bのttAdminユーティリティを使用して、データ・ストアAのレプリケーション・デーモンを停止します。
- ノード1で、リリースa.bのttMigrateユーティリティを-cオプションを指定して使用し、データ・ストアAをバイナリ・ファイルにバックアップします。
- ノード1で、リリースa.bのttDestroyユーティリティを使用し、データ・ストアAを破棄します。
- ノード1で、リリースc.dのttMigrateユーティリティを-rオプションを指定して使用し、データ・ストアAをバイナリ・ファイルからリストアします。データ・ストアをリストアすると、データ・ストアがリリースa.bからリリースc.dにアップグレードされます。この手順の結果として、リリースc.dにデータAが作成されます。
- ノード1で、リリースc.dのttAdminユーティリティを使用し、レプリケーション・デーモンを起動します。
- 以前のリリースで、ttAdminユーティリティを使用し、レプリケーション・デーモンを停止します。
- ノード2で、リリースa.bのttDestroyユーティリティを使用し、データ・ストアBを破棄します。
- ノード2で、リリースc.dのttRepAdminユーティリティを-duplicateオプションを指定して使用し、ノード1のデータ・ストアAをバックアップし、それをデータ・ストアBとしてノード2にリストアします。次の例では、source_data_store_nameがデータ・ストアAで、source_system_host_nameがノード1となります。
- ノード2で、リリースc.dのttAdminユーティリティを使用し、レプリケーション・デーモンを起動します。