|
对于一个有着许多用户的数据库系统,我们可以通过下述方法来了解数据库的用户情况
。
1.对于非DBA用户
对于非DBA用户,有两条命令,即:
(1)SQL>SELECT*FROM ALL-USERS;
(2)SQL>SELECT*FROM USER-USERS;
其中,从USER-USERS表中,可以了解到该用户的默认表空间和临时表空间等信息。
2.对于DBA用户
对于DBA用户,有三条命令,即:
(1)SQLDBA>SELECT*FROM ALL-USERS;
(2)SQLDBA>SELECT*FROM USER-USERS;
(3)SQLDBA>SELECT*FROM DBA-USERS;
其中,从DBA-USERS中,可以了解到所有用户的详细信息,因而该命令对于数据库管理员来
说是很有用的。
关于非DBA用户的信息
由于DBA用户具有最高权限,为安全起见,只有系统管理员才授予DBA权限,大多数用户均
为非DBA用户。尽管相应的权限少了,但是从ORACLE数据字典中,还是可以得到 很多关于非D
BA用户的有用信息。
我们可以采用下述方法来了解有关非DBA用户的信息。
1.SQL>SELECT*FROM USER-USERS;
可以查看该用户的默认表空间,临时表空间和用户创建时间。
2.SQL>SELECT*FROM USER-TABLES;
可以查看该用户创建的所有表的详细信息,由于列名较多,一屏看不了几个表。
如果仅仅想查看用户所建表的表名,可以用下面的命令:
SQL>SELECT TABLE-NAME FROM USER-TABLES;
3.SQL〉SELECT*FROM USER-VIEWS;
可以查看该用户所创建的视图,包括创建视图的文本。
同样,如果仅仅想查看用户所建视图的视图名,可以用下面的命令:
SQL>SELECT VIEW-NAME FROM USER-VIEWS;
4.SQL>SELECT*FROM USER-TABLESPACES;
可以查看该用户可存取的表空间的信息。
5.SQL>SELECT TABLESPACE-NAME,SUM(BYTES),SUM(BLOCKS)
FROM USER-FREE-SPACE GROUP BY TABLESPACE-NAME;
可以查看该用户可存取的表空间的剩余空间。
6.SQL>SELECT *FROM USER-TS-QUOTAS;
可以查看该用户的表空间的份额。
7.SQL>SELECT *FROM USER-ROLE-PRIVS;
可以查看该用户被授予的角色。
8.SQL>SELECT *FROM USER-SYS-PRIVS;
可以查看该用户的系统权限及能否再授予其它用户的权限。
9.SQL>SELECT *FROM USER-TAB-PRIVS-RECD;
可以查看该用户能访问其它用户的表、视图等的对象权限。
10.SQL>SELECT *FROM USER-TAB-PRIVS-MADE;
可以查看该用户授予其它用户的表、视图等的对象权限。 |
|
|