HADB は、ソフトウェアのアップグレードによっても中断されることのない「常時有効な」サービスを提供するように設計されています。この節では、データベースをオフラインにしたり、可用性の低下を招いたりすることなく、新しいバージョンの HADB にアップグレードする方法について説明します。これは、オンラインアップグレードと呼ばれます。
以下の節では、HADB インストールをアップグレードする方法について説明します。
新しいバージョンの HADB をインストールします。
「HADB パッケージの登録」の説明に従って、新しい HADB バージョンを登録します。
HADB パッケージを HADB 管理ドメインに登録すると、HADB パッケージのアップグレードや変更が容易になります。管理エージェントは、ソフトウェアパッケージが配置されている場所や、ドメイン内のホストに関するバージョン情報を常時監視します。デフォルトのパッケージ名は、V の文字で始まり、hadbm プログラムのバージョン番号が含まれた文字列です。
データベースが使用するパッケージを変更します。
以下のコマンドを入力します。
hadbm set PackageName=package |
ここで、package は、新しい HADB パッケージのバージョン番号です。
「HADB パッケージの登録の解除」の説明に従って、既存の HADB インストールの登録を解除します。
必要に応じて、管理エージェントの起動スクリプトを置き換えます。
詳細については、「管理エージェントの起動スクリプトの置き換え」を参照してください。
「HADB アップグレードの確認」の説明に従って、結果を確認します。
(省略可能) 古い HADB バージョンのバイナリファイルを削除します。
HADB が正しくアップグレードされたことを確認したら、古い HADB パッケージを削除できます。
hadbm registerpackage コマンドを使用して、管理ドメイン内のホストにインストールされている HADB パッケージを登録します。HADB パッケージはまた、hadbm create を使用してデータベースを作成するときにも登録できます。
hadm registerpackage コマンドを使用する前に、ホストリスト内のすべてのホストですべての管理エージェントが設定および実行されていること、管理エージェントのリポジトリが更新用に使用できること、および同じパッケージ名ですでに登録されているソフトウェアパッケージがないことを確認してください。
コマンド構文は次のとおりです。
hadbm registerpackage --packagepath=path [--hosts=hostlist] [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [[package-name]]package-name オペランドがパッケージの名前です。
次の表は、特殊な hadbm registerpackage コマンドオプションを示しています。ほかのコマンドオプションについては、「セキュリティーオプション」および 「一般的なオプション」を参照してください。
表 10–1 hadbm registerpackage のオプション
オプション |
説明 |
---|---|
--hosts=hostlist -H |
コンマで区切られているか、または二重引用符で囲まれ空白で区切られている、ホストのリスト。 |
--packagepath=path -L |
HADB ソフトウェアパッケージへのパス。 |
たとえば、次のコマンドは、ソフトウェアパッケージ v4 をホスト host1、host2、および host3 に登録します。
hadbm registerpackage --packagepath=hadb_install_dir/SUNWHadb/4.4 --hosts=host1,host2,host3 v4
応答は次のようになります。
Package successfully registered.
--hosts オプションを省略した場合は、ドメイン内で有効になっているすべてのホストにそのパッケージが登録されます。
hadbm unregisterpackage コマンドを使用して、管理ドメインに登録されている HADB パッケージを削除します。
hadbm unregisterpackage コマンドを使用する前に、次の点を確認してください。
すべての管理エージェントが設定され、hostlist 内のすべてのホスト上で実行中である。
管理エージェントのリポジトリが更新用に使用できる。
新しい HADB パッケージが管理ドメインに登録されている。
登録を解除しようとしているパッケージで動作するように設定された既存のデータベースがない。
コマンド構文は次のとおりです。
hadbm unregisterpackage --hosts=hostlist [--adminpassword=password | --adminpasswordfile= file] [--agent= maurl] [package-name ]
package-name オペランドがパッケージの名前です。
--hosts オプションについては、「HADB パッケージの登録」を参照してください。--hosts オプションを省略した場合は、パッケージが登録された、有効になっているホストがホストリストのデフォルトになります。ほかのコマンドオプションについては、「セキュリティーオプション」および 「一般的なオプション」を参照してください。
ドメイン内の特定のホストからソフトウェアパッケージ v4 の登録を解除するには、次のコマンドを実行します。
hadbm unregisterpackage --hosts=host1,host2,host3 v4
応答は次のようになります。
Package successfully unregistered.
新しいバージョンの HADB をインストールすると、/etc/init.d/ma-initd にある管理エージェントの起動スクリプトの置き換えが必要になる場合があります。ファイル HADB_install_dir/lib/ma-initd の内容を確認してください。古い ma-initd ファイルと異なっている場合は、古いファイルを新しいファイルに置き換えます。
次の手順に従って、HADB が正しくアップグレードされていることを確認します。
稼働している HADB プロセスのバージョンを確認します。
すべての HADB ノードに次のコマンドを入力して、HADB バージョンを表示します。
new-path/bin/ma -v
new-path/bin/hadbm -v
ここで、new-path は新しい HADB インストールへのパスです。
この結果、新しい HADB バージョン番号が表示されるはずです。
データベースが稼働していることを確認します。
次のコマンドを入力します。
new-path/bin/hadbm status -n
アップグレードに成功すると、running 状態のすべての HADB ノードが表示されます。
HADB を使用している製品の設定が新しい HADB パスに変更されている必要があります。
HADB を使用している製品に対して、あらゆるアップグレードの評価を実行します。