■SI Object Browser 掲示板
|
ユーザの皆様、開発者、サポート担当者の交流のための掲示板です! ユーザーの皆様同士で教え合ったりもできる交流の場にしたいと思っていますので、相互協力をよろしくお願いします。 なお、過去に同じようなQ&Aがあるケースも多いので、投稿前にキーワード検索してみてください。 |
|
| ※各投稿のカラーは対象となる製品に対応しています。【■…OB ■…OBER ■…全般 ■…その他】 ※ライセンスに関するお問合せにつきましては、お問い合わせページよりご連絡いただきますようお願いいたします。 ※誹謗中傷や公序良俗に反する書き込みはご遠慮ください。運営側の判断によりメッセージを削除する場合があります。 ※環境依存や技術的調査が必要な問題については掲示板上ではお答えしかねます。ご了承ください。 | |
実行計画取得時にORA-00942
2012/03/02 10:24
OB
3
cnc_kawa
実行計画取得の際に「ORA-00942: 表またはビューが存在しません。」が発生し、
結果を参照できません。
SI Object Browser for Oracle 11.1.0.0
接続先DB:Oracle 11.2.0 (Red Hat Enterprise Linux Server release 6.2 (Santiago))
実行ユーザーにて「select * from plan_table」は0行の結果が表示されます。
ツール-オプション-詳細設定-実行計画用テーブル名は「PLAN_TABLE」としています。
PUBLIC SYNONYM plan_table の参照先 SYS.PLAN_TABLE$ では、
PUBLIC に全権限が付与されています。
(grant all on plan_table$ to public を実行済み)
原因、対処策が不明です。ご教示下さい。
結果を参照できません。
SI Object Browser for Oracle 11.1.0.0
接続先DB:Oracle 11.2.0 (Red Hat Enterprise Linux Server release 6.2 (Santiago))
実行ユーザーにて「select * from plan_table」は0行の結果が表示されます。
ツール-オプション-詳細設定-実行計画用テーブル名は「PLAN_TABLE」としています。
PUBLIC SYNONYM plan_table の参照先 SYS.PLAN_TABLE$ では、
PUBLIC に全権限が付与されています。
(grant all on plan_table$ to public を実行済み)
原因、対処策が不明です。ご教示下さい。
返信を投稿
OB
OBサポート
こんにちは。
OBサポートです。
実行計画の取得時にORA-00942エラーが発生するとのことですが、
実行計画取得対象となるSQLのFROM句に存在しないオブジェクト名が記載されている場合や
オブジェクト名が小文字で定義されており、二重引用符で囲まれていないケースで
発生いたします。
恐れ入りますが、お間違いがないか一度ご確認いただけますでしょうか。
何卒、よろしくお願いいたします。
OBサポートです。
実行計画の取得時にORA-00942エラーが発生するとのことですが、
実行計画取得対象となるSQLのFROM句に存在しないオブジェクト名が記載されている場合や
オブジェクト名が小文字で定義されており、二重引用符で囲まれていないケースで
発生いたします。
恐れ入りますが、お間違いがないか一度ご確認いただけますでしょうか。
何卒、よろしくお願いいたします。
返信を投稿
OB
cnc_kawa
先程、下記を記入しましたが誤認でした。
Oracle 10.2 の別のDBでは問題なく実行計画が取得できますが、
Oracle 11.2 では、状況は変わっていません。
(1)SQLの実行→問題なし。
(2)select * from plan_table→問題なし。レコードの追加・削除・更新も可能。
(3)(1)のSQLの実行計画取得→ORA-00942: 表またはビューが存在しません。
上記のような状況です。何が問題なのでしょうか。
-------------------------------------------------
ご回答ありがとうございました。
再実行したところ、エラーになりませんでした。
先程エラーになったときは、SQLの結果は表示されるのに
実行計画の取得ではエラーになっていました。
ご指摘頂いたようなFROM句の誤りは考え辛いのですが…。
実際、他のSQLで問題が生じないことを確認した後、
エラーになったSQLでも試したところ、正常に結果が取得できました。
SYS.PLAN_TABLE$, PUBLIC SYNONYM PLAN_TABLE の存在を確認し、
しばらく時間が経過しただけで問題が発生しなくなるという、
不思議な結果になりました。
問題は解消しましたので対策は不要ですが、
今後のためにも原因については考察して頂ければと思います。
Oracle 10.2 の別のDBでは問題なく実行計画が取得できますが、
Oracle 11.2 では、状況は変わっていません。
(1)SQLの実行→問題なし。
(2)select * from plan_table→問題なし。レコードの追加・削除・更新も可能。
(3)(1)のSQLの実行計画取得→ORA-00942: 表またはビューが存在しません。
上記のような状況です。何が問題なのでしょうか。
-------------------------------------------------
ご回答ありがとうございました。
再実行したところ、エラーになりませんでした。
先程エラーになったときは、SQLの結果は表示されるのに
実行計画の取得ではエラーになっていました。
ご指摘頂いたようなFROM句の誤りは考え辛いのですが…。
実際、他のSQLで問題が生じないことを確認した後、
エラーになったSQLでも試したところ、正常に結果が取得できました。
SYS.PLAN_TABLE$, PUBLIC SYNONYM PLAN_TABLE の存在を確認し、
しばらく時間が経過しただけで問題が発生しなくなるという、
不思議な結果になりました。
問題は解消しましたので対策は不要ですが、
今後のためにも原因については考察して頂ければと思います。
返信を投稿
OB
OBサポート
こんにちは。
OBサポートです。
ORA-00942エラーが解決しないとのことですが、Oracle 10gでは問題がなく
Oracle 11gで発生するとのことよりユーザーの権限に問題があるものと推測されます。
実行計画の取得におきましてはPLAN_TABLEだけでなく、動的パフォーマンスビュー等への
アクセスも発生いたしますので、権限の不足によるエラーである可能性がございます。
SELECT_CATALOG_ROLE ロール あるいは SELECT ANY DICTIONARY システム権限が
ユーザーに付与されているかご確認いただけますでしょうか。
何卒、よろしくお願いいたします。
OBサポートです。
ORA-00942エラーが解決しないとのことですが、Oracle 10gでは問題がなく
Oracle 11gで発生するとのことよりユーザーの権限に問題があるものと推測されます。
実行計画の取得におきましてはPLAN_TABLEだけでなく、動的パフォーマンスビュー等への
アクセスも発生いたしますので、権限の不足によるエラーである可能性がございます。
SELECT_CATALOG_ROLE ロール あるいは SELECT ANY DICTIONARY システム権限が
ユーザーに付与されているかご確認いただけますでしょうか。
何卒、よろしくお願いいたします。
返信を投稿
OB