Welcome 微信登录

首页 / 数据库 / MySQL / Oracle数据库视图与权限问题

前几天客户遇上这样一个问题,某个用户A将视图的SELECT给予另一个用户B,但是用户B查询这个视图时,仍然报错:ORA-01031: 权限不足。这是怎么一回事呢?下面来模拟一下这个过程: 有三个用户test1,test2,test3, 三个用户都具有DBA色色权限。 用TEST1用户创建一个表T1,并将其查询权限授予TEST2: <!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SQL> create table t1 as select * from all_objects;

表已创建。

SQL> grant select on t1 to test2;

授权成功。

SQL> create table t1 as select * from all_objects;

表已创建。

SQL> grant select on t1 to test2;

授权成功。 用TEST2用户创建一个视图,视图的基表是TEST1.T1,并将查询权限授予TEST3:<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> SQL> create view v_t1 as select * from test1.t1;

视图已建立。

SQL> grant select on v_t1 to test3;

授权成功。

SQL> create view v_t1 as select * from test1.t1;

视图已建立。

SQL> grant select on v_t1 to test3;

授权成功。 TEST3用户查询视图TEST2.V_T1:<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SQL> select * from test2.v_t1 where rownum<1;

select * from test2.v_t1 where rownum<1

*

ERROR 位于第 1 行:

ORA-01031: 权限不足

SQL> select * from test2.v_t1 where rownum<1;

select * from test2.v_t1 where rownum<1

*

ERROR 位于第 1 行:

ORA-01031: 权限不足 可以看到报了权限不足的错误,就算这里TEST3用户有DBA权限。 这到底是怎么回事呢?
  • 1
  • 2
  • 下一页
mysqld随Linux开机自动启动Linux系统中安装Oracle 11g的安装文档相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (0)
表情: 姓名: 字数