2011-06-17 23 views

答えて

26

これは、あなたのディレクトリに付与されるロール、ユーザーと権限を与える必要があります。

SELECT * 
    FROM all_tab_privs 
WHERE table_name = 'your_directory'; --> needs to be upper case 

をとはい、それはALL_TAB_PRIVSビューにある;-)そのビューのためのよりよい名前がALL_OBJECT_PRIVS」のようなものになるだろう"、これにはPL/SQLオブジェクトとその実行権限も含まれているためです。

2

どのOracleユーザーがディレクトリを使用して読み書きできるか、またはOracle Directory Objectと基礎となるオペレーティング・システム・ディレクトリ間のアクセス許可の相関関係を理解できたかどうかは不明でした。

DCookieがフェンスのOracle側をカバーしているので、次の内容は、Oracleマニュアルのhereにあります。ディレクトリ に付与

権限は独立して動作 システム・ディレクトリに定義された パーミッションの作成され、2つは又は 正確に対応してもしなくてもよいです。サンプル ユーザーhrが ディレクトリ・オブジェクトに対するREAD権限が付与されているが、 対応するオペレーティングシステム ディレクトリは、Oracle Database プロセス用に定義されたREAD 権限を持っていない場合 たとえば、エラーが発生します。

7

あなたは

SELECT * 
from all_tab_privs 
where table_name in 
    (select directory_name 
    from dba_directories); 

次ウィットすべてのディレクトリのすべての権限を確認することができ、次はあなたがあなたが何をやったか、バックアップか何かする必要がある場合の権限を付与するには、SQLステートメントを与える

select 'Grant '||privilege||' on directory '||table_schema||'.'||table_name||' to '||grantee 
from all_tab_privs 
where table_name in (select directory_name from dba_directories); 
+0

'directory'キーワードがありません –

0

Oracle 11g R2(少なくとも11.2.02)には、datapump_dir_objsという名前のビューがあります。

SELECT * FROM datapump_dir_objs; 

ビューは、現在接続しているユーザのディレクトリオブジェクトのNAMEPATHならびにREADWRITE許可を示します。ただし、現在のユーザーが読み書きする権限を持たないディレクトリオブジェクトは表示されません。

関連する問題