暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

grant revoke dba生效时间

原创 章芋文 2014-03-04
735
前段时间,做了个实现,发现grant revoke dba权限给一个用户,对已连接的会话不生效,只有之后连接进数据库的session才生效。而grant select on owner.table_name to username,对已连接的会话是即使生效的,具体测试过程如下:
[code]-----session1
SQL> create user dba_test identified by oracle;

User created.

Elapsed: 00:00:00.11
SQL> alter user dba_test account unlock;

User altered.

Elapsed: 00:00:00.05
SQL> grant connect to dba_test;

Grant succeeded.

Elapsed: 00:00:00.07

------session2
SQL> conn dba_test/oracle
Connected.
SQL> select count(*) from dba_tables;
select count(*) from dba_tables
*
ERROR at line 1:
ORA-00942: table or view does not exist


Elapsed: 00:00:00.02

-----------session1
SQL> grant dba to dba_test;

Grant succeeded.

Elapsed: 00:00:00.04

-----------session2
SQL> select count(*) from dba_tables;
select count(*) from dba_tables
*
ERROR at line 1:
ORA-00942: table or view does not exist


Elapsed: 00:00:00.01

-----------session1
SQL> grant select on dba_tables to dba_test;

Grant succeeded.
-----------session2
SQL> select count(*) from dba_tables;

COUNT(*)
----------
3245

Elapsed: 00:00:00.23
--------session2

SQL> conn dba_test/oracle
Connected.
SQL> show user;
USER is "DBA_TEST"
SQL> select count(*) from dba_views;

COUNT(*)
----------
5302
---------session1
SQL> revoke dba from dba_test;

Revoke succeeded.
--------session2
SQL> select count(*) from dba_views;

COUNT(*)
----------
5302

Elapsed: 00:00:00.03
SQL> conn / as sysdba
Connected.
SQL> conn dba_test/oracle
Connected.
SQL> select count(*) from dba_views;
select count(*) from dba_views
*
ERROR at line 1:
ORA-00942: table or view does not exist[/code]
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论