重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1218|回复: 0
打印 上一主题 下一主题

[Oracle] oracle--用户权限查询

[复制链接]
跳转到指定楼层
楼主
发表于 2023-7-24 13:31:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Oracle数据库中有两种类型的用户权限:系统权限和对象权限。

1. 系统权限:
        系统权限是指对整个数据库的访问权限,包括创建、删除、修改数据库对象、执行特定操作等。Oracle提供了一系列的系统权限,例如CREATE SESSION、CREATE TABLE、CREATE VIEW等。

2. 对象权限:
        对象权限是指对特定数据库对象的访问权限,包括对表的读取、插入、更新、删除等操作。Oracle提供了多种对象权限,例如SELECT、INSERT、UPDATE、DELETE等。

        在Oracle中,用户要访问数据库,必须拥有相应的权限。对于系统权限,只有具有超级用户或者拥有相应授权的用户才能授予其他用户。对于对象权限,只有拥有该对象的创建权限或者拥有对象所有权的用户才能授予其他用户。通过合理地分配权限,可以保证数据库的安全性和稳定性。

以下是用户权限的查询脚本:
用户对象权限:

    SELECT *
      FROM DBA_TAB_PRIVS
     WHERE GRANTEE = 'USERNAME'
    UNION ALL
    SELECT *
      FROM DBA_TAB_PRIVS
     WHERE GRANTEE IN
           (SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USERNAME');

用户系统权限:

    SELECT *
    FROM DBA_SYS_PRIVS
    WHERE GRANTEE = 'USERNAME'
    UNION ALL
    SELECT *
    FROM DBA_SYS_PRIVS
    WHERE GRANTEE IN
         (SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'USERNAME');

         oracle角色可以理解为各种用户权限或系统权限的集合,可以将以上两个脚本中的username替换为rolename进行角色的对象权限或系统权限的查询。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-25 16:04 , Processed in 0.086587 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表