Oracle 数据库:想检查我给用户的权限

问题描述

我创建了一些用户(c##U100、c##U101、c##U102、c##U103、c##U104)来练习授予权限命令,我的授权图如下: authorization

我的教授让我使用这些命令测试权限:

col owner format a20
col table_name format a15
col privilege format a10
col grantee format a10

SELECT owner,privilege,table_name,grantee
  FROM sys.dba_tab_privs
 WHERE grantee like 'c##U1%'
 ORDER BY grantee,privilege;

但它不起作用,它返回“未选择行”。有点想知道我之前的步骤或这段代码是否有问题......谢谢!

解决方法

用户名总是大写;将查询中的“c”大写。

SELECT owner,privilege,table_name,grantee
  FROM sys.dba_tab_privs
 WHERE grantee like 'C##U1%'
 ORDER BY grantee,privilege;