SAP HANA Installation

SAP HANA hdblcmとは?使い方、resident hdblcm、更新と運用の実務

SAP HANA on-premiseのライフサイクル管理ツールhdblcmについて、インストール、更新、resident hdblcm、SAP HANA cockpitの導入、実行時の確認事項を実務向けに解説します。

hdblcmによるSAP HANAライフサイクル管理事前確認から変更後検証までの実務フローを示すhdblcmによるSAP HANAライフサイクル管理事前確認から変更後検証までの実務フローを示す承認済み変更処理完了事前確認対象範囲、バックアップ、…hdblcmを実行インストールメディアまた…変更後検証サービス、データベース、接…CertPas オリジナル図解
SAP HANAライフサイクル管理の実務フロー。事前確認、hdblcm実行、変更後検証の順に進む
目次
  1. hdblcmとは
  2. resident hdblcmの役割
  3. hdblcmの基本的な使い方
  4. 新規インストールと更新
  5. SAP HANA cockpitのインストール
  6. データベースの作成と起動停止
  7. 実行後のトラブルシューティング

SAP HANA on-premiseの導入・更新・追加コンポーネント管理では、コマンドラインのライフサイクル管理ツールである hdblcm を使用します。インストールメディアからの新規導入だけでなく、既存システムの更新、コンポーネントの追加、設定確認にも利用できます。

SAP HANA 2.0は、システムデータベースとテナントデータベースで構成されるマルチテナントシステムとして運用します。ライフサイクル作業の前に、対象システム、対象ホスト、停止時間、バックアップ状態を確認しておくことが重要です。

hdblcmとは

hdblcm は、SAP HANAのインストールとライフサイクル操作をコマンドラインから実行するプログラムです。インストールメディアのルートディレクトリ、または既存環境に配置されたライフサイクル管理用ディレクトリから実行します。

同じメディアには、グラフィカルフロントエンドである hdblcmgui が用意される場合があります。コマンドラインで自動化しやすい作業は hdblcm、対話的に項目を確認しながら進める作業は hdblcmgui という使い分けができます。

作業全体の前提やインストール順序は、SAP HANAインストール手順と合わせて確認してください。

操作対象の選び分けテナント単位の操作とシステム全体のホスト操作を区別する操作対象の選び分けテナント単位の操作とシステム全体のホスト操作を区別する対象範囲が異なるホストを意識した操作単一テナントシステムデータベースでA…SAP HANAシステム全体./HDBまたはインスタンス…分散システムsapcontrolを使用し、必要…CertPas オリジナル図解
SAP HANAのテナント単位とシステム全体の起動停止操作の比較

resident hdblcmの役割

resident hdblcm は、既存のSAP HANAシステムと同じ環境に配置されるライフサイクル管理ツールです。インストールメディアを毎回用意する方式とは異なり、システムに対応した管理プログラムを利用して更新や追加コンポーネントの操作を行えます。

実行前には、対象システムのSID、インスタンス番号、インストール済みコンポーネント、実行ホストを確認します。分散構成では、処理対象となるホスト間の接続、<sid>adm の権限、共有ディレクトリの状態も確認します。

resident hdblcmを使用する場合は、対象システムに付属するライフサイクル管理ディレクトリへ移動し、そこで hdblcm を実行します。実際のオプションは実行環境に表示されるヘルプと導入ガイドを確認し、変更対象を明確にしてから指定します。

hdblcmトラブルシューティングフローhdblcmが対象を検出できない、または処理を完了できない場合の確認順序を示すhdblcmトラブルシューティングフローhdblcmが対象を検出できない、または処理を完了できない場合の確認順序を示す証跡保存後実行環境が正しい場合メッセージとログを保存再実行前に表示メッセージ…実行環境を確ユーザー、SID、インスタ…システム状態を確認サービス、データベース状態…CertPas オリジナル図解
hdblcmのトラブルシューティング。ログ保存、実行環境確認、システム状態確認の順に進める

hdblcmの基本的な使い方

実行前の確認

次の項目を作業チェックリストにします。

  • 対象のSIDとインスタンス番号
  • システムデータベースと対象テナントデータベース
  • すべてのホストの稼働状態
  • データバックアップとログバックアップの取得状況
  • 使用するソフトウェアパッケージと対応する更新内容
  • 作業ユーザー、OS権限、空き容量
  • 作業ログの保存先とロールバック計画

メモリ状況を確認する場合は、SAP HANA cockpitまたはSAP HANA database explorerを使用できます。SQLでホスト単位の状態を確認する場合、SYS.M_HOST_RESOURCE_UTILIZATION には HOSTUSED_PHYSICAL_MEMORYFREE_PHYSICAL_MEMORYALLOCATION_LIMITINSTANCE_TOTAL_MEMORY_USED_SIZEINSTANCE_TOTAL_MEMORY_ALLOCATED_SIZE などの列があります。サービス単位では SYS.M_SERVICE_MEMORYTOTAL_MEMORY_USED_SIZE を確認します。

列ストアのテーブル使用量を調べる場合は、M_CS_TABLESMEMORY_SIZE_IN_TOTALRECORD_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の終了コード、実行ログ、インストール済みコンポーネント、各サービスの状態、システムデータベースとテナントデータベースへの接続結果を記録します。変更した暗号化設定がある場合は、ルートキーの再バックアップ完了も記録します。

ブログ一覧へ戻る