Version 2

    NPMなどのOrion製品では、ポーリングにて取得したデータなど、ほぼ全てのデータをSQLDBに保存します。

    データの蓄積により、SQLのDB領域の拡大しますが、以下のような理由で、OSで見たドライブの領域の空きが少なくなるケースが考えられます。

     

    -元々十分な領域が確保されていなかった

    -保存期間を大きく延長した

    -ポーリング間隔を短くした(※特に詳細データのポーリング)

    -多数のSyslogやTrapを常時多数受信している

     

    このような場合、その逆の設定に見直した上で、「データベース保守」の実行により、"データベースの空き"を確保できます。

    DB メンテナンス中に断片化率 90% 以上のインデックスが発見されました

     

    "データベースの空き"とは、SQLがDBを構築できる領域内での空きを指しており、上の操作により、元々データのあった部分が「空白」になります。

    つまり、"上の操作を実行しても、DB内に空白は増えるが、DB自体のサイズは小さくならない" 為、OS上で見るドライブの領域の空きが減ることはありません。

    この状態において、DB内に空白があるので、DBの動作は問題ありません。

    ですが、別の理由などで「OS上で見るドライブの空き」を確保したいケースもあります。このような場合には「データベースの縮小化」の作業を行います。

     

     

     

    0. 作業前の準備

    - SQLDBのバックアップを取得し、リストアに備える(仮想環境であれば、Orionサーバ、SQLサーバ共にスナップショットの取得が望ましい)

    全般: SQLDBのバックアップ/リストア方法

    - MS SQL Management Studio を入手・導入する(※SQLDBサーバ上でなくても良い)

    - 全Orionサービスを停止する(※SQLDBサービスの停止は不要)

    Orion製品全般: Orion サービスの停止/起動

     

     

    1. SQL Management Studioを利用して、SQLDBにアクセスする(以下はMS SQL Management Studio 2017 で、saでアクセスする例)

     

    2. Orion DB を右クリック> プロパティ> サイズの確認が可能

     

    3. Orion DB を右クリック> タスク> 圧縮> ファイル 

     

    4. ファイル種類: データ、ファイルグループ: PRIMARY、圧縮アクション: ”未使用領域を解放” に指定して、[OK]

    (※"未使用領域の解放前に..." の部分では、最小値よりも大き目の数値になっていることが確認できれば、これを利用しても良い)

     

     

    5. しばらく後に表示が消えて、完了(※サイズやリソースにより、時間に差がある)

     

     

    6. 再度、Orion DB を右クリック> タスク> 圧縮> データベース 

     

     

    7. データベース名などの情報を確認して、[OK]

     

    8. しばらく後に表示が消えて、完了(※サイズやリソースにより、時間に差がある)

     

    9. Orionサービスを再開し、CPUが落ち着いたら、Webコンソールにアクセスなど、通常運用に戻る

     

     

     

    ※上の情報は、以下公開情報(英語)を参考

    Shrink the size of the Orion Database - SolarWinds Worldwide, LLC. Help and Support