SAP HANA Installation
SAP HANA hdblcmとは?使い方、resident hdblcm、更新と運用の実務
SAP HANA on-premiseのライフサイクル管理ツールhdblcmについて、インストール、更新、resident hdblcm、SAP HANA cockpitの導入、実行時の確認事項を実務向けに解説します。
SAP HANA on-premiseの導入・更新・追加コンポーネント管理では、コマンドラインのライフサイクル管理ツールである hdblcm を使用します。インストールメディアからの新規導入だけでなく、既存システムの更新、コンポーネントの追加、設定確認にも利用できます。
SAP HANA 2.0は、システムデータベースとテナントデータベースで構成されるマルチテナントシステムとして運用します。ライフサイクル作業の前に、対象システム、対象ホスト、停止時間、バックアップ状態を確認しておくことが重要です。
hdblcmとは
hdblcm は、SAP HANAのインストールとライフサイクル操作をコマンドラインから実行するプログラムです。インストールメディアのルートディレクトリ、または既存環境に配置されたライフサイクル管理用ディレクトリから実行します。
同じメディアには、グラフィカルフロントエンドである hdblcmgui が用意される場合があります。コマンドラインで自動化しやすい作業は hdblcm、対話的に項目を確認しながら進める作業は hdblcmgui という使い分けができます。
作業全体の前提やインストール順序は、SAP HANAインストール手順と合わせて確認してください。
resident hdblcmの役割
resident hdblcm は、既存のSAP HANAシステムと同じ環境に配置されるライフサイクル管理ツールです。インストールメディアを毎回用意する方式とは異なり、システムに対応した管理プログラムを利用して更新や追加コンポーネントの操作を行えます。
実行前には、対象システムのSID、インスタンス番号、インストール済みコンポーネント、実行ホストを確認します。分散構成では、処理対象となるホスト間の接続、<sid>adm の権限、共有ディレクトリの状態も確認します。
resident hdblcmを使用する場合は、対象システムに付属するライフサイクル管理ディレクトリへ移動し、そこで hdblcm を実行します。実際のオプションは実行環境に表示されるヘルプと導入ガイドを確認し、変更対象を明確にしてから指定します。
hdblcmの基本的な使い方
実行前の確認
次の項目を作業チェックリストにします。
- 対象のSIDとインスタンス番号
- システムデータベースと対象テナントデータベース
- すべてのホストの稼働状態
- データバックアップとログバックアップの取得状況
- 使用するソフトウェアパッケージと対応する更新内容
- 作業ユーザー、OS権限、空き容量
- 作業ログの保存先とロールバック計画
メモリ状況を確認する場合は、SAP HANA cockpitまたはSAP HANA database explorerを使用できます。SQLでホスト単位の状態を確認する場合、SYS.M_HOST_RESOURCE_UTILIZATION には HOST、USED_PHYSICAL_MEMORY、FREE_PHYSICAL_MEMORY、ALLOCATION_LIMIT、INSTANCE_TOTAL_MEMORY_USED_SIZE、INSTANCE_TOTAL_MEMORY_ALLOCATED_SIZE などの列があります。サービス単位では SYS.M_SERVICE_MEMORY の TOTAL_MEMORY_USED_SIZE を確認します。
列ストアのテーブル使用量を調べる場合は、M_CS_TABLES の MEMORY_SIZE_IN_TOTAL と RECORD_COUNT を利用します。メモリの逼迫がある状態では、更新作業の開始前に原因と解消方法を確認してください。SAP HANAメモリ使用量の確認方法も運用時の確認項目を整理する際に役立ちます。
対話形式での実行
インストールメディアまたはresident hdblcmのディレクトリで、<sid>adm ユーザーとして hdblcm を実行します。対話形式では、検出されたシステム、コンポーネント、ホスト、インストール先、ユーザー情報を順に確認しながら進めます。
各画面では、対象SIDとホスト名を特に注意して確認します。分散システムの更新では、全ホストが同じ作業対象として認識されていることを確認し、途中で端末を閉じずに完了メッセージとログを確認します。
非対話形式での実行
定型化した作業や複数環境への展開では、必要なパラメータを指定して非対話形式で実行できます。パスワードをコマンド履歴、シェル履歴、ジョブ定義に平文で残さない運用にしてください。実行後は、戻り値、ログ、サービス状態、データベース接続を確認します。
新規インストールと更新
新規インストールでは、SAP HANAのソフトウェアパッケージ、OSユーザー、インストール先、SID、インスタンス番号、システム構成を準備してから hdblcm を実行します。SAP HANA 2.0の構成では、システムデータベースとテナントデータベースの作成方針をあらかじめ決めます。
更新では、対象リリース、適用するコンポーネント、バックアップ、停止時間、更新後の確認手順を整理します。更新前にシステム全体のバックアップを取得し、更新ログを保存します。更新後は、サービス、システムデータベース、テナントデータベース、アプリケーション接続、バックアップジョブを順に確認します。
パッチやリビジョン更新の進め方は、SAP HANA更新手順で扱う事前確認と作業後の確認も参照してください。
データボリューム暗号化、ログボリューム暗号化、バックアップ暗号化はそれぞれ個別に設定します。暗号化を変更する場合は、必ずルートキーをバックアップし、変更後にも再度バックアップします。変更されたバックアップ暗号化ルートキーを再バックアップしない状態では、対象バックアップを復旧できなくなります。
SAP HANA cockpitのインストール
SAP HANA cockpitを導入する場合は、SAP HANA cockpitパッケージの内部から hdblcm を実行します。パッケージを展開したディレクトリへ移動し、そこにある hdblcm を起動して、インストール対象、ホスト、ポート、管理ユーザー、サービス設定を指定します。
導入後は、SAP HANA cockpitへアクセスし、対象システムを登録します。接続先のホスト名、SQLポート、認証情報、証明書、監視対象の権限を確認します。SAP HANA cockpitの導入手順を分けて確認する場合は、SAP HANA cockpitインストール手順を参照してください。
SAP HANA database explorerは、SQLの実行やデータベースオブジェクトの確認に使用します。SAP HANA cockpitは、システム監視、設定確認、アラート確認などの運用画面として使用し、両者を目的に応じて使い分けます。
データベースの作成と起動停止
新しいテナントデータベースを作成する場合は、システムデータベースへ接続し、DATABASE ADMIN権限を持つユーザーで次の形式を実行します。
CREATE DATABASE DB0 SYSTEM USER PASSWORD Manager1;
作成後のテナント一覧は M_DATABASES で確認します。テナント単位の起動と停止は、システムデータベースで次のSQLを実行します。
ALTER SYSTEM START DATABASE <name>;
ALTER SYSTEM STOP DATABASE <name>;
システム全体を起動・停止する操作には、テナント単位のSQLではなく、ホスト上の管理コマンドを使用します。ローカルホストのスクリプトは、<sid>adm ユーザーで次のように実行します。
cd /usr/sap/<SID>/HDB<instance number>
./HDB start
./HDB stop
このスクリプトはローカルホストだけを対象とします。分散システムでは、sapcontrol を各構成に合わせて使用します。
sapcontrol -nr <instance number> -function StartSystem
sapcontrol -nr <instance number> -function StopSystem
特定ホストを指定する場合は、-host を追加します。-nr にはインスタンス番号を指定し、これらの操作も <sid>adm ユーザーで実行します。システム全体の停止・起動とテナント単位の停止・起動を作業計画上で分けて記録してください。テナント構成の確認には、SAP HANAテナントデータベースの管理も利用できます。
実行後のトラブルシューティング
hdblcm が対象システムを検出しない場合は、実行ディレクトリ、OSユーザー、SID、インスタンス番号、ホスト間の名前解決、必要なサービスの状態を確認します。分散構成では、各ホストへの接続と共有領域のマウント状態も確認します。
更新が途中で停止した場合は、同じ操作を繰り返す前に、画面に表示されたメッセージとライフサイクル管理ログを保存します。データベースの状態、サービスプロセス、空きディスク容量、バックアップの状態を確認し、処理がどの段階で止まったかを特定します。
起動後にテナントへ接続できない場合は、システムデータベースで M_DATABASES を確認し、対象テナントの状態、SQLポート、ユーザー権限、ネットワーク接続を確認します。システム全体を起動した場合でも、アプリケーション接続、バックアップ、監視アラートは個別に検証します。
作業完了時には、hdblcmの終了コード、実行ログ、インストール済みコンポーネント、各サービスの状態、システムデータベースとテナントデータベースへの接続結果を記録します。変更した暗号化設定がある場合は、ルートキーの再バックアップ完了も記録します。