
こんにちわ。
いまOracle10gを触っている者です。
autotrace機能を使おうと思い,ネットで調べて
plustrce.sqlを実行し、PLUSTRACEロールを作成しようとしました。
ところがplustrce.sqlのなかにある,
「v_$sesstat」,「v_$statname」,「v_$mystat」がない,
ということでそれぞれの実行箇所で
「ORA-00942: 表またはビューが存在しません。」というエラーが
出てしまいます。
したがって正常にロールが生成されていないようで,
このままあるユーザに権限を付与して,
"set autotrace on"としても,
「SP2-0618: セッション識別子が見つかりません。PLUSTRACEロールが有効かを確認してください。
SP2-0611: STATISTICSレポートを使用可能にするときにエラーが発生しました。」というエラーが出てしまいます。
おそらくはじめのエラーが障っていると思います。
どうすればエラーが取れるでしょうか?
教えてください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
plustrce.sqlを実行したユーザは何ですか?
plustrce.sqlはsysで実行して使用するユーザに付与するようにします。
AUTOTRACEを使う手順は以下の方法で実行します。
(1),(2)はsysユーザで実行、(3)はPLUSTRACEを使用するユーザで実行
(1) SQL> @?/sqlplus/admin/plustrce.sql
(2) SQL> grant plustrace to hoge;
※hogeはユーザ名
(3) SQL> @?/rdbms/admin/utlxplan.sql
この回答への補足
ossan_hiroさん
回答ありがとうございます。
plustrce.sqlを実行したユーザは"SYS"です。
(1)を実行しようとしたときに,
「v_$sesstat」,「v_$statname」,「v_$mystat」がない,
といったエラーが出ます。
何か事前準備が要るのでしょうか?
No.4
- 回答日時:
x$やv_$はsystem表領域が作成されるときに自動的に作成されるためないことはありえません。
権限がただ単にないだけと推定されますがいかがでしょうか?
v_$はsysユーザしかセキュリティの観点からアクセスできません。
No.3
- 回答日時:
(1)そのDBはどうやって(インストール時 or DBCA or スクリプト)作成しましたか?
(2)Oracleのパッチを当てましたか?
(3)sysユーザで以下のSQLを実行して、本当に無いのか確認してみてください。
col object_name format a30
col status format a12
select object_name,STATUS from dba_objects
where lower(object_name) like '%sesstat%';
ステータスがinvalidである場合。sysユーザで以下のコマンドで
コンパイルしなおしてください。
SQL> @?/rdbms/admin/utlrp.sql
無い場合は・・・CATALOG.SQLを実行してないとか?
再度DBを作成しなおすか、サポートセンターに問い合わせした方が
よいと思います。
>「v_$sesstat」はありませんが,「v$sesstat」はあります。
「v$sesstat」ではgrantすることはできません。
No.2
- 回答日時:
こんにちは。
こちらの10g環境では、何の事前準備をしなくても実行できましたよ。
本当にsysユーザーで実行して、エラーが出ているようなら、
サポートに連絡する必要があるかもしれません。
#実行ログ
% sqlplus /nolog
SQL> connect /as sysdba
Connected.
SQL> @?/sqlplus/admin/plustrce.sql
SQL>
SQL> drop role plustrace;
drop role plustrace
*
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist
SQL> create role plustrace;
Role created.
SQL>
SQL> grant select on v_$sesstat to plustrace;
Grant succeeded.
SQL> grant select on v_$statname to plustrace;
Grant succeeded.
SQL> grant select on v_$mystat to plustrace;
Grant succeeded.
SQL> grant plustrace to dba with admin option;
Grant succeeded.
SQL>
SQL> set echo off
この回答への補足
gou2199さん
回答ありがとうございます。
そうですか…
ちなみにこちらのデータベースには
「v_$sesstat」はありませんが,「v$sesstat」はあります。
でもplustrce.sqlには
grant select on v_$sesstat to plustrace;
となっているんです。
「v_$sesstat」がない,というのはそもそもインストール時に
不備があったなどが原因で異常なんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- バックアップ linuxのバックアップ 2 2022/04/27 13:38
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- iOS HDD交換修理したWindows10・PCのOFFICE プロダクトキーがエラーとなる 2 2023/04/01 02:17
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
CASE文のエラーについて
-
HAVING句でのBETWEEN演算子
-
ORA-01843: 指定した月が無効で...
-
PL/SQL PLS-00103エラーについて
-
PCC-S-02201エラーの対処を教え...
-
はじめまして!
-
シェルスクリプトでオラクルの...
-
ORA-06502のエラー
-
表名を動的SQLで
-
無効なSQL文の具体例を教えてく...
-
dmpファイルのインポート時にで...
-
インポートの実行結果で警告が...
-
accessでバイトできませんかね?
-
PL/SQLでPLS-00201のエラー
-
データベースのカラムの型がCHA...
-
ORA-12571パケット書き込みエラ...
-
TO_DATE関数について
-
PHPからODBCによるOracle10gへ...
-
SQLLOADER
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01013のエラーについて経験...
-
PL/SQL PLS-00103エラーについて
-
CASE文のエラーについて
-
ORA-01843: 指定した月が無効で...
-
はじめまして!
-
PCC-S-02201エラーの対処を教え...
-
「ORA-00907: 右カッコがありま...
-
ORA-06502のエラー
-
シェルスクリプトでオラクルの...
-
PL/SQLによるCREATE TABLE後のI...
-
PL/SQLのコンパイルエラーにつ...
-
ACCESSでパススルークエリにパ...
-
データベースのカラムの型がCHA...
-
ビューが作成できない
-
HAVING句でのBETWEEN演算子
-
ORA-12571パケット書き込みエラ...
-
無効なSQL文の具体例を教えてく...
-
pro*c で pl/sql に変数を渡す...
-
PL/SQLでPLS-00201のエラー
-
エラーコードについて
おすすめ情報