SAP認定コンサルタント(C_HANATEC_16)
最大手ERPソフトウェアパッケージベンダーが認定するSAP技術者認定試験です。行テーブルであるHANAデータベースに関するTechnicalエンジニア向けのC_HANATEC_16について説明します。
- 難易度
- ★★★★☆
- 業務に役立つ
- ★★☆☆☆
- 市場価値
- ★★★☆☆
- 言い換え
- BASISコンサルタントの次のステップ
C_HANATEC_16はBASISコンサルタントがシステム管理に関するSAP認定試験に合格した後、次のステップとして受験する典型的コースです。HANA2.0 SPS04に関する知識を有することを保証します。
スポンサードリンク
はじめに
SAP認定試験に必要なトピックを簡潔に記載しました。
何を言っているのか分かるようになれば合格は近いです。
初学者の方はまずはこちらのSAP公式ブログをご覧になる事をオススメします。
SAP認定試験の概要が分かりやすくまとまっています。
1章 HANAの紹介
●列形式での圧縮
●ネームサーバ: ランドスケープ情報の更新
●マスタインデックスサーバ: データの保持と全操作の実行
●統計サーバ: パフォーマンスデータの収集
●XSサーバ: XSサービス
●SAP HANA Studioリポジトリ: HANAコンテンツライフサイクル管理リポジトリ
●SAP ホストエージェント: リモートでの起動●停止
●SAP HANA Database LCM: HANAソフトウェア更新管理
⇒マルチノードクラスタの場合には、以下が各ノードで増える
①ネームサーバ
②インデックスサーバ
③ホストエージェント
2章 インストール準備
●サイジングのTシャツサイズ
①XS: 128GB メモリ
②S: 256GB メモリ
③M: 512GB メモリ
④L: 1TBメモリ
●動的RAM(テーブルデータ保持) = 静的RAM(新規データロード、クエリ実行)
そのため、RAM総量は静的RAM×2倍
●root
最低10GB
●hana/log
RAM * 1倍
●hana/data
RAM * 3倍
●hana/shared = インストールパス(sapmnt 共有ディレクトリ)
RAM * 1倍
⇒hana/shared/<SID>/dbdclient = SAP HANA クライアント
⇒hana/shared/<SID>/hdbstudio. = SAP HANA Studio
●(usr/sap = システムインスタンス 最低50GB)
●サーバ負荷が平均で65%を超えないようにCPUサイジングが必要
(CPU : 300SAPS / アクティブユーザ)
●クイックサイザ―
簡単 < 中程度(簡単に比べて2倍) < 複雑(簡単に比べて10倍)
低活動 < 中活動 < 高活動
●クイックサイザ―は下記を計算
①CPU
②ディスク
③メモリ
④I/O
●ホストとインスタンスはほぼ同義だが、単一インスタンスと複数ホストに分散可能
(必ずインスタンス名は同じにする)
●hdblcm利用には、SUSE Linux Enterprise server(SLES)が必要
(最低スペック: 20GB RAM)
3章 インストール
●SAP HANA Database Lifecycle Manager
①hdblcmgui (グラフィカルユーザインタフェース) ⇒ 拡張インタラクティブモード
②hdblcm(コマンド行インタフェース)
③hdblcmweb(WEBユーザインタフェース)
1.インストールメディアHDBLCM
⇒インストール、更新
2.レジデントHDBLCM
(hana/shared/<SID>/hdblcm)
⇒設定タスク(ホスト追加、SLD設定、など)
●<SID>adm
⇒ システム起動●停止ユーザ
●sapadm
⇒ ホストエージェントユーザ
●SYSTEM
⇒ 全権限保有
●ログ
/var/tmp/hdblcm.log または/var/tmp/hdblcmgui.log
●アーカイブ先
/var/tmp/hdb_<SID>_hdblcm_<action>_<date>
●ログの拡張子毎の違い
①log: テキストエディタで参照可能
②msg: GUIで表示できるXML形式
③tgz: 元のトレースファイルのデルタ分析を提供、より詳細な分析可能
●インストールトレース
環境変数 HDB_INSTALLER_TRACE_FILE to <tracefilename>でオンに設定
●sapstartsrvファイル
/etc/init.d/sapinit* - ブートスクリプト
●SAP HANA Studio
⇒ hdbsetupを使用してインストール可能
(usr/sap/hanastudio)
●分散システムインストール
●マスタインデックスサーバが、ほかのインデックスサーバに対してメタデータ提供
●全サーバのサイズを同じにする
●インストーラのグループ区別
①sapsysグループ
⇒ システム内のすべてのホストを定義するグループ
②hostグループ
⇒ 同じスタンバイリソースのみを共有するホストのグループ
●外部ストレージ
前提:
①スタンバイホストにファイルアクセス権がある
②障害ワーカホストによるファイルへの書き込みアクセス禁止(フェンシング)
4章 インストール後の処理
●HANAサーバ
①ホストエージェント(HANA DBと接続)
②診断エージェント(ホストエージェントと接続)
●Solution Manager
③LMDB(ランドスケープ管理DB)
④DBAコックピット
●SAProuterによる、HANA <-> SAP通信接続
⇒ HANAサーバ上のsapstartsrvを通じたマスタインデックスサーバへの接続
⇒ HANA sapstartsrvのポート(5<instance no>13)
⇒ HANA マスタインデックスサーバのポート(3<instance no>15)
●ライセンス管理
システム権限 LICENSE ADMINが必要
①一時ライセンスキー: 90日有効
②恒久ライセンスキー: 恒久ライセンスが失効すると一時ライセンスが自動インストール
⇒この場合の一時ライセンスの有効期限は28日間
※恒久ライセンスキー
①非強制: メモリ消費がライセンスで許可されたメモリ上限を超えてもOK
②強制: 〃を超えるとシステムロック
●HANA更新ツール
①hdblcm(コマンド行)
②hdblcmgui
※hdbinst(インストール用)、hdbupd(更新用)などのラッパツール
●アップグレードにかかる時間 = (シャットダウン時間)+(HANA再起動時間)+20分
●段階的システム更新
⇒prepare_updateフラグ設定して、hdblcmから2回起動すると実行される
●HANA SPSは年に2回のリリース
●HANAメンテナンスリビジョンはSPSリリース後、3か月間はバグフィックスが提供される
●3月、9月の終わりにはSAP production system verifiedというラベル付きリビジョン
に基づいてデータセンタの保守時間帯を計画することを推奨する
●SHINE(SAP HANA Interactive Education)=デモ
例:①SINA(SAP HANA simple info access)=ブラウザベース検索UI開発用JavaScripAPI
②CDS/HDBDD
起動の前提条件: sap.hana.democontent.epm.roles:: User ロール
設定の前提条件: ssap.hana.democontent.epm.roles:: Admin ロール
//<hostname>.8000/sap/hana/democontent/epm/ui/NewLaunchpad.html
8000 = 80+インスタンス番号
検索用ラウンチパッドの前提条件: sap.hana.democenter.epm.roles:: admin ロール
5章 アーキテクチャとシナリオ
●コアプロセス
①デーモン: 全プロセスを開始、動作維持
②インデックスサーバ: 主要DBプロセス(ロード、クエリ、計算、組込統計サービス)
③ネームサーバ: DBランドスケープ識別、データ配置識別
④プリプロセッサ: 未構造データ(例:テキスト文書)のHANAへのフィード
⑤コンパイルサーバ: ストアド、プログラムコンパイルの実行
⑥XS-Engine: Webサービスコンポーネント
⑦SAP Webディスパッチャ: HTTP(S)リクエストのエントリポイント
⑧SAP Start service: 他サービスの起動●終了
●コアアーキテクチャ
上位
①外部インターフェース
1.SQL, Webインターフェース
②要求処理/実行制御 = クエリ実行
1.SQLオプティマイザ
2.計算●ローストアエンジン
③リレーショナルエンジン = データ格納(メモリ内)
1.カラムストア
2.ローストア
④ストレージエンジン = メモリ⇔ディスク転送処理
A.ページ管理
B.ロガー
⑤ディスクストレージ = パーシスタンスレイヤ
A.データボリューム
B.ログボリューム
⑥A⇒非同期書き込み (データを一定間隔で書き込み)
or
B⇒同期書き込み (ログ=変更都度、即ちCOMMIT後に書き込み)
●インメモリデータはディスク(パーシスタンスレイヤ)に書き込み
メモリ(SQLデータとUNDOログ)
⇒ データボリューム(デフォルト5分間隔セーブポイント) ⇒ 変更データ+UNDOログ
⇒ ログボリューム(変更都度) ⇒ REDOログ
●Ext3ファイルシステムの2TB上限に達しても、追加ファイルが自動作成される
●データボリュームへの非同期セーブポイント
①データバックアップ
②データベースのシャットダウン、再起動
③手動トリガ(ALTER SYSTEM SAVEPOINT)
●シャドウページング(コンセプト)
新規セーブポイントは常にシャドウページに保存されるので、
セーブポイント操作時にシステムクラッシュしても、直近セーブポイントから復元可能
●再起動後
RAMにロードされるのは必要なテーブルのみ
(セーブポイント、トランザクションからデータを読み込む)
⇒ロード済みカラムテーブルをリスト化する(1日1回)
再起動時にメインメモリにロードするテーブルは本リストに基づく
※indexserver.iniファイルのsqlセクション reload_table = falseで無効化
①ローストア(行データ) ⇒ 起動時にメモリへ完全ロード
②カラムストア(列データ) ⇒ 起動時にオンデマンドでレイジーにロード
●メモリ
物理メモリ(DRAMメモリ)=(①+②)
①完全空き
②仮想メモリ=(1.+2.)
1.割り当てメモリプール(空き)
2.使用メモリ(常駐メモリ)
●データベース管理
●テーブルデータ(カラム、ロー、システム)
●コード、プログラムスタック
●カラムストアのメモリ管理
メモリ
①メインストレージ = 読込
②デルタストレージ = 読込、書込
※デルタマージ = デルタストレージの内容を圧縮してメインストレージに移動
⇒ダブルバッファリング(テーブルロックが短時間で済む)
●デルタマージの手法
①自動マージ
mergedogが監視
②スマートマージ
大容量データロード中はデルタマージを回避するため、スマートマージヒント発行
③ハードマージ、強制マージ
SQL文によるマニュアルトリガ
④クリティカルマージ
例え、他のマージがトラブっても自動実施されるように閾値を設定して自動マージ
●SAP HANA Studio
データベース管理、ユーザ権限、データ新規モデル
●SAP HANA Lifecycle manager
●SAP HANA XS
●AFL(Application Function Library)
HANAで動作する事前配布済みアルゴリズムをライブラリ
①PAL
(Predictive Analysis Library): 予測分析、データマイニング
(Data preparation Functions):
②BFL (Business Function Library): 財務
●アジャイルデータマート(分析データモデル)
●オペレーショナルデータマート
●HANAアクセラレータ
●主要パーシスタンス
●単一ホストにHANA, AS ABAPを同居させる場合には、それぞれ別のSIDが必要
●HANAの移行
①SWPM(Software Provisioning Manager)のシステムコピー
②SUMのデータベース移行オプション(DMO) = HANAの1ステップ手順
●HANA Tailored Datacenter Integration
⇒インストールはユーザが実施⇒ E_HANAINST1XX担当者が必要
MCaaS: HEC
SaaS: ARIBA,,,
PaaS: HANA Cloud platform
IaaS: HANA Cloud infrstructure
●従来型配置オプション= SCOS(Single Component on One SAP)
●同時配置オプション = ①MCOS(Multiple Component on One System)
②MCOD(Multipe Component on One Database)
①MCOS
1システムにMultiデータベース
②MCOD
1データベースにMultiスキーマ
●マルチテナンシー
1つのサーバ上で稼働する1インスタンスが、複数テナントのために動作する仕組み
●1つのシステムDBに複数のテナントDB
6章 HANAの管理ツール
●SAP HANA Studio: システム全般管理●監視(Eclipseベース)
●SAP HANA コックピット: 単一のHANA管理●監視のWebベースツール(Fioriラウンチパッド)
URL: //<host>:<port>/sap/hana/admin/cockpit
●SAP DBA コックピット: プラットフォーム非依存、バックアップのスケジュール●ロギング
(⇒Solution Managerで使用)
●SAP HANA HDBSQL: SQLコマンド実行ツール
●SAP DB Control Center(SAP DBCC): データベースランドスケープ集約監視のWebツール
URL: //<host>:80/sap/hana/dbcc
【SAP HANA Studio】
①バックアップ: バックアップ
②カタログ: テーブル、プロシージャ
③コンテント: パッケージ、ビュー
④プロビジョニング: リモートデータソース
⑤セキュリティ: ユーザ、ロール
●Administration Consoleで管理者向け作業を実施できる
①Overviewタブ: システムステータス、メモリ、CPU、ディスク
②System informationタブ: システム監視用のユーザ定義SQL文
●Administrationエディタを診断モードで開く(<sid>admだけ)
システム未起動状態で、SAP起動サービス(sapstartsrv)を使用してDB情報収集
【SAP HANAコックピット】
●SPS09から利用可能
●FIORIベース = モバイルデバイスでの監視可能
●SAPUI5の全エディタを所持(SAP HANA Studioから移動された)
●必要な権限(自動付与)
sap.hana.admin.roles::Administrator
sap.hana.admin.roles::Monitoring
●データベースユーザSYSTEMには以下ロールが自動付与される
sap.hana.admin.roles::Administrator
sap.hana.ide.roles::SecurityAdmin
sap.hana.ide.roles::TraceViewer
【DBAコックピット】
●SolutionManagerを使用して、データベースバックアップのスケジューリング
●T-CD: DBACOCKPIT (ABAP画面で見られる)
●リモートデータベースを追加可能
(SQLポート: 3<インスタンス番号>15)
●特徴的なメニュー
①Jobs: DBA計画カレンダ
②Diagnostics: トレースの可能性
●Audit Log(DBA監査ログ)
●Missing Tables and Indexes(追加のRFC宛先が割り当て済みローカルシステム
または、ABAPシステムでのみ使用できる)
●EXPLAIN(SELECT, INSERTなどの実行プラン)
●SQL Editoer
●SQLDBC Trace
●Database Trace
【HDBSQLコマンド行ツール】
●HANA Studioとの違い ⇒ HDBSQLはDBシステムをサポートする全OSで利用可能
●データベースユーザとしてログオンする(さもなくば、Kerberos認証ログオンが試行される)
●ログオン方法
①1ステップログオン(HDBSQLの起動コマンドで信用証明書を指定)
②2ステップログオン(HDBSQLの起動後にシステムへ接続)
●コマンド実行
①インタラクティブ(セッション)モード ⇒ コマンド終了後には、明示的にセッション切断
②非インタラクティブ(コマンド)モード ⇒ コマンド終了後には、自動終了
●バッチファイルから実行時にはAUTOCOMMITモードがデフォルトで有効
●セキュアユーザストア(hdbuserstore)
ユーザのログオン情報やパスワードを安全に保管
(ファイルシステムSSFSを使用)
⇒ /usr/sap/hdbclientディレクトリに配置
⇒ セキュアユーザストアにアクセスできるのは、セキュアパスワードストアの
ファイルを所有するOSユーザのみ
スポンサードリンク
7章 運用
●HANAを停止●起動する方法
①SAP HANA Studio利用 ⇒ OSユーザ<sid>admのパスワード必要
⇒Administrationエディタが診断モードで開き、サービスが1つずつ起動
1.最後にコミットしたトランザクションステータスをDBが受け取る
2.コミット済トランザクション中、データ領域に書き込まれたなかった変更をやり直し
3.データベース停止中の全書き込みトランザクションがロールバック
4.ローテーブルがメモリにロード
5.セーブポイント実行
6.カラムテーブルが非同期的にメモリにロード
⇒データベース停止
Hard: 即時停止
Soft: セーブポイント実行
(Stop wait timeoutでサービス停止を待つ秒数を指定可能)
⇒以下の状況下ではAdministrationエディタが診断モードで起動
①SQL接続されていないシステムでAdministrationエディタを開くとき
②システムの起動●停止●再起動を実行するとき
⇒個々のサービス(nameserver, indexserver, など)
を停止●起動するには、システム権限 SERVICE ADMINが必要
②OSコマンド: OSユーザ<sid>admとしてHDBを利用
③OSコマンド: rootとしてsapstartsrvを利用
●HANA StudioのAdministration Console
⇒プロパティに該当
例: SAPシステムログオンメニュー
<sid>admの使用証明書を保存
⇒ HANAの停止●起動時に<sid>admのパスワード再入力が不要になる
●システム用途タイプの表示
●インストール時にsystem_usageパラメータを使用するか、あとでプロパティ変更
●sapstartsrvに到達できないほとんどの原因は、HANA StudioでHTTPプロキシ設定ミス
●HANA StudioのAdministrationエディタのConfigurationタブ
(パラメータ変更にはシステム権限 INFILE ADMIN)
設定ファイル場所
/usr/sap/<sid>/sys/global/hdb/custom/config
/usr/sap/<sid>/HDB/<インスタンス番号>/<server name>
①sapprofile.ini
SID、インスタンス番号など、各ホスト固有の情報
②daemon.ini
どのデータベースサービスを起動するか指定
③nameserver.ini
各インストールのグローバル情報
●パラメータ設定例
①global_allocation_limit
各ホストへの割り当て限度メモリ
②savepoint_interval_s
内部バッファがディスクにフラッシュされて再起動レコードに書き込まれる頻度
③enable_auto_log_backup
ログの自動バックアップ(デフォルト:有効)
⇒もしログモード=normalで、enable_auto_log_backup = no の場合には、
ファイルシステムが満杯になるまでログ領域が大きくなる
④log_mode
●normal: enable_auto_log_backup = yesの場合、ログが自動バックアップされる
●overwrite: ログセグメントがセーブポイントによって解放される
(ポイントインタイムリカバリがサポートされなくなってしまう)
⑤log_buffer_size_kb
1つのインメモリログのサイズをキロバイト単位で指定
⑥content_vendor
デリバリユニット定義
(未定義の場合には、HANA Studioのモデリングツールからデリバリユニット登録不可)
●HANAはカラムベースストレージ向けに最適化されている
カラムストアを使用する条件
●少数の列への計算
●テーブルに数多くの行があり、列の演算が必要
●高い圧縮率が必要
●HANAの機能「パーティショニング」はカラムテーブルでのみ利用可能
●更新と挿入はローテーブルの方が良好(単一更新を頻繁に行う、小テーブルに適する)
ローストアを使用する条件
●一度に多くのレコードを処理
●集約、高速検索は不要
●パーティショニング
(カラムストアテーブルを分割)
利点:
●カラムストアテーブルのサイズ制限の克服(20億行以上)
●デルタマージ操作のパフォーマンス向上
●単一レベルパーティショニング
Table Distributionエディタで分割状況の確認、分割戻しなどが実施できる
①ハッシュパーティショニング
行を均等に分割(負荷分散と20億行の克服)
②範囲パーティショニング
特定範囲、例えばカレンダの各月をを分割
③ラウンドパーティショニング
新しい行が回転形式で分割(テーブルに一次キーが存在してはならない)
④時間選択パーティショニング(エージング)
コールド(古い)とホット(現在)を分割
●テーブル複製(チューニングオプション)
REPLICA AT ALL LOCATIONS
●カラムテーブルのロードとアンロード
メモリへの手動ロード●アンロード
●マニュアルデルタマージ
MERGE DELTA OF '<table name>'
●テーブルのインポート、エクスポート
ローストアテーブルはCSV形式のみエクスポート可能
(カラムストアテーブルはバイナリorCSV形式 可能)
●基本的にHANAの管理タスクは、HANA StudioのAdministraton Consoleパースペクティブ
●バックアップの実行
●ステータスチェック
●診断ファイルのチェック
●追加トレースの有効化と分析
●ログ満杯状況の回避
●Landscapeタブ
すべてのサービス一覧
●nameserver
●indexserver
●preprocessor
●statisticsserver
メモリ利用状況
>System Leplicationサブタブ
インメモリロードを含む複製によって迅速なフェイルオーバーを実現
(2つのシステム間の接続設定)
●アラートタブ
ディスク領域の90%使用 = 低優先度アラート
ディスク領域の98%使用 = 高優先度アラート
●パフォーマンスタブ
スレッド、セッション、ジョブなどのパフォーマンス分析
>スレッドサブタブ
システムで実行中の全スレッドが監視可能
>セッションサブタブ
システムで実行中のセッションが監視可能
>ブロックドトランザクションサブタブ
>SQLプランキャッシュサブタブ
再利用用のコンパイル済みSQL文が格納
>高負荷文
デフォルトでは高負荷文トレースは無効化
(SAP HANA Studio)
【Diagnosis Filesタブ】
●ログファイル、トレースファイルを確認
●ディスク領域監視
●Trace Configurationタブでは複数のトレースを有効化できる
●システム再起動の際には、HANA Studioのナビゲータを使用できる
※ログセグメントをOSレベルで削除するとDBが停止する
【Trace Configurationタブ】
●データベーストレース⇒ デフォルト: トレースレベルERRORで有効化されている
●SQLトレース⇒ デフォルト: 無効化
(結果はPythonプログラムとして保存される)
●高負荷文トレース⇒ デフォルト: 無効化
●ミニチェック
簡単なアドホックチェック
●デリバリユニット
まとめて移送されるパッケージの集合
●ネイティブHANAコンテンツ ⇒ HANAアプリケーションライフサイクル管理(HALM)
●上記またはソリューション一部 ⇒ CTS+
●ABAP ⇒ CTS
8章 バックアップとリカバリ
●データバックアップは操作モードがオンラインの場合だけ利用可能
●設定ファイルのリカバリはない
●バックアップのスケジューリングはDBAコックピット
●SAP HANA BACKUINTインタフェースがデータ書き込みの全アクションを行う
(パイプ経由での転送)
●リカバリ中はデータベース停止が必要
●バックアップには共有ストレージ必要、nameserverプロセスがアクセスするため
必要な権限
①バックアップ
BACKUP ADMIN または BACKUP OPERATER CATALOG READ
②リカバリ
<sid>adm ユーザ
③バックアップエディタを開く
BACKUP ADMIN CATALOG READ
④バックアップ削除
BACKUP ADMIN
※つまり、BACKUP OPERATORはバックアップ実行だけ
【データ領域のバックアップ】
●完全データバックアップ
データとUNDO情報
●デルタバックアップ(=データのバックアップであり、ログバックアップはREDOログ)
※nameserver, indexserver, xsengine 全サービスのペイロードがバックアップされる
①増分
バックアップ時間短い、リカバリタイム長い
②差分
●バックアップファイルの場所(データ領域、ログ領域と同じ場所は避ける)
global.ini(パラメータ basepath_databackup)
デフォルト: $(DIR_INSTANCE)/backup/data
●バックアップファイル名
COMPLETE_DATA_BACKUP_databackup_3_1 = XS Engine
COMPLETE_DATA_BACKUP_databackup_2_1 = Index server
COMPLETE_DATA_BACKUP_databackup_1_1 = Name server
COMPLETE_DATA_BACKUP_databackup_0_1 = Name server トポロジ
●バックアップサイズ見積もり
HANA StudioのSQLエディタ システムテーブル M_CONVERTER_STATISTICS
【ログ領域のバックアップ】
●ログセグメントをOSレベルで削除するとDBが即時停止する(トラブル)
●(メモリ)ログバッファ ⇒ (パーシスタンスレイヤ)ログボリューム ⇒ ログセグメント(1GB)
●ログモード
①normal: ログセグメントがセーブポイントによって解放され、ログバックアップ実行
②overwrite: ログバックアップ実行なし
⇒ ポイントインタイムリカバリがサポートされない
●ログセグメントがバックアップされるタイミング
①ログセグメントが満杯
②時間の閾値を超えてログセグメントがクローズされたとき
パラメータ: log_backup_timeout_s(0なら、①、③のみが適用)
③データベースが起動されたとき
●バックアップ関連のプロファイル
global/ini
①$(DIR_INSTANCE)/backup/log
②enable_auto_log_backup
③log_mode
●iniファイルの保管場所(手動でバックアップする必要がある)
グローバル設定 ⇒ $(DIR_INSTANCE)/SYS/global/hdb/custom/config
global.ini, indexserver.ini, nameserver.ini
ホスト固有 ⇒ $SAP_RETRIEVAL_PATH
daemon.ini, sapprofile.ini
●バックアップ進捗
backup.log
(HANA StudioのDiagnosis Fileからアクセス)
①M_BACKUP_CATALOG
バックアップとリカバリ活動
②M_BACKUP_CATALOG_FILES
バックアップファイルとバックアップ先
●リカバリ方法
完全 > 差分 > 増分 > ログバックアップ > ログエントリ
※もし完全まで戻す場合、デルタバックアップはサポートされない(ログはバックアップ無し)
●リカバリ前提
●システム権限 BACKUP ADMIN
●<sid>admの使用証明書
●すべての使用バックアップファイルにアクセス可能
●少なくとも一つの完全バックアップが必要
●スナップショット
●特定時点のHANAデータ領域をキャプチャ
●バックアップと違い、HANAデータ領域とは違う場所に手動で移す必要あり
●HANA Studioで実行
●デルタバックアップのリカバリはサポートなし
●データベースコピー
①データバックアップ
②ストレージスナップショット(+ログバックアップ)
●複数ノードへのコピー
m > n
mからnへのコピー可能(逆は不可能=コピー後に細かく分散させることはできない)
9章 監視とトラブルシューティング
●HANA Sutdio Administrationエディタ Trace Configurationタブで有効化
権限 TRACE ADMIN
(カーネルプロファイラ設定には、SAP_INTERNAL_HANA_SUPPORT標準ロール)
●デフォルトでは、データベーストレース(トレースレベル ERROR)だけが有効
●ログファイルとトレースファイルの診断
Diagnosis Filesタブで診断
(usr/sap/<SID>/HDB<instance>/<host>/trace)
権限 TRACE ADMIN
●緊急サポートモード
SQLに接続できない場合には、sapstartsrvを使用して収集
Administration エディタ 診断モード
●SAPから要求されたトレースファイルを収集するには、
①HANA Studio Diagnosis Filesタブで収集
②緊急サポートモード(OS上のPythonスクリプト fullsystemInfoDump.py を実行)
●SQL文の実行
準備済文は、M_SQL_PLAN_CACHE_PARAMETERSに保存可能
●クエリ分析
SQLコンソール Plan Explanation, Plan Visualizer, SQL Plan Cache
Statement routingは、indexserver.iniファイルのclient_distribution_modeパラメータで制御
(デフォルト: 有効)
●Solution managerでの監視
SLD -> (Solman)LMDB
診断エージェント -> Solman
●GUI ⇒ SOLMAN_WORKCENTER
●Solman ⇒ SM_WORKCENTER
●SolmanとHANAとの統合
HANA側
①Hostagentのセットアップ(HostagentはHANAと通信する)
②SMDAgent(診断エージェント)
Solman側
③SLDへのHANA登録
④SOLMAN_WORKCENTERトランザクションを通じたHANA監視設定
●リモートサービスはsaprouter経由
saprouter設定
①HANA用のsapstartsrvのポート(デフォルト: 5<instance no>13)
②HANAマスタのindexserverのポート(デフォルト: 3<instance no>15)
●saprouterを経由したHANA Studioへの接続
いずれかを指定(管理者権限なし)
①MONITORING
履歴データ参照可能(スキーマ _SYS_STATISTICS)
②PUBLIC
モニタリングビュー参照可能(スキーマ SYS)
●OSレベルへのアクセス
①Linux ⇒ SSHまたはTelnet
②Windows ⇒ Citrix GoToAssist
③無人アクセス ⇒ Windowsターミナルサーバ接続
●hdbcons(問題分析用途: 実行中プロセスへコマンド実行できる)
●EWA用 Solution Manager Diagnostics(SMD)エージェント
⇒ SMDエージェントはSWPMを使用する
10章 セキュリティ
●HANA Studioにはセキュリティ関連機能が統合済み
●ユーザ管理とロール管理
●権限の管理
●監査ポリシー
●パスワードポリシー
●ユーザJDBC/ODBC、もしくはHTTP/Sを介してHANAに接続する
JDBC/ODBCアクセスはデフォルトで、
①標準ユーザには有効
②制限付ユーザには無効
●認証方法
※基本全部いけるが、DBCアクセスにX.509証明書は対応していない
①SQL DBCアクセス(JDBC/ODBC):
ユーザ認証、Kerberos、Security Assertion Markup(SAML)
②HTTPSアクセス(HANA XS):
SAPログオンチケット、X.509証明書
●暗号化
①データ通信(TLS)での暗号化
例: HANA Studio ⇔ sapstartsrv、もしくはHANA Studio ⇔ SAP Host agent
設定: indexserver.ini
②データパーシスタンスレイヤ データボリュームでの暗号化(公開鍵AES256)
●メモリにあるデータは暗号化されない
●ログボリューム(REDOログ)、データベースバックアップ、トレースも暗号化されない
●暗号化のマスタキーは、ファイルシステム内のセキュアストレージ内(SSFS)
⇒ 変更するためには、
①<sid>admの信用証明書
②コマンド行ツール rsecsfxを使用
●SAP CommonCryptoLibは、HANAのデフォルト暗号化ライブラリ
●HANA Studioで暗号化を有効化した後、次のセーブポイントから暗号化開始
●監査
●証跡はsyslogに保管される
●監査はHANA Studioで設定できる
●データベース全体に対してのみ、有効●無効化できる
●監査エントリには、パブリックシステムビュー AUDIT_LOGからのみアクセス可能
(システム権限 AUDIT ADMINまたは、AUDIT OPERATORはSELECT操作可能)
●監査ポリシー(監査ロギング)の有効化
例: 特定のアクションは、特定のプロジェクトで特定ユーザによって実行されると、証跡作成
前提: AUDIT ADMIN権限とINFILE ADMIN権限(=監査ポリシー登録可能)
●Firefighterのログは、特定ユーザの全アクションのログが記録される
●システム権限 AUDIT OPERATORは内部テーブルから古いエントリ削除が可能
●テーブルが監査証跡ターゲットとされている場合のみ、メモリ5%、7%、9%でアラート
11章 ユーザの更新と権限
●ユーザ管理はHANA Studioから主に実行、ただし
①hdbsql: SQLコマンドを使用
②HANAコックピット: ユーザへのロール割当
③SAP Netweavor Identity Management: アカウント登録●削除、ロール割当、パスワード
●WEB IDEでの管理
前提: ロール sap.hana.xs.ide.roles::SecurityAdming
●HANAコックピットでの管理
前提: ロール sap.hana.admin.roles::Monitoring
●標準ユーザ
①データベースユーザ: SYSTEM
②OSユーザ: <sid>adm(HANA StudioでのDBプロセス開始●終了など)、
ROOT(ユーザインストールとアップグレード)
●主なSQL権限
①システム権限
スキーマ登録、ユーザおよびロール管理
②オブジェクト権限
テーブルへのSELECT, UPDATE, DELTEなど
●管理タスクの権限
①SERVICE ADMIN: データベースサービスの停止●起動
②INFILE ADMIN: 監査ロギングの設定
③TRACE ADMIN: Diagnosis Filesタブでトレースファイルを操作
④BACKUP ADMIN: バックアップ全権限
⑤BACKUP OPERATOR: バックアップ実行
⑥SAML_PROVIDER: CATALOG READ
●分析権限
①Attributeビュー: 既存テーブルの結合
②Analyticビュー: 複数の次元テーブルと結合されたファクトテーブル
③Calculationビュー: SQLスクリプトを利用して定義
●ユーザに対する権限
ユーザが他のユーザに付与できる唯一のSQL権限
ATTACH DEBUGGER
●HANAのロール
①実行時ロール
データベースユーザに直接付与
付与したユーザのみが取り消せる
②設計時ロール
テクニカルユーザ _SYS_REPOによって登録
⇒ 必要なロール sap.hana.xs.ide.roles::EditorDeveloper
データベースユーザには直接付与できない
システム間で移送できる
ストアドプロシージャの実行によって付与される
●HANAには標準ロールPUBLICが付与済み(最低限のロール)
テンプレートロール
①MONITORING
②MODELING
③CONTETN_ADMIN
⇒ MODELINGと同じ権限、かつSchema_SYS_BIC(BI)に対するSQL権限
(他のユーザにこれらの権限を付与できる)
●SAP_INTERNAL_HANA_SUPPORT
⇒ HANA Studioでの kernel profiler実行に必要
●制限付きユーザがHTTP(S)接続のみ可能=ODBC/JDBC接続はできない
RESTRICTED_USER_ODBC_ACCESS または、
RESTRICTED_USER_JDBC_ACCESS が必要
●HANA Studioでユーザの無効化●有効化を行うには、システム権限 USER_ADMINが必要
●HANAのパスワードブラックリストは、テーブルSYS_PASSWORD_BLACKLIST
●パスワードルールのパラメータは、indexserver.iniで管理
パラメータ変更の前提条件 ⇒ システム権限 INFILE ADMIN
●パラメータ maximum_invalid_connect_attempts
ログオン試行の失敗許容回数(デフォルト:6)
⇒ 最初にログオン成功すると、ビュー INVALID_CONNECT_ATTEMTSに表示
●パラメータ force_first_password_change = true
初回ログオン時にパスワード変更を強制
●SYSTEMユーザが無効な場合にも、システム権限USER ADMINが有効であれば、
緊急ユーザとして再有効化できてしまう
(パスワード紛失時には、緊急モードのインデックスサーバとOSユーザの信用証明書)
●他のユーザに付与されている権限を確認
システムビュー EFFECTIVE_PRIVILEDGES
前提: CATALOG READ または DATA ADMIN
●ビューおよびユーザの権限有無に適用できる分析権限を確認
システムビュー EFFECTIVE_STRUCTURED_PRIVILEDGES
●権限依存関係ビューア
セキュリティモードがDEFINERであるプロシージャでのみ使用
●SAP HANA Live Analytic Authorization Assistant
ユーザの既存のABAP PFCG権限をHANA権限に変換できる
12章 高可用性と耐災害性
●分散HANAシステム
インデックスサーバ
ネームサーバ
●global.iniのセクション internal_hostname_resolutionを編集してホスト名をIPにマッピング
●マスタネームサーバの障害
残りのネームサーバのうち1台がアクティブマスタとなる
●インデックスサーバの障害
マスタネームサーバがインデックスサーバの障害検知して、
フェイルオーバー時に障害の発生したインデックスサーバの
ボリュームをスタンバイサーバに割り当てる
●スケールアウトの最小限設定
アクティブ
マスタネームサーバ
インデックスサーバ
スタンバイ
ネームサーバ
●ストレージレプリケーション(ミラーリング)
●レプリケーションモード
①同期(sync)
プライマリはREDOログバッファを同期的に送信
②同期(Full sync)
プライマリはREDOログバッファを同期的に送信
かつ、プライマリはセカンダリとの接続が再度確立されるまでトランザクション保留
③メモリ内同期(syncmem)
プライマリはREDOログバッファを同期的に送信
かつ、セカンダリは書き込みを待たずして、プライマリへ確認を送信
④非同期(async)
プライマリはREDOログバッファを非同期的に送信
13章 マルチテナントDBコンテナ
●システムデータベースがネームサーバ(システムランドスケープ管理)を実行
かつ、インデックスサーバも保持
⇒ <sid>admがシステムデータベースのOSユーザ
●テナントデータベースはインデックスサーバのみを保持
⇒ sapsysグループ、<sid>shmグループ
⇒ ポート番号範囲 3<instance>40 から 3<instance>99
ただし、global.iniのreserved_instance_numbersを0から1,2 へすると100桁台を利用可能
●HANAコックピット
MDC(Multi Database Container)を管理
●テナントデータベースを個別に停止すると、個別でのみ起動可能
(システム全体の再起動をしても、意図的に停止したテナントは起動せず)
●global.ini customizeable_functionalities でテナント機能を無効化できる
●テナントDBのローカルユーザによってパラメータ変更を禁止するため、
multidb.ini ファイルでブラックリストを登録できる
●indexserver.ini パラメータmemorymanager.allocationlimit
テナントDBの全プロセスに割り当て可能なメモリの最大数
●indexserver.ini パラメータexecution.max_concurrency
テナントDBごとに利用可能なCPUコアの最大数
●システムデータベースのトレースファイル
/usr/sap/<sid>/HDB<instance>/<host>/trace
●テナントデータベースのトレースファイル
DB_<dbname>というサブディレクトリに保存
●システム権限 DATABASE_ADMIN
システムデータベースのユーザにのみ付与可能
●デフォルトではテナントデータベース間のアクセスは禁止
●監査証跡
global.iniのプロパティ変更により、テナントデータベースの監査証跡をオン
●マルチテナントではスナップショットはサポートされない
スポンサードリンク