首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-00942中的授权选择

ORA-00942中的授权选择
EN

Stack Overflow用户
提问于 2016-07-18 18:00:00
回答 1查看 849关注 0票数 0

我尝试创建一个只能从表中选择的新Oracle用户(ReadOnly)

所以我在SYS模式上执行了下面的代码行:(像7502438)

1-创建用户

代码语言:javascript
复制
CREATE USER my_user IDENTIFIED BY my_password DEFAULT TABLESPACE users  TEMPORARY TABLESPACE temp;

2-授予创建会话

代码语言:javascript
复制
GRANT CREATE SESSION to my_user;

3-创建角色

代码语言:javascript
复制
CREATE ROLE my_role;

4-将select from awner授予新角色

代码语言:javascript
复制
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-将角色授予用户

代码语言:javascript
复制
GRANT my_role TO my_user;

所以在第四部分,我得到了这个错误

代码语言:javascript
复制
ORA-00942: table or view does not exist
ORA-06512: at line 4
00942. 00000 -  "table or view does not exist"
*Cause:    
*Action:

有什么好主意吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-18 18:35:36

可能在DBA_TABLES查询的结果中列出了已删除的表。

https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2105.htm#REFRN20286

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38433808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档