富士通

 

  1. ホーム >
  2. コンピュータプラットフォーム >
  3. サーバ >
  4. PRIMERGY >
  5. ダウンロード >
  6. ServerView Console / Operations Manager for Windows用データベースログ肥大化について

2009年9月15日
富士通株式会社

ServerView Console / Operations Manager for Windows用データベースログ肥大化について

この度、PCサーバPRIMERGYにおきまして、標準添付のハードウェア監視・管理ツール(ServerView Console / Operations Manager)の利用方法でシステム運用に影響があることが判明いたしました。以下の対応をさせて頂きますのでご理解を頂きますようお願いいたします。

なお、PRIMERGY ダウンロード検索に詳細情報を掲載しています。

現象

ServerViewdb_log.LDF データベースログファイルが肥大し、そのままお使いいただいた場合には、スローダウン/システムダウンを引き起こす場合があります。

対象機種

PRIMERGY ハードウェア監視・管理ツール(ServerView Console / Operations Manager for Windows)を利用の全機種

対象 SeverView Console バージョン
ServerView Console for Windows V4.52.08 / V4.52.09 / V4.61.04 / V4.61.05 / V4.61.06 / V4.71.11
ただし、V4.71.11.02は、対策済で対象外となります。

発生条件

下記の発生環境で次の条件で発生します。

  1. SQLAgent$SQLSERVERVIEW サービスが停止している。
  2. SQLAgent$SQLSERVERVIEW サービスが正常に動作せず、定期メンテナンスジョブが動作していない。
  3. 定期メンテナンスジョブがサーバの停止時間にスケジュールされている。

【発生環境】

  1. ServerView Console のバージョン4.52.08 から 4.61.06、かつ、データベースにSQL Server 2005 Express Edition以外を使用している。
  2. ServerView Console のバージョン4.71.11 添付のWebサーバ(ServerView Web-Server)以外を使用しており、かつ、データベースにSQL Server 2005 Express Edition以外を使用している。

原因

SQLAgent$SQLSERVERVIEWサービスが停止、または、異常動作などの理由で定期メンテナンスジョブが実行されていない場合、ログデータが定期的に格納されログファイル:ServerViewdb_log.LDFが肥大します。

対策:発生を未然に防止する方法

事象発生有無の確認方法

イベントログ(アプリケーション)
ソース : SQLAgent$SQLSERVERVIEW
分類 : Job Engine
種類 : 情報
イベントID : 208
説明 : SQL Server Scheduled Job '<メンテナンスジョブ名>' (<16進数>)
- Status: 成功
- Invoked on: <実行開始時間>
- Message: ジョブは成功しました。

  • 「成功しました」のメッセージが出力した場合
    対処の必要はありません。SQLAgent$SQLSERVERVIEW サービスを「開始」の状態で運用してください。
  • 「成功しました」のメッセージが出力されない場合
    「対処:問題発生後の復旧方法」を実施し肥大したファイルを縮小後、以下の<状況>に応じて対処してください。

状況

  1. ログメンテナンスジョブのスケジュール開始時刻が、サーバの稼働時間である場合は、<対処>を実施します。
  2. ログメンテナンスジョブのうち、以下の2つの開始時刻が、サーバの停止時間の場合、<対処>を実施し、移行後、メンテナンスジョブの実行時間を調整します。
    • JobServerViewDaily : 毎日19時に実行
    • JobServerViewLongInterval : 毎週 月曜 9時に実行

対処

  1. メンテナンスジョブの実行を Task Schedulerに移行
  2. Task Schedulerでメンテナンスジョブを実行するように変更されたServerView Console 4.71.11.02 以降にバージョンアップする。

対処:問題発生後の復旧方法

本方法で肥大したファイルを縮小してください。
その後、SQLAgent$SQLSERVERVIEW サービスを開始してください。縮小を実施しないまま、SQLAgent$SQLSERVERVIEW サービスを開始させるとメンテナンスを実施する作業領域を確保しようとしますので、ディスク枯渇がさらに進行し、システム停止に陥る場合があります。

肥大したファイルを縮小する方法

【事前作業】

ダウンロード検索からのダウンロードファイルを解凍すると、以下のスクリプトファイルが作成されます。

ファイル名 説明
dbcc_shrink.bat 下記のSQLスクリプトを実行するためのバッチファイルです。
dbcc_shrink.sql トランザクションログファイルのサイズを切り詰めます。

【肥大したファイルの縮小作業】

サーバに管理者権限でログオンして、「事前作業」で解凍したバッチファイルを実行し、肥大したファイルを縮小します。

  1. dbcc_shrink.batをダブルクリックします。
  2. 『トランザクションログの圧縮を実行しますか?[Y/N] :』と表示されるので Y を入力し、Enterキーを押下します。
  3. 以下のように圧縮実行前後の ServerViewDB_log.LDF のファイルサイズが表示されるため、サイズが小さくなったことを確認してください。

    圧縮実行前のファイルサイズ
    YYYY/MM/DD hh:mm xxx,xxx,xxx ServerViewDB_log.LDF
    トランザクションログの圧縮を実行中...
    圧縮実行後のファイルサイズ
    YYYY/MM/DD hh:mm xxx,xxx,xxx ServerViewDB_log.LDF

  4. 処理が完了した旨のメッセージが表示されますので、Enterキーを押下してバッチを終了して下さい。

    補足:実行時に %TEMP% 配下に当バッチのログファイル(dbcc_shrink_res.txt)が作成されます。バッチが失敗した場合など、ログを参照する必要がある場合は自動的に表示されます。また、このログは削除してもかまいません。

【注意事項】

以下の場合は本バッチを使ってログの圧縮ができません。
ServerView ConsoleおよびSQL Serverを再インストールする必要があります。

  • トランザクションログファイルを削除してしまった。
  • ServerView Consoleをアンインストールしてしまった。
  • ServerView ConsoleまたはSQL Serverの一部のファイルが存在しない、または不正。

以下のように表示された場合は、SQL Serverのサービスが停止している可能性がありますので、サービスの状態を確認して下さい。

dbcc_shrink_res.txt

[DBMSLPCN]SQL Server が存在しないか、アクセスが拒否されました。
[DBMSLPCN]ConnectionOpen (Connect()).

その他

  • トランザクションログファイルの肥大化が発生した場合に限り、この対処を実行してください。
  • ServerView Consoleに添付されているデータ管理用 MSDE/SQLServerはシステムドライブにインストールされます。

以上