当前位置: 首页 > news >正文

生产环境中oracle dba权限检查和回收相关命令汇总

一、oracle dba权限检查和回收的作用和意义

在Oracle数据库生产环境中,回收oracle dba权限的作用和意义重大,具体表现在以下三方面:

  1. 安全性:回收赋权检查和回收可以确保数据库中的权限控制得到有效管理。通过检查和回收权限,可以防止未经授权的用户访问敏感数据或执行危险操作。

  2. 数据完整性:回收赋权检查和回收可以帮助确保数据库中的数据完整性。通过检查和回收权限,可以防止未经授权的用户对数据进行修改、删除或插入操作,从而保护数据的完整性。

  3. 性能优化:回收赋权检查和回收可以帮助优化数据库的性能。通过检查和回收权限,可以及时清理无效或不再需要的权限,减少数据库的负担,提高数据库的性能。

二、oracle dba权限回收的风险也很大,需要谨慎操作

在Oracle数据库生产环境中,DBA回收赋权回收可能面临以下风险和挑战:

  1. 误操作风险:回收赋权操作可能由于误操作导致错误的权限回收,从而影响到正常的数据库操作。例如,回收了某个用户的必要权限,导致该用户无法执行其工作任务。

  2. 数据丢失风险:回收赋权操作可能会导致数据丢失的风险。如果不正确地回收了某个用户的权限,可能会导致该用户无法访问或操作其需要的数据,从而导致数据丢失或不一致。

  3. 安全漏洞风险:回收赋权操作可能会导致安全漏洞的风险。如果没有正确地回收某个用户的权限,可能会导致该用户仍然可以访问或操作敏感数据,从而造成安全漏洞。

  4. 复杂性挑战:回收赋权操作可能会面临复杂性的挑战。在大型数据库环境中,存在大量的用户和角色,进行权限回收需要仔细考虑每个用户的权限需求,以避免误操作或遗漏。

  5. 影响业务连续性:回收赋权操作可能会影响到业务的连续性。如果回收了某个用户的关键权限,可能会导致该用户无法继续执行其业务操作,从而影响到业务的正常进行。

因此,在进行DBA回收赋权回收时,需要谨慎操作,结合下面章节的检查命令,充分了解每个用户的权限需求,并进行充分的测试和验证,以减少风险和挑战。

三、oracle dba权限检查和回收相关命令汇总

说明:其中PRDUSER为具有dba权限的普通生产用户,使用revoke dba之后需要结合检查命令检查出来的普通权限,利用补充权限相关命令给PRDUSER授权除dba权限外的其他需要的业务操作相关的普通权限,才能做到回收dba权限而不影响原来正常的ddl和dml操作

序号

类型

场景

检查语句

补充权限

0

回收之前检查

select grantee,privilege from dba_sys_privs where grantee in ('PRDUSER');

select grantee,granted_role from dba_role_privs where grantee in ('PRDUSER');

1

同义词

主要针对多用户场景

SELECT * FROM DBA_SYNONYMS WHERE OWNER IN ('PRDUSER');

grant create any synonym to PRDUSER;
GRANT DROP ANY SYNONYM TO PRDUSER;

2

物化视图

主要针对多用户场景

select owner, mview_name from dba_mviews where owner in ('PRDUSER')

grant ALTER ANY MATERIALIZED VIEW to PRDUSER;
grant CREATE ANY MATERIALIZED VIEW to PRDUSER;
grant DROP ANY MATERIALIZED VIEW to PRDUSER;

3

序列化

主要针对多用户场景

select sequence_owner, sequence_name from dba_sequences where sequence_owner in ('PRDUSER')

grant select any sequence to PRDUSER;

可能会在插入另一个用户表的时候,其某一个字段是使用sequence方式自增的,如果没有sequence查询权限,可能拿不到自增值

4

跨库表的互访增删改查

主要针对多用胡场景

如果有多用户,相互之间有增删改查的操作的话

grant SELECT ANY TABLE to PRDUSER;
grant INSERT ANY TABLE to PRDUSER;
grant UPDATE ANY TABLE to PRDUSER;
grant DELETE ANY TABLE to PRDUSER;
grant LOCK ANY TABLE to PRDUSER;
grant UNDER ANY TABLE to PRDUSER;
grant COMMENT ANY TABLE to PRDUSER;

如果有跨用户表truncate的话,1. 是 授权drop any table,但是这个风险太大了, 2. 是创建一个存储过程,授权存储过程的执行权限,执行 truncate操作。

5

存储过程debug

grant debug connect session to PRDUSER;

这个理论上不应该给吧,产品环境未来不允许debug操作。

6

系统字典视图无法访问

grant select any dictionary to PRDUSER

7

删除会话的权限

创建一个删除会话的存储过程,授予执行权限

create or replace procedure kill_session ( v_sid number, v_serial number ) as v_varchar2 varchar2(100);

begin execute immediate 'ALTER SYSTEM KILL SESSION ''' || v_sid || ',' || v_serial || '''';

end;

/

grant execute on kill_session to PRDUSER;

8

基础授权

unlimited tablepsace

revoke dba之后,必做的一个动作

grant unlimited tablespace to PRDUSER;

9

其他授权

grant create session to PRDUSER;

grant create any procedure to PRDUSER;

grant execute any procedure to PRDUSER;

grant create table to PRDUSER;

grant drop any table to PRDUSER;

GRANT CREATE VIEW TO PRDUSER;

grant create any type to PRDUSER;

grant create trigger to PRDUSER;

相关文章:

生产环境中oracle dba权限检查和回收相关命令汇总

一、oracle dba权限检查和回收的作用和意义 在Oracle数据库生产环境中,回收oracle dba权限的作用和意义重大,具体表现在以下三方面: 安全性:回收赋权检查和回收可以确保数据库中的权限控制得到有效管理。通过检查和回收权限&…...

实现微信转账到零钱经验

最近写微信转账到零钱的功能。 微信 商家转账到零钱 一-CSDN博客 微信 商家转账到零钱 二-CSDN博客 除了基本接口处理,也要兼顾系统财务安全,和异常处理情况。中心思想就是实现功能的同时,别给自己找事…… 本次开发在原有基础上二开。采…...

SpringCloud——负载均衡——OpenFeign

Feign是一个声明式的客户端接口,相比RestTemplate,更好的简化了微服务之间的调用方式。而且Feign默认集成了Ribbon,可以实现负载均衡。 1.OpenFeign与Feign OpenFeign在Feign的基础上支持SpringMVC的注解。OpenFeign的FeignClient可以解析Re…...

力扣370周赛

力扣第370场周赛 找到冠军 I 答案即入度为0的点 class Solution { public:int findChampion(vector<vector<int>>& grid) {vector<int>d(1005);int n grid.size() , m grid[0].size();for(int i 0 ; i < n ; i ){for(int j 0 ; j < m ; j )…...

EMNLP2023 | 让模型学会将提示插入到合适的中间层

深度学习自然语言处理 原创作者&#xff1a;cola 现有的提示微调方法基本是人工选择提示层&#xff0c;而人工选择将提示插入到哪些层次并非一定合理&#xff0c;这导致了很大程度上限制提示微调发挥潜能。我们的模型(SPT)可以让模型自己学习应该在哪些中间层插入提示&#xff…...

【PG】PostgreSQL单机部署(简洁命令版)

目录 1 下载安装包 2 上传至需要安装的服务器 3 服务器安装所需依赖包 4 解压安装包 5 配置安装 6 创建用户 7 创建目录修改权限 8 设置环境变量 9 设置共享库 10 初始化 11 启动数据库 12 关闭数据库 13 查看数据库状态 14 连接数据库 1 下载安装包 通过下载…...

AI:69-基于深度学习的音乐推荐

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…...

php 使用phpoffice/phpspreadsheet拓展实现导出图片

基础操作参考&#xff1a;https://blog.csdn.net/huaweichenai/article/details/95994006 文档地址&#xff1a;https://phpspreadsheet.readthedocs.io/ github地址&#xff1a;https://github.com/PHPOffice/PhpSpreadsheet 导出插入图片主要使用\PhpOffice\PhpSpreadshee…...

几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办

电脑提示mfc140.dll缺失&#xff0c;如果你不去处理的话&#xff0c;那么你的程序游戏什么都是启动不了的&#xff0c;如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决&#xff0c;今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…...

并发修改异常

并发修改异常&#xff08;Concurrent Modification Exception&#xff09;是指在多线程环境下&#xff0c;当一个方法检测到对象的并发修改&#xff0c;但不允许这种修改时&#xff0c;抛出的一种异常。换句话说&#xff0c;当两个或多个线程同时对一个对象进行修改时&#xff…...

split() 函数实现多条件转为数据为数组类型

使用 split() 函数并传递正则表达式 /[,;.-]/ 作为分隔符来将字符串按照逗号、分号和破折号进行拆分&#xff0c;并将结果赋值给 splitArray 数组。下面是一个示例代码&#xff1a; 在上面的示例中&#xff0c;我们使用 split() 函数将 inputString 字符串按照逗号、分号和破折…...

【Springboot】Vue3-Springboot引入JWT实现登录校验以及常见的错误解决方案

文章目录 前言一、JWT简单介绍二、token校验设计思路三、使用步骤Springboot部署JWT引入依赖&#xff1a;创建登录实体类后端&#xff1a;LoginController.java路由守卫函数 四、问题 前言 项目版本&#xff1a; 后端&#xff1a; Springboot 2.7、 Mybatis-plus、Maven 3.8.1…...

VueCli 自定义创建项目及配置

一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…...

2024年节假日sql脚本(区分休息日、节假日、工作日、调休工作)

建表 CREATE TABLE no_work_day (id int NOT NULL AUTO_INCREMENT,day varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3 COMMENT节假日表;执行脚本插入数据 INSERT INTO no_work_day (day) VALUES (20240101); INSERT INTO no_work_day (…...

vue3介绍

介绍 3完全兼容2的语法 vue3&#xff1a;体积更小&#xff0c;性能会更高。底层做了很多优化 2倍左右 vue3vitets 渐进式框架 vue3和vue2 的区别 新语法&#xff0c;性能上提升很多 思想是一致的&#xff1a;动态绑定&#xff1a;状态data&计算属性&#xff0c;监听某些状态…...

Spark SQL自定义collect_list分组排序

想要在spark sql中对group by concat_ws()的字段进行排序&#xff0c;可以参考如下方法。 原始数据如下&#xff1a; ------------ |id |name |type| ------------ |1 |name1|p | |2 |name2|p | |3 |name3|p | |1 |x1 |q | |2 |x2 |q | |3 |x3 |q | …...

2023年云计算的发展趋势如何?

混合云的持续发展&#xff1a;混合云指的是将公有云和私有云进行结合&#xff0c;形成一种统一的云计算环境。随着企业对数据隐私和安全性的要求越来越高&#xff0c;以及在数据存储和处理方面的需求不断增长&#xff0c;混合云正在逐渐成为主流。预计未来混合云将会继续保持高…...

uniapp中picker 获取时间组件如何把年月日改成年月日默认时分秒为00:00:00

如图所示&#xff0c;uniapp中picker组件的日期格式为&#xff1a; 但后端要 2023-11-08 00:00:00格式 如何从2023-11-08转化为 2023-11-08 00:00:00&#xff1a;&#x1f447; const date new Date(e.detail.value);//"2023-11-17" date.setHours(0, 0, 0); // 2…...

k8s operator

Kubernetes Operator 是一种用于特定应用的控制器&#xff0c;可扩展 Kubernetes API 的功能&#xff0c;来代表 Kubernetes 用户创建、配置和管理复杂应用的实例。它基于基本 Kubernetes 资源和控制器概念构建&#xff0c;但又涵盖了特定领域或应用的知识&#xff0c;用于实现…...

使用io_uring

目录 升级内核以支持io_uring Io_uring 关注点 有序性 IOPOLL SQPOLL 环大小 wrk线程数量 升级内核以支持io_uring #!/bin/bash#内核源码压缩包 kernel_targz"linux-5.14.21.tar.xz"#内核源码解压后的目录 kernel_source"linux-5.14.21"echo "…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...