SAP HANA Installation
SAP HANA テナントデータベースの作成・管理・削除ガイド
SAP HANA 2.0のマルチテナント構成を前提に、テナントデータベースの役割、作成、起動・停止、削除、運用確認までをSAP HANA cockpitとSQLの両面から解説します。
SAP HANA 2.0では、1つのSAP HANAシステムにシステムデータベースと複数のテナントデータベースを配置するマルチテナント構成が基本です。システムデータベースはシステム全体の管理を担い、テナントデータベースは業務データやアプリケーションを分離して運用します。この記事では、オンプレミス版SAP HANAにおけるテナントデータベースのライフサイクルを整理します。
テナントデータベースの役割
テナントデータベースは、アプリケーションのデータ、ユーザー、SQLスキーマ、データベース固有の設定を管理する論理的なデータベースです。システムデータベースは、テナントの登録状態、全体構成、システムレベルの監視や管理操作を扱います。
運用担当者は、実行する操作がシステム全体に及ぶのか、特定のテナントだけに及ぶのかを最初に確認します。テナントの起動・停止や削除など、対象データベースを限定できる操作は、接続先としてシステムデータベースを選んで実行します。
SAP HANA cockpitでは、システムデータベースと各テナントデータベースを一覧で確認できます。SAP HANA database explorerでは、接続先を選択してSQLを実行できるため、対象データベースを確認してから管理操作を行う手順が重要です。
作成前の設計と権限
テナントを作成する前に、データベース名、管理者ユーザー、パスワードポリシー、接続ポート、バックアップ方針、監視方法を決めます。データベース名はシステム内で識別しやすく、業務用途と対応関係が分かる名称にします。
作成操作はシステムデータベースへの接続で実行し、実行ユーザーには DATABASE ADMIN 権限が必要です。作成直後のSYSTEMユーザーのパスワードは安全な保管場所で管理し、日常運用では用途別の管理ユーザーと最小権限のユーザーを使い分けます。
SAP HANAのインストール全体の流れを確認する場合は、SAP HANAインストール手順も参照してください。インストール後のテナント設計では、各データベースの利用目的、バックアップ保持期間、障害時の復旧担当を明確にします。
テナントデータベースを作成する手順
SQLでテナントを作成する場合は、システムデータベースに接続してCREATE DATABASE文を実行します。基本形は次のとおりです。
CREATE DATABASE DB0 SYSTEM USER PASSWORD Manager1;
実際の環境では、組織のパスワードポリシーに適合した強固なパスワードを使用します。作成後は、SAP HANA cockpitまたはSAP HANA database explorerから新しいテナントへの接続を確認し、SYSTEMユーザーの初回ログオン、ライセンス状態、サービス状態を点検します。
作成処理の進行状況やインストール済みコンポーネントを確認するときは、hdblcmの使い方を併せて確認できます。hdblcmはSAP HANAのコマンドライン形式のライフサイクル管理ツールであり、テナント作成後のシステム運用ではSQL、SAP HANA cockpit、SAP HANA database explorerを使い分けます。
テナントの状態を確認する
テナントの一覧と状態は、システムデータベースからM_DATABASESで確認できます。SAP HANA cockpitでは、テナントの稼働状態、接続情報、アラート、バックアップ関連の情報を画面から確認できます。
確認作業では、次の項目を順番に点検します。
- M_DATABASESに対象テナントが登録されていること
- テナントの稼働状態が運用目的に合っていること
- システムデータベースとテナントデータベースの接続先を取り違えていないこと
- SAP HANA cockpitに重大なアラートが残っていないこと
- バックアップとログバックアップの運用が開始されていること
テナント内部のテーブルやユーザーを確認する場合は、対象テナントへ接続を切り替えます。システムデータベースから実行する管理操作と、テナント内部で実行するアプリケーション管理操作を分離すると、誤操作の防止につながります。
テナントを起動・停止する
特定のテナントだけを起動または停止する操作は、システムデータベースで次のSQLを実行します。
ALTER SYSTEM START DATABASE <name>;
ALTER SYSTEM STOP DATABASE <name>;
停止前には、接続中のアプリケーション、バッチ、ジョブ、バックアップ処理を確認します。計画停止では利用者へ通知し、停止後にSAP HANA cockpitで状態を確認します。起動後は、アプリケーション接続、必要なサービス、監視アラートを確認します。
SAP HANAシステム全体の起動・停止では、Linux上のHDBスクリプトまたはsapcontrolを使用します。HDBのパスは /usr/sap/<SID>/HDB<instance number>/HDB で、HDB start と HDB stop を実行します。HDBはローカルホスト上のシステム全体を対象とします。
分散システムでは、対象ホストを指定できるsapcontrolを使用します。システム全体の操作例は次のとおりです。
sapcontrol -nr <instance number> -function StartSystem
sapcontrol -nr <instance number> -function StopSystem
sapcontrolの -nr にはインスタンス番号を指定し、-host を追加すると対象ホストを選択できます。HDBとsapcontrolによるシステム全体の起動・停止手順は、SAP HANAの起動と停止で詳しく確認できます。これらの操作は、対象システムの <sid>adm ユーザーで実行します。
テナントデータベースを削除する
不要になったテナントを削除する場合は、対象テナントの名前、保持すべきデータ、バックアップ、接続先を確認します。削除前に業務担当者と承認手続きを完了し、必要なデータをバックアップまたは別の保管先へ保存します。
削除操作はシステムデータベースへの接続で実行します。代表的なSQLは次のとおりです。
DROP DATABASE <name>;
削除後はM_DATABASESから対象テナントが一覧から除外されたことを確認し、SAP HANA cockpitの監視対象、バックアップ設定、接続定義、ジョブ、外部システムの接続先も整理します。削除したデータベースを将来利用する可能性がある場合は、削除前に復旧要件とバックアップの有効性を確認します。
バックアップとセキュリティを整える
テナントの作成・削除では、データ保護をライフサイクルの一部として扱います。データボリューム暗号化、ログボリューム暗号化、バックアップ暗号化はそれぞれ個別に設定し、設定内容と運用責任者を記録します。
暗号化を利用する場合は、ルートキーを必ずバックアップします。ルートキーを変更した後は、変更後のルートキーも改めてバックアップします。変更後のバックアップがない状態では、暗号化されたバックアップを復旧できなくなるため、キーのバックアップ状態を定期的に確認します。
テナントのユーザーと権限は、業務担当、開発担当、運用担当の責任範囲に合わせて設計します。管理者権限を常用せず、監査ログ、パスワード管理、緊急アクセス手順を整備することで、安全な運用を継続できます。
運用チェックリスト
テナントを本番運用へ移行する前に、次のチェックを実施します。
- システムデータベースとテナントデータベースの接続先を確認する
- テナント名、用途、所有部門、管理担当者を台帳に登録する
- SYSTEMユーザーの初期パスワードを安全に管理する
- SAP HANA cockpitでテナントの状態とアラートを確認する
- データバックアップとログバックアップを設定する
- ルートキーのバックアップ手順と再バックアップ手順を確認する
- テナント単位の起動・停止手順をテストする
- システム全体の起動・停止手順と担当者を確認する
- 削除申請、承認、バックアップ保管の手順を文書化する
SAP HANA database explorerでSQLを実行する際は、画面上部の接続先を毎回確認します。SAP HANA cockpitでは、定期的なアラート確認と容量監視を行い、問題の兆候を早期に検知します。テナント単位の管理とシステム全体の管理を分けて記録することが、安定したマルチテナント運用につながります。