Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
oracle查询以查找存储过程上的特权_Oracle_Permissions - Fatal编程技术网

oracle查询以查找存储过程上的特权

oracle查询以查找存储过程上的特权,oracle,permissions,Oracle,Permissions,我可以运行什么查询来查看用户是否具有执行存储过程的权限 假设用户是UserA,存储过程名称是my\u stored\u proc 我想知道UserA是否对my\u stored\u proc UserA不是storedproc的所有者。另一个主人给了他许可 你可以试试 select ap.* from All_Procedures ap where ap.owner = 'UserA' 这只会告诉您UserA是否是所有者。我想UserA仍然可以拥有权限,即使不是所有者。我不知道该怎么检查 编辑

我可以运行什么查询来查看用户是否具有执行存储过程的权限

假设用户是
UserA
,存储过程名称是
my\u stored\u proc

我想知道
UserA
是否对
my\u stored\u proc

UserA不是storedproc的所有者。另一个主人给了他许可

你可以试试

select ap.*
from All_Procedures ap
where ap.owner = 'UserA'
这只会告诉您UserA是否是所有者。我想UserA仍然可以拥有权限,即使不是所有者。我不知道该怎么检查

编辑: 其他要检查的表格包括

USER_SYS_PRIVS USER_TAB_PRIVS USER_ROLE_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS 用户系统权限 用户\u选项卡\u权限 用户\u角色\u权限 角色系统私人 角色\u选项卡\u私人 我很少查询这些,所以我不确定如何找到您要找的内容,但我会从这些开始。

明白了

SELECT * FROM DBA_TAB_PRIVS A WHERE GRANTEE = 'UserA' AND GRANTOR = 'someoneelse' and privilege = 'EXECUTE'

要通过角色说明补助金,请执行以下操作:

  select grantee, table_name, privilege
     from dba_tab_privs
     where
       table_name = 'my_stored_proc'
        and 
       owner = 'ownerOfObject'
       and
       (grantee = 'userA'
         or
         grantee in
          (select granted_role
        from dba_role_privs
        where grantee = 'userA'
           )
        )

这对我来说很有用,我想找到我可以访问的所有SP:

从“用户”选项卡的“特权”中选择*,其中被授权人=“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

USER_TAB_PRIVS中的列包括被授权人、所有者、授予人、表名称(在本例中为SP名称)和特权,因此我认为这是完美的


我的理解是,dpbradley和Omnipresent的答案对普通用户不起作用,因为他们无法访问DBA表。

是的,这就是我的情况。他不是主人。有个老板同意了他。