2017-02-07 5 views
0

私が作成したデータベースを同僚が表示して編集できるようにするだけです。別のユーザーが自分のOracleテーブルにアクセスできるようにします

私が試してみた:

GRANT ALL on FISHTABLE to CDEMARES; 
をし、それが Grant succeededを返されたが、何も彼のために変化していないと、彼はまだ私のテーブルを表示することができませんでした。

私も

GRANT SELECT smahala.fishtable to [email protected]; 

を試してみましたが、それはSQL Error: ORA_00990: missing or invalid privilegeで失敗しました。

私の問題は、他の誰かが私のOracleテーブルを表示できるようにする管理権限がないことですか?どんなアドバイスもありがとうございます。

+0

あなた自身が権限を付与されている可能性がありますOracleの権限は、権限を他のユーザーに付与する権限を付与しても付与しなくても付与することができます。アクセスを許可できない場合は、管理者にアクセスさせる必要があるかもしれません。 – Falle1234

+2

あなたの同僚はTabkeをどのようにして問い合わせますか? - 「select * from fishtable」、または「select * from smahala.fishtable」ですか?彼らはシノニムを作成したりセッションの現在のスキーマを変更したりしたので、テーブルを参照する際にスキーマを含める必要があります。 –

+1

@ Falle1234 - その理由があった場合、OPは同僚に権限を付与しようとするとエラーになりますが、「承諾に成功」しません。 – mathguy

答えて

2

あなたの同僚は、そうでない場合は、Oracleがどこを検索する場所を知っていない、自分のスキーマ名を使用して、テーブルの前に付ける必要がある例:

select * from smahala.fishtable 

彼らはそれを行う、と単純に使用しようとしていない場合:

select * from fishtable 

次に、Oracleは独自のスキーマで表を検索し、ビュー、プライベート・シノニム、またはパブリック・シノニムを探します。同僚がこのテーブルにたくさんアクセスしている場合(同名のテーブルがない場合)、同義語を作成することができます。セッションの現在のスキーマを変更することも可能ですが、それによって自分のオブジェクトを見るのが難しくなります。

詳細についてはobject naminghow to refer to objectsを参照してください。

SQL Developerでは、他のスキーマのオブジェクトを参照できます。パーミッションを付与したときに同僚が接続していた場合は、オブジェクトリストをリフレッシュするか、切断して再接続することができます。いずれにせよ、彼らはあなたのスキーマの下であなたのテーブルを見るために大胆になるはずです。

(あなたの第二grant文​​はonが欠落している、そしてそれはあなたがしようとしているものだ場合は、データベース・リンク全体に権限を付与することはできません。)

関連する問題