7.4.6 データベースを再編成する

データベースの再編成は,運用時にメンテナンスの一環として実施する作業です。データベースを再編成するタイミングについては,マニュアル「運用ガイド2」の「5.2.1(2) データベースの再編成」を参照してください。

Embedded RDBを再編成するには,データベースマネージャを使用する方法と,コマンドを使用する方法があります。それぞれについて説明します。

<この項の構成>
(1) データベースマネージャを使用したデータベースの再編成
(2) コマンドを使用したデータベースの再編成
(3) エラー発生時の対処方法

(1) データベースマネージャを使用したデータベースの再編成

注意事項
  • データベースの再編成は,[コントロールパネル]の[管理ツール]-[サービス]で,「Remote Install Server」サービスを停止してから実行してください。
  • 「Asset Information Manager Limited」を使用している場合は,「Asset Information Manager Limited」のサービスを次に示す順番で停止してください。
    1. World Wide Web Publishing ServiceまたはWorld Wide Web Publishing
    2. Asset Information Synchronous Service,「Asset Information Manager Limited」のコマンドおよびタスク
    3. JP1/NETM/Client Security Control - Manager(JP1/NETM/CSCと連携している場合)
    また,データベースマネージャの操作後に「Asset Information Manager Limited」を使用するときは,停止時と逆の順番でサービスを起動してください。
  • ODBCデータソースで接続プールが設定されている場合,「Asset Information Manager Limited」の業務を停止させてから,接続プールで設定されているタイムアウトの時間が経過するまで接続状態になります。そのため,接続状態の解除を待ってから,データベースを再編成してください。

データベースマネージャを使用してデータベースを再編成する手順を次に示します。

  1. [Welcome]ダイアログボックスで「データベースを再編成する」を選択して,[次へ]ボタンをクリックする。
    [データベースの認証情報]ダイアログボックスが表示されます。
  2. [データベースの認証情報]ダイアログボックスでパスワードを指定して,[次へ]ボタンをクリックする。
    [データベースの再編成]ダイアログボックスが表示されます。

    図7-21 [データベースの再編成]ダイアログボックス

    [図データ]

    再編成範囲
    データベースを再編成する範囲を選択できます。
    「全体」チェックボックスをオンにすると,ほかのすべてのチェックボックスが非活性になります。「全体」チェックボックスをオフにすると,すべてのチェックボックスが活性化します。
    また,「全体」以外のチェックボックスをオンにすると,「全体」チェックボックスが非活性になります。デフォルトは,「全体」チェックボックスがオンです。
    再編成される範囲に対応するテーブルの一覧を次の表に示します。

    表7-3 再編成される範囲に対応するテーブル一覧

    再編成範囲テーブル
    全体システム構成netmdm_nnm_management,netmdm_system,netmdm_lastupdate,netmdm_host_withoutdm,netmdm_system_delete,netmdm_systeminf,netmdm_suspend
    パッケージnetmdm_cabinet,netmdm_package,netmdm_package_inf
    あて先netmdm_id,netmdm_id_policy,netmdm_identry,netmdm_node,netmdm_node_policy,netmdm_node_policy_detail
    ジョブnetmdm_collect,netmdm_execution,netmdm_execution_site,netmdm_execution_summary,netmdm_jobgen,netmdm_jobgen_collect,netmdm_jobgen_id,netmdm_jobgen_node,netmdm_jobgen_pack,netmdm_jobgen_soft,netmdm_jobgen_system,netmdm_jobgen_userinv,netmdm_jobsch,netmdm_jobsch_site,netmdm_jobscript,netmdm_schedule,netmdm_stscnt,netmdm_jobgen_msg,netmdm_jobgen_monitoring,netmdm_stscnt_site,netmdm_stscnt_summary,netmdm_systemjob
    インベントリnetmdm_clientlist,netmdm_inspackage,netmdm_inventry,netmdm_mnglist,netmdm_registry,netmdm_reglist,netmdm_softwaredic,netmdm_softwaredel,netmdm_softwarelicence,netmdm_userinventry,netmdm_userinvlist,netmdm_oidlist,netmdm_discovery_setup,netmdm_discovery_community,netmdm_discovery_info,netmdm_discovery_options,netmdm_monitoring_filter,netmdm_monitoring_policy,netmdm_monitoring_program,netmdm_monitoring_permission,netmdm_monitoring_result,netmdm_monitoring_work,netmdm_vidlist,netmdm_activedirectory,netmdm_adproperty,netmdm_addictionary,netmdm_adupdate,netmdm_monitoring_webfilter,netmdm_adgroup
    稼働監視履歴netmdm_monitoring_security,netmdm_monitoring_workresult
    更新プログラムnetmdm_ospatch_patchinf,netmdm_ospatch_productref,netmdm_ospatch_classref,netmdm_ospatch_xmlinf,netmdm_ospatch_script
  3. [データベースの再編成]ダイアログボックスで再編成する範囲を設定し,[次へ]ボタンをクリックします。
    [データベース再編成の実行]ダイアログボックスが表示されます。

    図7-22 [データベース再編成の実行]ダイアログボックス

    [図データ]

  4. [実行]ボタンをクリックします。
    データベースの再編成が実行されます。

(2) コマンドを使用したデータベースの再編成

データベースを再編成する,netmdb_reorganization.batコマンドについて説明します。このコマンドは,JP1/NETM/DM Managerのインストール先ディレクトリ¥bin下に格納されています。

データベースの再編成は,[コントロールパネル]の[管理ツール]-[サービス]で,JP1/NETM/DM Managerの「Remote Install Server」サービスを停止してから実行してください。

また,「Asset Information Manager Limited」を使用している場合は,「Asset Information Manager Limited」のサービスを次に示す順番で停止してください。

  1. World Wide Web Publishing ServiceまたはWorld Wide Web Publishing
  2. Asset Information Synchronous Service,「Asset Information Manager Limited」のコマンドおよびタスク
  3. JP1/NETM/Client Security Control - Manager(JP1/NETM/CSCと連携している場合)

また,データベースマネージャの操作後に「Asset Information Manager Limited」を使用するときは,停止時と逆の順番でサービスを起動してください。

なお,ODBCデータソースで接続プールが設定されている場合,「Asset Information Manager Limited」の業務を停止させてから,接続プールで設定されているタイムアウトの時間が経過するまで接続状態になります。そのため,接続状態の解除を待ってから,データベースを再編成してください。

機能
データベースを再編成します。再編成する範囲は「全体」になります。
形式

netmdb_reorganization.bat ポート番号
                管理者ユーザID
                パスワード
                /i JP1/NETM/DM Managerのインストール先ディレクトリ
                /o 実行結果の出力先ファイル名

オプション
  • ポート番号
    データベースに接続するポート番号を指定します。
  • 管理者ユーザID
    データベースにログオンする管理者ユーザIDを指定します。
  • パスワード
    データベースにログオンするためのパスワードを指定します。
  • /i
    JP1/NETM/DM Managerのインストール先ディレクトリをフルパスで指定します。
  • /o
    このオプションを指定すると,データベースの再編成の結果を通知するファイルが出力されます。実行結果を出力するファイル名をフルパスで指定します。
リターンコード
netmdb_reorganization.batコマンド実行時のリターンコードを次の表に示します。
リターンコード内容
0正常終了
-1異常終了
注意事項
  • netmdb_reorganization.batコマンドのBATファイルの内容を変更しないでください。変更した場合,データベースを再編成できなくなります。
  • netmdb_reorganization.batコマンドを使用してデータベースを再編成する場合,コマンドを実行するユーザにAdministrator権限が必要です。
  • netmdb_reorganization.batコマンドのオプションは,形式で示した順序で設定してください。
実行例
netmdb_reorganization.batコマンドを使用して,データベースを再編成する例を説明します。
この実行例では,各ディレクトリを次のように指定しています。
  • JP1/NETM/DM Managerのインストール先ディレクトリ
    C:¥Program Files¥Hitachi¥NETMDM
  • 実行結果の出力先ファイル名
    C:¥NETMDB¥reorg.txt
また,コマンドを実行する前に,実行結果の出力先ファイルの格納先ディレクトリを作成しておいてください。
コマンドの実行例を次に示します。

netmdb_reorganization.bat ポート番号 管理者ユーザID パスワード /i "C:¥Program Files¥Hitachi¥NETMDM" /o C:¥NETMDB¥reorg.txt

(3) エラー発生時の対処方法

(a) データベースのRDエリアが閉塞

データベースの再編成を実行した場合に,次に示すメッセージが出力されエラーが発生するときは,RDエリアが閉塞しています。

KFPH00306-E RDAREA "RDエリア名称" held due to エラー要因

RDエリアの閉塞を解除する方法はマニュアル「運用ガイド2」の「6.3.2(8) Embedded RDB 環境のエラー」を参照してください。

(b) データベースの排他制御に必要な作業領域不足

データベースの再編成を実行した場合に,次に示すメッセージが出力されエラーが発生するときは,データベースの排他制御に必要な作業領域が不足しています。

KFPS00443-I Insufficient memory in lock table. server=sds01, code=10, using=number, total=number, PROGRAM=pdrorg
KFPS00447-I Insufficient exclusive control table information output to datetime.mem file
KFPA11912-E Insufficient memory for DB exclusive control
KFPL15226-E Delete request failed, table=NETMDM."NETMDM_MONITORING_SECURITY", server=sds01
KFPH00306-E RDAREA "NETMDM_NETM_MONITORING" held due to error occurred in log less utility
KFPH00306-E RDAREA "NETMDM_NETM_INDEXES" held due to error occurred in log less utility
KFPL15225-E Rollback called
KFPL00719-I Pdrorg terminated, return code=8

この場合,RDエリア「NETMDM_NETM_MONITORING」および「NETMDM_NETM_INDEXES」で排他制御に必要な作業領域が不足しています。

次の手順でデータベースの排他制御に必要な作業領域を変更してください。手順を実施する場合,コマンドを実行するユーザにAdministrator権限が必要です。

  1. コマンドプロンプトを起動する。
  2. JP1/NETM/DM Managerのインストール先ディレクトリ¥NETMDB¥BINに格納されているpdntcmd.batコマンドを実行する。
  3. コマンドで「pddbls -r RDエリア名称 -a」を実行する。
    コマンドの実行例を次に示します。

    pddbls -r NETMDM_NETM_MONITORING -a
    pddbls -r NETMDM_NETM_INDEXES -a

    RDエリアの未使用セグメント数および全セグメント数が表示されます。表示例を次に示します。

    SEGMENT 未使用セグメント数 / 全セグメント数

  4. 表示された内容からRDエリアの使用中セグメント数を算出する。
    使用中セグメント数 = 全セグメント数未使用セグメント数
    排他制御に必要な作業領域が不足しているすべてのRDエリアについて,RDエリアごとの使用中セグメント数を算出して,合計値を求めてください。
  5. 使用中セグメント数の合計値から,データベースの排他制御に必要な作業領域の値を算出する。
    排他制御のために必要な作業領域の値 =(使用中セグメント数の合計値)÷ 6
    注※ 算出結果に小数が含まれる場合は,小数点以下を切り上げてください。
  6. テキストエディタでJP1/NETM/DM Managerのインストール先ディレクトリ¥NETMDB¥CONFに格納されているsds01ファイルを開く。
    注意事項
    sds01ファイルの設定を誤るとデータベースが起動できなくなるおそれがあります。編集する前にバックアップを取得しておいてください。
  7. sds01ファイル内の排他制御に必要な作業領域の値を変更する。
    次に示すsds01ファイルのnumberを手順5.で算出した排他制御に必要な作業領域の値に変更してください。

    set pd_lck_pool_size = number

  8. コマンドで「pdconfchk」を実行する。
    コマンドの実行結果として,KFPS05007-I(return code = 0)メッセージが出力されたことを確認してください。
  9. JP1/NETM/DM Managerのインストール先ディレクトリ¥BINに格納されているnetmdb_stop.batコマンドを実行してデータベースを停止する。
  10. JP1/NETM/DM Managerのインストール先ディレクトリ¥BINに格納されているnetmdb_start.batコマンドを実行してデータベースを開始する。