クラシック・レプリケーションを使用したオンライン・アップグレードの実行
この項では、TimesTenレプリケーション機能を使用して、データの継続使用が必要なアプリケーションのオンライン・アップグレードを実行する方法について説明します。
この手順は、一方向、双方向または複数方向のシナリオのクラシック・レプリケーション用です。
通常、データの高可用性が求められるアプリケーションでは、TimesTenレプリケーションを使用して、最新のデータベースのコピーを1つ以上保持しておきます。これらの2つのコピーの一方が更新中の場合にも、一方をアプリケーションで使用できるように保持することで、オンライン・アップグレードが機能します。この項で説明する手順は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドの単方向レプリケーションまたは双方向レプリケーションの説明のとおり、2つのデータベースに対して双方向のレプリケーション・スキームが構成され、実行されていることを前提としています。
次の点に注意してください:
-
アクティブ・スタンバイ・ペアの詳細は、キャッシュ・グループを使用しないアクティブ・スタンバイ・ペアのオンライン・アップグレードおよびキャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・アップグレードを参照してください。読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。かわりに、この情報についてキャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレードを参照してください。
-
Oracle Clusterwareの使用については、Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行を参照してください。Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペアの場合、オンライン・メジャー・アップグレードはサポートされません。
次の項では、レプリケーションを使用したオンライン・アップグレードの実行方法について説明します。
要件
レプリケーションを使用してオンライン・アップグレードを実行する場合は、静的ポートを使用するようにレプリケーションを構成する必要があります。詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのポートの割当てを参照してください。
ttMigrate
ユーティリティを使用して作成したデータベースのバックアップ・コピーを格納するために、追加のディスク領域を割り当てる必要があります。通常、バックアップ・コピーのサイズは、使用中のデータベースのサイズとほぼ同じです。このサイズを確認するには、ttIsql
を使用してv$monitor
ビューを問い合せます。
Command> SELECT perm_in_use_size FROM v$monitor;
アップグレード・ステップ
次のステップは、レプリケーションの実行中にオンライン・アップグレードを実行する方法を示しています。アップグレード・ホストは、データベースのアップグレードが実行されているホストで、アクティブなホストは、アプリケーションが引き続き接続されるデータベースを含むホストです。
ステップ | ホストのアップグレード | アクティブなホスト |
---|---|---|
1. |
静的ポートを使用してアクティブ・ホストにレプリケートされるように、レプリケーションを構成します。 |
静的ポートを使用してアップグレード・ホストにレプリケートされるように、レプリケーションを構成します。 |
2. |
該当なし |
すべてのアプリケーションをアクティブ・データベースに接続します(接続されていない場合)。 |
3. |
アップグレードするデータベースからすべてのアプリケーションを切断します。 |
該当なし |
4. |
該当なし |
アップグレード・ホストへのレプリケーションを |
5. |
アクティブ・ホストに更新が伝播されるまで待機します。 |
該当なし |
6. |
レプリケーションを停止します。 |
該当なし |
7. |
|
該当なし |
8. |
以前のリリースのTimesTenデーモンを停止します。 |
該当なし |
9. |
新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、Linux/UNIXでのインストール環境の作成およびLinux/UNIXでのインスタンスの作成: 基本を参照してください。 |
該当なし |
10. |
新しいリリースのアップグレード後のデータベースのDSNを作成します。DSNの並列処理オプションを調整します。 |
該当なし |
11. |
|
該当なし |
12. |
|
該当なし |
13. |
レプリケーションを開始します。 |
該当なし |
14. |
該当なし |
アップグレード・ホストへのレプリケーションを |
15. |
該当なし |
レプリケーションを開始します。 |
16. |
該当なし |
すべての更新内容がアップグレード・ホストに伝播されるまで待機します。 |
17. |
アップグレード後のデータベースにすべてのアプリケーションを再接続します。 |
該当なし |
アップグレード・ホストで前述の手順が完了した後、同じステップを使用してアクティブなホストをアップグレードできます。
オンライン・アップグレードの例
この項では、双方向でレプリケートされている2つのデータベースのシナリオでオンライン・アップグレードを実行する手順について説明します。
ここでは、2つのホストを、アップグレード・ホスト(インスタンスとデータベースがアップグレードされる)およびアクティブ・ホスト(アップグレード期間中、操作可能でアプリケーションに接続される)と呼びます。手順が完了した後、同じステップを繰り返してアクティブ・ホストをアップグレードできます。ただし、アップグレードされたインスタンスを最初にテストするために、アクティブ・ホストの変換を遅延することもできます。
この例では、アップグレード・ホストは、サーバーupgradehost
上のデータベースupgrade
で構成されています。アクティブ・ホストは、サーバーactivehost
上のデータベースactive
で構成されています。
以降のステップを記載の順に実行します。
ステップ | ホストのアップグレード | アクティブなホスト |
---|---|---|
1. |
データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、
|
データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、
|
2. |
データベースに接続されているすべての本番アプリケーションを切断します。アップグレード・ホストで実行されているワークロードが、かわりにアクティブ・ホストで実行を開始する必要があります。 |
ttRepAdmin -receiver -name upgrade -state pause active このコマンドにより、データベース 詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのサブスクライバのレプリケーション状態の設定を参照してください。 |
3. |
データベース たとえば、 Command> call ttRepSubscriberWait (,,,,60); < 00 > 1 row found. 詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttRepSubscriberWaitを参照してください。 |
該当なし |
4. |
ttAdmin -repStop upgrade これ以降、データベース |
ttAdmin -repStop active これ以降、データベース 詳細は、 Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのレプリケーション・エージェントの起動および停止を参照してください。 |
5. |
ttMigrate -c upgrade /backup/upgrade.dat |
該当なし |
6. |
ttDestroy upgrade |
データベース ttAdmin -repStart active |
7. |
新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、Linux/UNIXでのインストール環境の作成およびLinux/UNIXでのインスタンスの作成: 基本を参照してください。 |
レプリケーション状態を ttRepAdmin -receiver -name upgrade -start start active |
8. |
ttMigrate -r upgrade /backup/upgrade.dat ramPolicy をmanual に変更します(ramPolicy はデフォルトでinUse に設定されています)。
ttAdmin -ramLoad upgrade ノート: このステップでは、アップグレード先の新しいリリースに含まれている |
該当なし |
9. |
ttRepAdmin -receiver -name active -reset upgrade ttRepAdmin -receiver -name active -state stop upgrade sleep 10 ttRepAdmin -receiver -name active -state start upgrade sleep 10 ノート: リソースやオペレーティング・システムによっては、状態の変更に最大で10秒かかるものもあるため、それぞれの状態が確実に有効になるように |
該当なし |
10. |
ttAdmin -repStart upgrade |
該当なし |
11. |
データベース |
アプリケーションがデータベース |
12. |
該当なし |
更新が正常にレプリケートされていることを確認したら、すべてのアプリケーションをデータベース ノート: 新しいリリースのデータベース |