1.0事件还原:
测试库某个对象,使用具有DBA角色用户导出,生产环境普通用户无法导入数据,因此需要回收测试库dba角色,revoke无法回收

2.0操作流程

回收角色报错

测试环境测试,delete删除基表是否回收角色

实际测试库进行操作

3.0实际操作
3,1回收角色报错信息:
revoke dba from xxx;
ORA-08103: object no longer exists;对象不存在;

--查询对象名称:
select * from dba_users where username='xxx';
发现用户名称,状态Open;

--查询用户拥有的角色:---登陆查询的用户
select * from user_role_privs;

3,2测试 delete删除记录
delete删除DBA角色;
---创建测试用户:
create user a_b identified by a_b;
grant connect to a_b;
查询用户具有的角色;
SQL> select * from user_role_privs;
USERNAME             GRANTED_ROLE         
------------------------------ -----------------------
A_B                            CONNECT

--查询用户ID;
select user#,name from user$ where name='A_B';
  99 A_B
--查询用户低层权限;
select grantee#,privilege#,option$,sequence# from sysauth$,user$ where user$.user#=
grantee# and user$.user#=99;    xx号;
        99          2  ( CONNECT    )   1519

授予第二个角色,再次查询视图记录grant resource to a_b;

        99        -15                  1520
        99          2                  1519
        99          3                  1521
授予第三个DBA角色,再次查询视图记录
grant dba to a_b;
--查询;
        99        -15                  1520
        99          2                  1519
        99          3                  1521
        99          4                  1523
--以上,查询验证了基表的相关记录

--如下,进行delete测试

删除:UID查询,DBA,经测试PRIVILEGE为:4;
delete from sysauth$ where grantee#=  UID and privilege#= xx;
commit;            ---此时发现失误可以回滚:rollback;
--从底层删除角色;
--commit后,如果被回收的用户需要exit,重新登陆才生效;
--如何查询是否验证,回收DBA角色是否生效;
使用视图:select * from user_role_privs;  查询角色
   connect / resource
使用视图:select * from user_sys_privs; 查询用户拥有的系统权限;
--需要关注的是否有:UNLIMITED TABLESPACE (无限使用表空间存储)
--如果没有,需要重新授予:
grant unlimited tablespace to xxx;

验证!!!
使用视图:select * from session_privs;  
    !!!查询的当前会话拥有的权限:如果有DBA,200多,此时回收后查询正常10多项;

-----------------------------------------------------------------题外一:如果用户没有unlimited tablespace--------------------------------------
(指定给予了限额除外:alter user abc quota 38m on users)

SQL> create table t1(id int,name varchar2(20));
SQL> insert into t1 values(1,'aa');
insert into t1 values(1,'aa')
            *
ERROR at line 1:
ORA-01950: no privileges on tablespace 'TS_A'
SQL> show user;
USER is "SCOTT"
SQL> select * from user_sys_privs;
------------------------------ ---------------------------------------- ---
SCOTT                          CREATE VIEW                              NO

SQL> select * from user_role_privs;
------------------------------ ------------------------------ --- --- ---
SCOTT                          CONNECT                        NO  YES NO
SCOTT                          RESOURCE                       NO  YES NO

SQL> conn / as sysdba
SQL> grant unlimited tablespace to scott;
SQL> conn scott/tiger
SQL> select * from user_sys_privs;
USERNAME                       PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
SCOTT                          CREATE VIEW                              NO
SCOTT                          UNLIMITED TABLESPACE                     NO

*特点一
ADM~代表是否允许联级授予:如果需要的话:
grant unlimited tablespace to scott with admin option;
*特点二、unlimited tablespace这个权限是在授予resource角色附带的;
此次情况是授予了DBA角色,然后回收,附带也把这个权限回收了;

3.3测试库进行delete操作

delete from sysauth$ where grantee#=233 and privilege#=4;

commit;

最新文章

  1. 套用JQuery EasyUI列表显示数据、分页、查询
  2. 转载《 LayoutInflater 的inflate函数用法详解》
  3. RecyclerView 介绍 01
  4. AlwaysON同步性能监控的三板斧
  5. vsftp不同帐号的目录和权限
  6. SSIS -->> Data Type
  7. 上传控件swfupload的使用笔记
  8. 一、List的扩展
  9. 30类css选择器
  10. HDU 3567 Eight II BFS预处理
  11. RX学习笔记:正则表达式
  12. Ubuntu下VIM(GVIM)环境配置
  13. php的定界符<<<eof的问题
  14. 有关mysql实现oracle分析函数功能的方法
  15. C#调用VlcControl做一个播放器
  16. 正则表达式中pw、IDCard和EM匹配
  17. learning makefile grammar
  18. swift 设置阴影和圆角
  19. python之getpass模块使用
  20. 如何往linux上面上传东西

热门文章

  1. A start job is running for Raise network interface(5min 13s )问题解决方法
  2. gulp4小demo
  3. 在centos下解决 “致命错误:curses.h:没有那个文件或目录”
  4. VS 2013 无法启动IIS Express Web 服务器
  5. python模块——re模块(简单的计算器功能实现_eval版)
  6. 请求和响应:类ActionController::Base ; 类ActionDispatch::Request
  7. ubuntu谷歌浏览器安装
  8. UVSLive 6324 求射箭覆盖的期望
  9. download fomat install rootfs script
  10. 快速切题 poj1129 Channel Allocation