如何在Oracle中创建一个只能查看源代码而不更改它们并查看表字段的用户?

时间:2018-09-05 13:59:42

标签: oracle permissions access

如何在Oracle中创建一个用户,该用户只能查看包和过程的源代码,而不能更改它们并查看表字段,而不能查看表中的数据?

我知道您可以向特定用户授予视图,但是如何在不隐藏字段的情况下拒绝对表数据的访问?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

具有查看数据字典信息的作用。因此,用户将能够查看表的定义,视图,包,系统对象等。

grant select_catalog_role to user;

或者Select Any Dictionary授予。

但是有了这个授权,用户将能够看到比他需要的更多的数据。 另一种方法是在DBA_SOURCE和DBA_TABLES视图上授予选择权。

请参阅dba.stackexchange.com here上的争议。

答案 1 :(得分:1)

我找到了解决方案。 您需要在DBA_SOURCE上创建一个视图,并在此视图上授予用户SELECT。在这种情况下,用户将能够看到包,过程和表结构的代码,但无法执行它们。