允许其他用户访问我的Oracle表

时间:2017-02-07 20:18:58

标签: oracle

我只想让同事查看和编辑我创建的数据库。

我试过了:

GRANT ALL on FISHTABLE to CDEMARES;

然后它返回Grant succeeded但是他没有任何改变,他仍然无法查看我的桌子。

我也试过

GRANT SELECT smahala.fishtable to cdemares@sole.nefsc.noaa.gov;

SQL Error: ORA_00990: missing or invalid privilege失败了。

我的问题是我没有管理权限允许其他人查看我的Oracle表吗?感谢任何建议,谢谢。

1 个答案:

答案 0 :(得分:2)

您的同事需要在您的表格前添加您的架构名称,否则Oracle不知道在哪里查找它,例如:

select * from smahala.fishtable

如果他们不这样做,只是尝试使用:

select * from fishtable
然后,Oracle将在自己的架构中查找该表,然后查找视图,私有同义词或公共同义词。如果他们的同事要经常访问这张桌子,他们的同事可以创建一个同义词(并且他们没有自己的同名表格)。它也可以改变他们会话的当前模式,但这会使他们更难看到他们自己的对象。

您可以在文档中详细了解object naminghow to refer to objects

SQL Developer允许您浏览其他模式中的对象。如果您的同事在您授予权限时已连接,则可以刷新对象列表,或断开连接并重新连接。无论哪种方式,他们都应该在你的架构下看到你的桌子。

(您的第二个授权声明缺少on,并且您无法通过数据库链接授予权限,如果这是您尝试执行的操作。)