1

Oracle11gのすべてのデータベースユーザーのユーザー名と平均セッション時間を計算して表示するPL/SQLプログラムを作成するにはどうすればよいですか?親切に助けて

4

1 に答える 1

4

デフォルトでは、Oracle はユーザー アクセスなどを監査しません。組み込みのオプションがありますが、デフォルトではオフになっています。

Oracle の監査証跡を有効にするには、AUDIT_TRAIL パラメータを設定する必要があります。DBレコードをテーブルに書き込むように設定します。これは、OS ファイルよりもクエリに便利です ( grepSQL より優れている場合を除きます)。 詳細をご覧ください

ユーザーの接続と切断を監視するには、DBA に次のステートメントを発行するよう依頼します。

AUDIT SESSION;

次に、クエリをDBA_AUDIT_SESSIONビューから書き出すことができます。何かのようなもの:

select USERNAME
       , avg(LOGOFF_TIME - TIMESTAMP)
from DBA_AUDIT_SESSION
group by USERNAME;

これは、Old Skool という名前のユーザー アカウントを持つアプリケーションを使用している場合に、意味のある情報を提供することに注意してください。接続プールを使用する Web アプリケーションはすべて同じユーザーとして監査されるため、特注のログ ツールを作成する必要があります。

于 2011-10-09T08:26:56.467 に答える