oracle查看用户权限在哪个表
时间: 2024-02-19 18:03:58 浏览: 30
在Oracle数据库中,用户的权限信息保存在系统表中,其中包括dba_sys_privs、dba_role_privs和dba_tab_privs等表。您可以使用这些表来查看用户的权限信息。例如,可以使用以下查询语句来查看用户SCOTT拥有的所有系统权限:
```
SELECT privilege
FROM dba_sys_privs
WHERE grantee = 'SCOTT';
```
如果要查看SCOTT拥有的所有对象权限(如表、视图和存储过程等),可以使用以下查询语句:
```
SELECT owner, table_name, privilege
FROM dba_tab_privs
WHERE grantee = 'SCOTT';
```
此外,还可以使用以下查询语句来查看SCOTT拥有的所有角色:
```
SELECT granted_role
FROM dba_role_privs
WHERE grantee = 'SCOTT';
```
注意,您需要具有相应的权限才能查询这些系统表。
相关问题
oracle查看用户表空间权限
可以使用如下的 SQL 语句查看一个用户拥有哪些表空间的权限:
```
SELECT * FROM DBA_TS_QUOTAS WHERE USERNAME = 'your_username';
```
其中,`your_username` 为要查询的用户名。执行该语句后,会返回该用户在哪些表空间中有配额(quota)。如果返回结果为空,则表示该用户没有任何表空间的配额,即无法在数据库中创建任何对象。
oracle 查看用户权限
您可以使用以下 SQL 查询语句来查看 Oracle 数据库用户的权限:
```
SELECT DISTINCT PRIVILEGE
FROM DBA_SYS_PRIVS
WHERE GRANTEE = 'your_username';
```
将 `your_username` 替换为您要查询的用户名。
此外,您还可以使用以下 SQL 查询语句来查看用户被授予的角色:
```
SELECT GRANTED_ROLE
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = 'your_username';
```
同样,将 `your_username` 替换为您要查询的用户名。这将返回该用户被授予的角色列表。