我在Oracle数据库中具有以下授予权限。 DB_CONNECT, READ_ONLY_ROLE, USER_ROLE。
我能够连接到数据库。但无法查看任何表,视图和过程。是否因为这些授予权限?如果是这样,请让我知道访问所有表需要其他所有授予权限。
答案 0 :(得分:0)
“所有表格”
我猜你的意思是所有需要的表,而不是数据库中的所有表。
如果您具有SELECT ANY TABLE特权,那么您可以完全做到这一点。
如果您具有SELECT_CATALOG_ROLE,则可以查询字典以查看其中有哪些表,但不必查询那些实际表。
请参阅本安全性指南。 https://docs.oracle.com/database/121/DBSEG/authorization.htm#DBSEG99875
我怀疑您是否需要这些。
您需要的是在需要使用的TABLE上授予您的SELECT特权。如果要使用过程,则还需要对它们执行EXECUTE特权。
由于您使用的是SQL Developer,因此也可能you're not looking in the right place。
默认情况下,该工具在与您的登录名/用户关联的架构中向您显示表,视图和pl / sql对象。
如果以用户A身份登录,但表属于B,则必须从连接树的“其他用户”部分下钻到用户B。