6

(ここで私の無知を許してください-私はベテランのOracleユーザーではありません。)

DBMS_METADATA.GET_DDL 関数を (ALL_OBJECTS などと組み合わせて) 使用して、特定のスキーマ内のすべてのテーブルの DDL を取得しようとしています。これを (すべてのオブジェクトまたは単一の特定のオブジェクトに対して) 行うと、ORA-31603 エラーが発生します (TABLE 型の "オブジェクト "FOO" がスキーマ "SCHEMA" に見つかりません)。

これは、ログインしているユーザーが、GET_DDL に必要なメタデータを読み取るために必要な権限を持っていないことを意味すると思います。これが必要な特権は何ですか?ログイン時に、現在のユーザーがこの権限を持っている/持っていないことを確認する方法はありますか?

ありがとう!リー

4

1 に答える 1

6

このドキュメントを読んでください。ただし、基本的にはSELECT_CATALOG_ROLEが必要です。

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867

于 2008-09-22T18:23:58.403 に答える