Oracle取消DBA权限后,报错无表空间操作权限:ORA-01950:no privileges on tablespace ‘xxx‘

这篇具有很好参考价值的文章主要介绍了Oracle取消DBA权限后,报错无表空间操作权限:ORA-01950:no privileges on tablespace ‘xxx‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:
用户A有被赋予DBA权限,因产生告警,需把DBA取消掉。
20230620取消用户A的dba权限;
20230627系统开始运行异常;
20230701经排查发现因无表空间操作权限导致存储过程执行insert语句失败;
20230701赋予表空间操作权限后系统恢复。

原因分析:
一、原因:oracle在回收某用户DBA角色权限或RESOURCE角色权限时,会同时收回该用户的UNLIMITED TABLESPACE系统权限。
#查询用户角色权限

select * from dba_role_privs where GRANTEE='用户A' ;

#查询用户系统权限(回收dba/resource后可发现UNLIMITED TABLESPACE也没有了)

select * from dba_sys_privs where GRANTEE='用户A';

1、对于一个新建的用户,如果没有分配给unlimitedtablespace系统权限的用户,必须先给他们指定配额,之后他们才能在表空间中创建对象。
2、系统权限unlimited tablespace是隐合在dba, resource角色中的一个系统权限,当用户得到dba或resource的角色时,unlimited tablespace系统权限也隐式受权给用户。
3、当一个用户同时具有resource和dba角色时,当回收了dba角色后(revoke dba fromusername),该用户之前具有的unlimited tablespace系统权限同时回收了,即使该用户还具有有resource角色也同样会回收。这将导致该用户没有任何表空间的配额,不能再表空间做任何操作,而且实际验证在这种情况下,数据库不会有任何的告警日志,因此很难排查,只能从应用端去排查相应的报错。因此在回收dba角色后,一定要检查是否具有相应的unlimitedtablespace权限,或者重新针对相应的表空间修改配额,推荐针对相应的表空间修改配额(参照解决方法三),而不是授予unlimitedtablespace系统权限。

二、结果:导致用户无UNLIMITED TABLESPACE权限造成最终造成业务中断

三、解决:回收DBA角色时,需要重新将必要的权限授权给对应用户
#重新赋予DBA
grant dba to 用户A;

#重新赋予resource
grant resource to 用户A;

#为用户分配表空间配额
ALTER USER 用户A QUOTA UNLIMITED ON "表空间名称";

四、用户取消DBA推荐操作
revoke dba to 用户A;
grant resource to 用户A;文章来源地址https://www.toymoban.com/news/detail-532390.html

到了这里,关于Oracle取消DBA权限后,报错无表空间操作权限:ORA-01950:no privileges on tablespace ‘xxx‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle EBS R12 DBA(二)

    Overview of Oracle E-Business Suite An integrated suite of applications for e-business Applications Technology Financials HRMS   CRM Supply Chain Manufacturing Projects                      Public Sector Stored in an Oracle Database and a File System Business Data   Product Files Oracle E-Business Suite Home Page HTML Interface Forms I

    2024年02月06日
    浏览(44)
  • 【报错-大数据技术-Hbase & Ranger】hbase创建、删除(表、命名空间)无权限问题,但是向表put、get、scan数据报错

    1、问题描述 使用hbase shell执行创建命名空间、创建表、插入数据、获取数据、查看数据、删除命名空间、删除表等命令操作,发现可以创建命名空间、创建表、删除命名空间、删除表,但是插入数据、获取数据、查看数据等操作却报没有权限的问题,但是我已在Ranger上赋予用

    2024年03月15日
    浏览(81)
  • Oracle OCP DBA的考试大纲以及学习路径

    Oracle OCP DBA(Oracle Certified Professional, Database Administrator)考试是针对Oracle数据库管理人员的认证考试,旨在验证考生对Oracle数据库的基本原理和管理操作的掌握程度。以下是该考试的大纲和学习路径: 1.数据库基础知识(10%) - 关系型数据库概述 - 数据库术语及基本关系型原则

    2023年04月21日
    浏览(27)
  • 【报错】git操作部分仓库无权限,部分仓库有权限

    问题出现原因 我使用A电脑修改了部分文件,操作正常,更换B电脑进行 git pull 失败,并且 git clone 也失败,这里AB电脑使用了同gitlab账号 报错时报文 解决方案 删除window上关于git的凭证,重新操作 删除凭证后, git pull 需要重新登录,重新登录后就可以了 删除window的凭证的方

    2024年01月18日
    浏览(27)
  • 取消Jenkins的定时清理工作空间

    Jenkins会定时清理工作空间,会影响到部分工程的打包,因此我想取消它的自动清理。有以下2个方法 一、使用Jenkins自带的脚本命令行,执行命令取消自动清理 弊端:不能永久生效,每次重启Jenkins后都需要执行一次 #查看当前是true还是false hudson.model.WorkspaceCleanupThread.disabled

    2024年02月05日
    浏览(31)
  • 【浅谈DBA职业生涯之误操作篇---读书笔记】

    👈【上一篇】 💖The Begin💖点点关注,收藏不迷路💖 【下一篇】👉 🚩 该话题覆盖各行各业,是一个普遍存在的问题,误操作可能导致数据丢失、系统异常、安全问题等不良后果,给个人和企业带来了不必要的损失和风险。     所以作为一个 DBA,或者哪怕仅仅是和数据

    2024年02月08日
    浏览(97)
  • Oracle系列之六:Oracle表空间

    Oracle表分区是将一个大型表分割成更小、更易于管理的部分的技术。分区后的表被称为 分区表 ,其中每个分区都可以独立地进行维护、管理和查询。表分区可基于表中的一列或多列,称为 分区键 ,分区键的值确定了每行数据属于哪个分区。 使用分区具有以下优点: (1)

    2023年04月16日
    浏览(22)
  • PG DBA培训22:PostgreSQL运维诊断之操作系统分析

    本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL Operating System Analysis and Diagnosis,学完本课程可以掌握PostgreSQL操作系统性能优化分析及工具说明,操作系统工具之top/topas,操作系统工具之vmstat,操作系统工具之iostat,操作系统工具之free/lsps/swapinfo,操作

    2024年01月22日
    浏览(35)
  • ORACLE表空间自动扩展

    Oracle表空间扩展 查看表空间使用情况: SELECT a.tablespace_name, a.bytes / 1024 / 1024 sum, (a.bytes - b.bytes) / 1024 / 1024 used, b.bytes / 1024 / 1024 free, round(((a.bytes - b.bytes) / a.bytes) * 100, 2) used FROM (SELECT tablespace_name, SUM(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) b

    2024年02月06日
    浏览(38)
  • Oracle表空间和用户

    Oracle表空间和用户 前言 1、创建表空间 2、 删除表空间 3、创建用户 4、用户赋权限 5、Oracle三个重要的角色 1、创建表空间 ORACLE 数据库的逻辑单元。 一个表空间可以与多个数据文件(物理结构)关联 一个数据库下可以建立多个表空间,一个表空间可以建立多个用户、一个用

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包