Oracle11gのすべてのデータベースユーザーのユーザー名と平均セッション時間を計算して表示するPL/SQLプログラムを作成するにはどうすればよいですか?親切に助けて
2343 次
1 に答える
4
デフォルトでは、Oracle はユーザー アクセスなどを監査しません。組み込みのオプションがありますが、デフォルトではオフになっています。
Oracle の監査証跡を有効にするには、AUDIT_TRAIL パラメータを設定する必要があります。DB
レコードをテーブルに書き込むように設定します。これは、OS ファイルよりもクエリに便利です ( grep
SQL より優れている場合を除きます)。 詳細をご覧ください。
ユーザーの接続と切断を監視するには、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 に答える