我尝试创建一个只能从表中选择的新Oracle用户(ReadOnly)
所以我在SYS模式上执行了下面的代码行:(像7502438)
1-创建用户
CREATE USER my_user IDENTIFIED BY my_password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;2-授予创建会话
GRANT CREATE SESSION to my_user;3-创建角色
CREATE ROLE my_role;4-将select from awner授予新角色
BEGIN
FOR x IN (SELECT * FROM dba_tables WHERE owner='OWNER')
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON OWNER.' || x.table_name ||
' TO my_role';
END LOOP;
END;5-将角色授予用户
GRANT my_role TO my_user;所以在第四部分,我得到了这个错误
ORA-00942: table or view does not exist
ORA-06512: at line 4
00942. 00000 - "table or view does not exist"
*Cause:
*Action:有什么好主意吗?
发布于 2016-07-18 18:35:36
可能在DBA_TABLES查询的结果中列出了已删除的表。
https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2105.htm#REFRN20286
https://stackoverflow.com/questions/38433808
复制相似问题