一次delete基表回收DBA权限的危险性操作
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;
一次delete基表回收DBA权限的危险性操作的更多相关文章
- 关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1
关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1 ORACLE公司来培训BIEE,带了一个DEMO的DMP文件,其导出用户DBO具有DBA权限,缺省表 ...
- 【Oracle】查看哪些用户被授予了DBA权限
查看哪些用户被授予了DBA权限 select * from dba_role_privs where granted_role='DBA'; 回收权限: revoke dba from xxx;
- REVOKE DBA权限要小心
REVOKE DBA权限要小心 转载:http://blog.csdn.net/lwei_998/article/details/6133557 发现某些用户有DBA权限的时候,为了安全,一般我们 ...
- 创建表空间、新增用户、给用户赋予DBA权限 、删除用户下的上有数据表
正文原创 一:查询数据库实例有多少用户: [oracle@localhost ~]$ sqlplus / as sysdba; SQL*Plus: Release 11.2.0.3.0 Product ...
- plsql developer 使用sys用户登录,报ORA-01031权限不足,解决sys(dba权限用户)远程登录报错。
数据库服务器架设在机器A上,此时我在机器B上进行远程连接,使用sys账号远程登录时报ORA-01031:insufficient privileges 或 ORA-01017: invalid use ...
- MSSQL DBA权限获取WEBSHELL的过程
前言 本文主要通过一个案例来演示一下当MSSQL是DBA权限,且不知道路径的时候如何去获取WEBSHELL.当然这种方式对站库分离的无效.我测试的环境是在Win7 64位下,数据库是SQLServer ...
- 删除oracle数据库用户的dba权限(当出现同一用户DBA可以登录,normal不能登录)“无法对SYS拥有的对象创建触发器”
系统报错:“无法对SYS拥有的对象创建触发器”,搞不懂是什么原因了,到底这触发器要用什么用户才能建立啊? ORA-04089: 无法对 SYS 拥有的对象创建触发器 第一种方式: 首先,用sys用户a ...
- MYSQL权限表user操作
MYSQL权限表user cmd中进人mysql找到mysql安装目录 E:\wamp\bin\mysql\mysql5.6.12\bin>mysql.exe -u 用户名 - ...
- win10 你没有足够的权限执行此操作。
win10 你没有足够的权限执行此操作. CreateTime--2018年4月21日08:21:31 Author:Marydon 鼠标悬浮到windows图标上,右键-->选择:以命令提 ...
随机推荐
- 安装Zookeeper和kafka,安装完毕后,遇到的错误
按照原文链接 http://www.cnblogs.com/swneng/p/10212460.html 在windows下进行安装 之后运行 D:\00H_Bigdata\kafka_2.11-2. ...
- 卡内基梅隆大学软件工程研究所先后制定用于评价软件系统成熟度的模型CMM和CMMI
SEI(美国卡内基梅隆大学软件工程研究所(Software Engineering Institute, SEI))开发的CMM模型有: 用于软件的(SW-CMM;SW代表'software即软件') ...
- MongoDB(课时20 游标)
3.5 游标(重点) 所谓游标就是指数据可以一行行的进行操作,非常类似于ResultSet数据处理.在MongoDB里对游标的控制使用find()函数就可以返回游标.对于返回的游标如果想进行操作,使用 ...
- 对不队—— Alpha冲刺
第三天 日期:2018/6/18 一. 今日完成任务:会议内容管理部分 冯晓.马思远:会议网站栏目管理开发,博客撰写 王爽.彭辉:参会人员管理开发 吴琼.郝延婷:审稿专家管理开发 1.1会议管理界面 ...
- String字符串存入数据库中超出最大长度(oracle varchar2 4000)?应合理分条存储(java实现-工具/方法)
问题描述 需要向数据库中保存数据,但某个字段内容长度过长(有中文.符号.英文),应该根据字符串内容与数据库存储上限合理设置储存方式. 解决思路 分条存储,即多条数据前n个字段一致,最后内容字段不同,下 ...
- java克隆机制
看了下面博客就很明白了 http://www.cnblogs.com/Qian123/p/5710533.html#_label0 java对象创建方式有三种: 1.通过new对象 2.通过java克 ...
- 20161212xlVBA文本文件多列合并
Sub NextSeven_CodeFrame() '应用程序设置 Application.ScreenUpdating = False Application.DisplayAlerts = Fal ...
- Mishka and Divisors CodeForces - 703E
大意: 给定$n$个数, 求选择最少的数满足积为$k$的倍数, 并且和最小 刚开始想着暴力维护$k$的素因子向量, 用map转移, 结果T了. 看了下别的dala0题解, 不需要考虑素因子, 我们考虑 ...
- python-day29--socket
一 .客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 二. 三. 1.互联网协议就相当于计算机界的英语 2.数据传输的过程中包头一定要是固定的长度 四.socket层的位置 so ...
- spring--mvc添加用户及用户头像上传
spring--mvc添加用户及用户头像上传 添加用户步骤: 1.用ajax获取省份信息 2.添加用户 代码:register.jsp <meta http-equiv="Conten ...