背景
在Oracle数据库管理中,了解和管理用户权限是确保数据安全和系统正常运行的重要部分。数据库管理员(DBA)需要能够快速查询和验证某个用户的权限,以便进行审计、故障排除和权限管理。在Oracle数据库中,可以通过查询数据字典视图来快速获取某个用户的所有权限。
下面的脚本,可以一键生成oracle用户的所有权限
ACCEPT username CHAR PROMPT 'Enter username: '
scott -- 示例手动输入scott
column USERUPPER new_value USERUPPER
select upper('&username') as USERUPPER from dual;
set linesize 120 pagesize 1000
set echo off
set heading off
set feedback off
select 'grant '||tt.granted_role||' to '||tt.grantee||';' as SQL_text
from dba_role_privs tt where tt.grantee=(upper('&USERUPPER'))
union all
select 'grant '||tt.privilege||' to '||tt.grantee||';'
from dba_sys_privs tt where tt.grantee=(upper('&USERUPPER'))
union all
select 'grant '||tt.privilege||' on '||owner||'.'||table_name||' to '||tt.grantee||';'
from dba_tab_privs tt where tt.grantee=(upper('&USERUPPER'))
union all
select 'alter user '||tt.user_name||' quota '||maxblocks*blocksize||' on '||ts_name||';'
from KU$_TSQUOTA_VIEW tt where tt.user_name=(upper('&USERUPPER'));
-- 结果
grant RESOURCE to SCOTT;
grant CONNECT to SCOTT;
grant UNLIMITED TABLESPACE to SCOTT;
grant SELECT on SYS.V_$MYSTAT to SCOTT;
grant SELECT on SYS.V_$STATNAME to SCOTT;
grant EXECUTE on SYS.UTL_I18N to SCOTT;
grant EXECUTE on SYS.DBMS_CRYPTO to SCOTT;复制
总结
快速查询Oracle用户的所有权限对于数据库管理和安全审计至关重要。通过查询 DBA_SYS_PRIVS
、DBA_TAB_PRIVS
和 DBA_ROLE_PRIVS
视图,数据库管理员可以全面了解用户的权限配置。本文提供的综合查询脚本可以一次性获取用户的系统权限、对象权限和角色权限,简化了权限管理过程。定期检查和管理用户权限,有助于维护数据库系统的安全性和稳定性。
「欢迎关注我们的公众号,获取更多技术分享与经验交流。」
文章转载自数据库驾驶舱,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
573次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
519次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
479次阅读
2025-04-01 11:08:44
墨天轮个人数说知识点合集
JiekeXu
465次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
463次阅读
2025-04-08 09:12:48
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
446次阅读
2025-04-22 00:20:37
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
445次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
423次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
408次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
392次阅读
2025-04-17 17:02:24