小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。

はじめに

Oracle DBでset autotraceコマンドを実行した場合に、以下のエラーが発生することがあります。

SQL> set autotrace traceonly
SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。
SP2-0611: STATISTICSレポートを使用可能にするときにエラーが発生しました。

デフォルトでは、PLUSTRACE ロール(権限)が作成されていないため、PLUSTRACE ロールの作成スクリプトを流し、ロールを有効にする必要があります。

新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)
小田 圭二 大塚 信男 五十嵐 建平 谷 敦雄 宮崎 博之 神田 達成 村方 仁
翔泳社
売り上げランキング: 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コマンドが使えるようになります。