Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Create実行のSQL-DeveloperとSQL*Plusの違いについて

user9260455Apr 23 2013 — edited Apr 24 2013
Oracle11g EE 環境です。

実はマテビューのリフレッシュで「ORA-00942」が発生したことに起因するご質問です。

Create文のDDLをメモ帳などで用意していた際に、途中に空白改行が存在していたのですが、
開発機のSQL-Developerでは問題なくCreate出来ていました。

検証機で全く同じDDLをSQL*Plusで実行したところ、途中の空白行がダメとエラーになったため
空白改行を全部削除して再実行することで問題なくCreate出来ました。

これはマテビューを生成するDDLなのですが、オブジェクトも存在するし、Selectしてもデータは
抽出されます。

ところが、ある運用管理ツールからマテビューリフレッシュの処理を起動すると「ORA-00942」
(オブジェクトがないか権限が無い)のエラーが発生しました。
前記のとおり存在しているのに、です。

何度Createしなおしても無事に生成されるものの、マテビューリフレッシュのエラーですし、
DDL内の「AS Select」以下のSQLを実行してもデータは抽出されます。
ちなみにリフレッシュは管理ツール内で「dbms_mview.refresh(viewName, refreshOption)」を
使用しています。

試しに検証機でもSQL-DeveloperでDDLを流したところ、当然生成しなおされて、なんと!
マテビューリフレッシュも正常終了となった次第です。

この現象の原因が分からないのですが・・・
SQL*Plusで初回に空白行でエラーとなったときに、へんなゴミでもできたのでしょうか?
SQL-Developer側で特別な何かが行なわれているのでしょうか?

説明もむずかしく、再現もしにくい内容で申し訳ありませんが、同じような経験のある方や
原因が分かる方がおられましたら、ご連絡いただきたいと思っています。
宜しくお願い致します。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on May 22 2013
Added on Apr 23 2013
4 comments
4,602 views