JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Solaris のシステム管理 (上級編)     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  端末とモデムの管理 (概要)

2.  端末とモデムの設定 (手順)

3.  サービスアクセス機能によるシリアルポートの管理 (手順)

4.  システム資源の管理 (概要)

5.  システム情報の表示と変更 (手順)

6.  ディスク使用の管理 (手順)

7.  UFS 割り当て制限の管理 (手順)

8.  システムタスクのスケジュール設定 (手順)

9.  システムアカウンティングの設定と管理 (手順)

システムアカウンティングの新機能

Oracle Solaris プロセスアカウンティングと統計の改善点

システムアカウンティング

システムアカウンティングの動作

システムアカウンティングのコンポーネント

接続アカウンティング

プロセスアカウンティング

ディスクアカウンティング

料金計算

日次アカウンティング機能の動作

システムがシャットダウンしたときの動作

システムアカウンティング (作業マップ)

システムアカウンティングの設定

システムアカウンティングを設定する方法

ユーザーへの課金

ユーザーに課金する方法

アカウンティング情報の管理

壊れたファイルと wtmpx エラーを修復する

壊れた wtmpx ファイルの修復方法

tacct エラーを修復する

tacct エラーを修復する方法

runacct スクリプトを再起動する

runacct スクリプトを再起動する方法

システムアカウンティングの停止と無効

一時的にシステムアカウンティングを停止する方法

システムアカウンティングを永続的に無効にする方法

10.  システムアカウンティング (リファレンス)

11.  システムパフォーマンスの管理 (概要)

12.  システムプロセスの管理 (手順)

13.  システムパフォーマンスの監視 (手順)

14.  ソフトウェアの問題解決 (概要)

15.  システムメッセージの管理

16.  コアファイルの管理 (手順)

17.  システムクラッシュ情報の管理 (手順)

18.  ソフトウェアで発生するさまざまな問題の解決 (手順)

19.  ファイルアクセスでの問題の解決 (手順)

20.  UFS ファイルシステムの不整合解決 (手順)

21.  ソフトウェアパッケージで発生する問題の解決 (手順)

索引

アカウンティング情報の管理

この節では、壊れたシステムアカウンティングファイルを修復し、runacct スクリプトを再起動する方法を説明します。

壊れたファイルと wtmpx エラーを修復する

システムアカウンティングは絶対に障害が発生しないわけではありません。ファイルが壊れたり、失われることがあります。ファイルによっては、単に無視してよいものや、バックアップから復元できるものがあります。ただし、特定のファイルは、アカウンティングシステムの完全性を維持するために修復しなければなりません。

wtmpx ファイルは、システムアカウンティングを日常的に運用する上で発生する問題の大部分の原因になっています。日付を手動で変更したときに、システムがマルチユーザーモードになっていると、一連の日付変更レコードが /var/adm/wtmpx ファイルに書き込まれます。wtmpfix ユーティリティーは、日付変更が行われたときに、wtmp レコードのタイムスタンプを調整するように設計されています。ただし、日付変更とリブートの組み合わせによっては、wtmpfix の処理から漏れて、acctcon プログラムの処理が失敗することがあります。

壊れた wtmpx ファイルの修復方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. /var/adm ディレクトリに移動します。
  3. wtmpx ファイルの形式をバイナリから ASCII 形式に変換します。
    # /usr/lib/acct/fwtmp < wtmpx > wtmpx.ascii 
  4. wtmpx.ascii ファイルを編集して、壊れたレコードを削除します。
  5. wtmpx.ascii ファイルを再びバイナリファイルに変換します。
    # /usr/lib/acct/fwtmp -ic < wtmpx.ascii > wtmpx

    詳細については、fwtmp(1M) のマニュアルページを参照してください。

tacct エラーを修復する

/var/adm/acct/sum/tacct ファイルの完全性は、システム資源に対してユーザーに課金している場合は重要です。負の数値、重複ユーザー ID、または 65535 のユーザー ID とともに不正な tacct レコードが表示されることがあります。このような場合はまず、prtacct スクリプトを使用して、 /var/adm/acct/sum/tacctprev ファイルを表示してチェックします。内容が正しい場合は、最新の /var/adm/acct/sum/tacct MMDD ファイルに修正します。次に、/var/adm/acct/sum/tacct ファイルを作成し直します。次の手順は、簡単な修復手順の概要を説明しています。

tacct エラーを修復する方法

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。

  2. ディレクトリ /var/adm/acct/sum に移動します。
  3. tacctMMDD ファイルの形式をバイナリから ASCII 形式に変換します。
    # /usr/lib/acct/acctmerg -v < tacctMMDD > xtacct

    MMDD は、月と日をあらわす 2 桁の数値を組み合わせたものです。

  4. xtacct ファイルを編集して、壊れたレコードを削除し、重複レコードを別のファイルに書き込みます。
  5. xtacct ファイルを ASCII 形式からバイナリ形式に変換します。
    # /usr/lib/acct/acctmerg -i < xtacct > tacctMMDD
  6. tacctprev ファイルと tacct.MMDD ファイルをマージして tacct ファイルを生成します。
    # /usr/lib/acct/acctmerg < tacctprev tacctMMDD > tacct

runacct スクリプトを再起動する

runacct スクリプトは、さまざまな理由で失敗することがあります。

一般的な理由には、以下のようなものがあります。

active.MMDD ファイルが存在する場合は、まずエラーメッセージをチェックします。active ファイルおよび lock ファイルが存在する場合は、異常なメッセージがないかどうか fd2log ファイルを調べます。

runacct スクリプトは、引数を指定しないで実行すると、その呼び出しがその日の最初の呼び出しであると想定します。runacct スクリプトを再起動し、runacct スクリプトがアカウントを返す月と日を指定する場合は、引数 MMDD が必要になります。処理のエントリポイントは statefile ファイルの内容に基づきます。statefile ファイルを無効にするには、処理を開始したい状態をコマンド行に指定します。利用可能な状態の説明については、runacct(1M) のマニュアルページを参照してください。


注意

注意 - runacct プログラムを手動で実行するときは、ユーザー adm として実行していることを確認してください。


runacct スクリプトを再起動する方法

  1. /var/adm/acct/nite ディレクトリに移動します。
    $ cd /var/adm/acct/nite
  2. lastdate ファイルと lock* ファイル (もしあれば) を削除します。
    $ rm lastdate lock*

    lastdate ファイルには、 runacct プログラムが最後に実行された日付が含まれています。次の手順で runacct スクリプトを再起動することによって、このファイルが作成し直されます。

  3. runacct スクリプトを再起動する
    $ /usr/lib/acct/runacct MMDD [state] 2> /var/adm/acct/nite/fd2log &
    MMDD

    月日を 2 桁の数値で指定する

    state

    runacct スクリプトの処理を開始させたい状態または開始点を指定する。