我正在尝试添加一个对所有表具有只读权限的用户。问题是,通过 SQL Developer 连接到数据库后,该用户不会显示表(空选项卡)。只有在添加架构名称后,表上的选择才有效。例如,schema_name.table_name
。
我做了什么:
CREATE USER user IDENTIFIED BY pass;
GRANT CONNECT TO user;
GRANT CONNECT, RESOURCE to user;
GRANT CREATE SESSION TO user;
GRANT SELECT ANY TABLE TO user;
我还应该做什么?
答案1
您还应该添加:
grant select any dictionary to user;
授予用户从字典中获取表格列表的权限
还可以授予此用户读取目录的权限:
grant SELECT_CATALOG_ROLE to user;