49人参与 • 2026-07-16 • Oracle
oracle 权限分为三大类,且支持角色嵌套继承(用户→角色→子角色→权限),查询时要区分直接权限和间接权限(通过角色继承获得):
create table(建表)、create session(登录)、unlimited tablespace(无限表空间)等。select、update、execute 等。connect、resource、dba 角色)。无需 dba 权限,登录后直接运行,可查自己拥有的全部权限。
select privilege, admin_option from user_sys_privs order by privilege;
privilege:权限名称admin_option:是否可将该权限转授给其他用户select owner, table_name, privilege, grantable from user_tab_privs_recd order by owner, table_name, privilege;
owner:对象所属的用户table_name:对象名称(表 / 视图 / 存储过程等)grantable:是否可将该对象权限转授给他人select granted_role, admin_option, default_role from user_role_privs order by granted_role;
default_role:是否为默认角色(登录后自动生效)select distinct privilege
from (
-- 直接授予的系统权限
select privilege from user_sys_privs
union all
-- 角色携带的系统权限
select rp.privilege
from role_sys_privs rp
where rp.role in (select granted_role from user_role_privs)
)
order by privilege;select '系统权限' as 权限类型, privilege as 权限名称 from user_sys_privs
union all
select '所属角色' as 权限类型, granted_role as 权限名称 from user_role_privs
union all
select '对象权限' as 权限类型, owner||'.'||table_name||'('||privilege||')' as 权限名称
from user_tab_privs_recd
order by 权限类型, 权限名称;到此这篇关于查询oracle 数据库用户权限的方法的文章就介绍到这了,更多相关oracle 用户权限内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论