查询用户表空间

查询scott用户emp表的数据文件及表空间

一.在sys用户下

1.查询表空间

SELECT TABLE_NAME,TABLESPACE_NAME FROM DBA_TABLES

WHERE TABLE_NAME=’EMP’

AND OWNER=’SCOTT’

image

2.查询数据文件

SELECT FILE_NAME,TABLESPACE_NAME FROM DBA_DATA_FILES

WHERE TABLESPACE_NAME=’USERS’;

image

整合到一起:

SELECT FILE_NAME,TABLESPACE_NAME FROM DBA_DATA_FILES

WHERE TABLESPACE_NAME IN

(SELECT TABLESPACE_NAME FROM DBA_TABLES

WHERE TABLE_NAME=’EMP’AND OWNER=’SCOTT’)

image

二.在scott用户下

1.查询所在的表空间

image

2.木有然后了,查不了数据文件,没有user_data_files这个表

image

应该可以理解,scott不是dba权限,看看scott的权限吧,在sys用户下查看

DESC DBA_ROLE_PRIVS;

SELECT GRANTED_ROLE,ADMIN_OPTION,DEFAULT_ROLE FROM DBA_ROLE_PRIVS

WHERE GRANTEE=’SCOTT’;

image

赋个DBA权限吧(我只知道DBA权限,哈哈),DBA权限赋完了肯定没问题了,试下吧;当然还是查询DBA_DATA_FILES,这样和第一种sys用户是一样的喽?

GRANT DBA TO SCOTT;

image

image

REVOKE DBA 权限吧

REVOKE DBA FROM SCOTT;

image

posted @ 2016-01-09 22:29  cnmarkao  阅读(785)  评论(0编辑  收藏  举报