はじめに
Oracle DBでset autotraceコマンドを実行した場合に、以下のエラーが発生することがあります。
SQL> set autotrace traceonly
SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。
SP2-0611: STATISTICSレポートを使用可能にするときにエラーが発生しました。
デフォルトでは、PLUSTRACE ロール(権限)が作成されていないため、PLUSTRACE ロールの作成スクリプトを流し、ロールを有効にする必要があります。
翔泳社
売り上げランキング: 95,225
PLUSTRACE ロールの作成スクリプト
1.管理者で接続します。
connect / as sysdba
2.以下のコマンドでplustrce.sqlを実行します。
@?/sqlplus/admin/plustrce.sql
plustrce.sqlを実行すると、以下のようなログが出力されます。
SQL> drop role plustrace;
ロールが削除されました。
SQL> create role plustrace;
ロールが作成されました。
SQL>
SQL> grant select on v_$sesstat to plustrace;
権限付与が成功しました。
SQL> grant select on v_$statname to plustrace;
権限付与が成功しました。
SQL> grant select on v_$mystat to plustrace;
権限付与が成功しました。
SQL> grant plustrace to dba with admin option;
権限付与が成功しました。
SQL>
SQL> set echo off
3.通常使用するユーザにPLUSTRACEの権限を付与します。以下の例では、HOGEユーザにPLUSTRACEの権限を付与しています。
GRANT PLUSTRACE TO HOGE;
この手順を踏むと、set autotraceコマンドが使えるようになります。