ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseインストレーション・ガイド
リリース6.0
B25765-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

オフライン・アップグレードの実行

ttMigrateまたはttBackupユーティリティを使用して、データ・ストアを外部ファイルにエクスポートし、変更したデータ・ストアをリストアすることで、オフライン・アップグレードを実行できます。このような更新手順を実行するには、すべてのアプリケーションをデータ・ストアから切断し、共有メモリーからデータ・ストアをアンロードする必要があります。継続的な接続を必要とするアプリケーションについては、「オンライン・アップグレードの実行」を参照してください。

注意: アップグレードされるデータ・ストアをレプリケートする場合は、ttMigrateを使用して、データ・ストアをバージョン間で移動する必要があります。また、ttMigrate -r -renameオプションを使用して、表の所有者名を変更する場合、レプリケーション・スキームの各ノードで個別に表の所有者名を変更する必要があります。

TimesTenデータ・ストアのエクスポートには、ttMigrateまたはttBackupユーティリティを使用できます。ttMigrateユーティリティは、データ・ストアを柔軟性のあるリリースに依存しない形式でエクスポートします。ttBackupユーティリティは、データ・ストアのイメージ・コピーをエクスポートするためより高速です。

オフライン・アップグレードの一般的な手順は、次のとおりです。

注意: 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に移動するには、次のコマンドを使用します。

  1. mkdir /tmp/dump
  2. ttBackup -dir /tmp/dump -fname salesdata "DSN=SalesData"
  3. NewSalesDataデータ・ストアのDSN定義を作成して、新しいデータ・ストアのパス/new/SalesData/salesを指定します。
  4. ttRestore -dir /tmp/dump -fname salesdata "DSN=NewSalesData"
  5. (NewSalesDataが正常に動作することを確認します。)

  6. rm -r /tmp/dump
  7. ttDestroy /old/SalesData/sales
  8. SalesDataデータ・ストアのDSN定義を削除します。
注意: レプリケーションを再構成する必要があります。

他のマシンへの移動

注意: レプリケートしたデータ・ストアを他のマシンに移動する前に、TimesTenレプリケーションを実行しておく必要があります。この手順については、オラクル社カスタマ・サポート・センターにお問い合せください。

ttBackupおよびttRestoreユーティリティを使用して、CPUアーキテクチャとオペレーティング・システムが同じ2つのマシン間でデータ・ストアを移動することができます。

CPUアーキテクチャとオペレーティング・システムが同じシステム間でデータ・ストアをコピーするには、次の手順を実行します。

  1. ttBackupを使用して、元のシステムのデータ・ストアをバックアップします。
  2. バックアップを新しいシステムに移動します。
  3. レプリケートしたすべてのデータ・ストアのレプリケーション・スキームを再構成し、新しいホスト・マシンを識別するようにします。(レプリケーション・スキームでのホストの指定方法の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』を参照してください。)
  4. ttRestoreを使用して、バックアップをリストアします。
  5. たとえば、システム・アルファの/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ユーティリティを使用してコピーを保存し、より小さいサイズを指定してデータ・ストアを再作成してからデータをリストアします。

必要とされる手順は、次のとおりです。

  1. ttMigrate -noRepUpgradeを使用して、以前のデータ・ストアをバックアップします。
  2. より小さいサイズを指定するデータ・ストアの新しいコピー用に、新しいデータ・ソース名の定義を作成します。
  3. ttMigrate -noRepUpgradeを使用して、バックアップをリストアします。
注意: 手順2では、データ・ストアの新しいコピーが必要です。元の大きなデータ・ストアにかわるデータ・ストアを再作成するには、最初にttDestroyユーティリティを使用して元のデータ・ストアを破棄します。

次に示す手順では、データ・ストアのサイズを400MBから100MBに縮小します。データ・ストアは/ds/SalesDataに格納されており、データ・ソース名はSalesDataです。

  1. ttMigrate -c DSN=SalesData -noRepUpgrade /tmp/salesbackup
  2. ttDestroy /ds/SalesData
  3. SalesData DSNを更新して、サイズを100MBにします。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのサイズ変更に関する項を参照してください。
  4. 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のデータ・ストアに変換するには、次の手順を実行します。

  1. TimesTenの32-bitのttMigrateユーティリティを-noRepUpgradeオプションを指定して使用し、32-bitのデータ・ストアをエクスポートします。
  2. 64-bitのデータ・ストアのデータ・ソース名を作成します。詳細は、TimesTenの開発者ガイドのデータ・ストアの作成、接続および切断に関する項を参照してください。
  3. 64-bitのttMigrateユーティリティを-noRepUpgradeオプションを指定して使用し、手順1で作成したファイルを64-bitデータ・ストアのDSNにインポートします。
  4. たとえば、32-bitデータ・ストアのDSNがSalesData32で、64-bitデータ・ストアのDSNがSalesData64であると想定します。TimesTenが/opt/TimesTen/giraffeにインストールされているとすると、必要とされる手順は次のとおりです。

  5. /opt/TimesTen/giraffe/bin/ttMigrate
        -c DSN=SalesData32 -noRepUpgrade /tmp/salesbackup
  6. /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にあります。次の手順を実行します。

  1. 両方のデータ・ストアで実行中のレプリケーション・デーモンが、静的なポート仕様を使用していることを確認します。次に示す手順の途中で、バージョンa.bのデータ・ストアとバージョンc.dのデータ・ストア間でレプリケーションが発生するため、この確認は必要です。異なるリリース間でのレプリケートでは、レプリケーション・デーモンに静的なポート仕様が必要です。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』の動的なポートと静的なポートの割当てに関する項を参照してください。
  2. ノード1で、リリースa.bのttAdminユーティリティを使用して、データ・ストアAのレプリケーション・デーモンを停止します。
  3. ttAdmin -repStop DSN 
    
  4. ノード1で、リリースa.bのttMigrateユーティリティを-cオプションを指定して使用し、データ・ストアAをバイナリ・ファイルにバックアップします。
  5. ttMigrate -c DSN=DSN file_name 
    
  6. ノード1で、リリースa.bのttDestroyユーティリティを使用し、データ・ストアAを破棄します。
  7. ttDestroy data_store_path 
    
  8. ノード1で、リリースc.dのttMigrateユーティリティを-rオプションを指定して使用し、データ・ストアAをバイナリ・ファイルからリストアします。データ・ストアをリストアすると、データ・ストアがリリースa.bからリリースc.dにアップグレードされます。この手順の結果として、リリースc.dにデータAが作成されます。
  9. ttMigrate -r -C 20 DSN=DSN file_name 
    
  10. ノード1で、リリースc.dのttAdminユーティリティを使用し、レプリケーション・デーモンを起動します。
  11. ttAdmin -repStart DSN 
     

    ここで、リリースc.dのデータ・ストアAとリリースa.bのデータ・ストアB間でレプリケーションが発生します。

    データ・ストアBをリリースa.bからリリースc.dにアップグレードします。次の手順を実行します。

  12. 以前のリリースで、ttAdminユーティリティを使用し、レプリケーション・デーモンを停止します。
  13. ttAdmin -repStop DSN 
    
  14. ノード2で、リリースa.bのttDestroyユーティリティを使用し、データ・ストアBを破棄します。
  15. ttDestroy data_store_path 
    
  16. ノード2で、リリースc.dのttRepAdminユーティリティを-duplicateオプションを指定して使用し、ノード1のデータ・ストアAをバックアップし、それをデータ・ストアBとしてノード2にリストアします。次の例では、source_data_store_nameがデータ・ストアAで、source_system_host_nameがノード1となります。
  17. ttRepAdmin -duplicate -from source_data_store_name -host
    source_system_host_name 
    
  18. ノード2で、リリースc.dのttAdminユーティリティを使用し、レプリケーション・デーモンを起動します。
  19. ttAdmin -repStart DSN 
     

    これで、アップグレードされたデータ・ストアが互いにレプリケートされました。