oracle 怎么查指定用户(例如scott)用到的表空间

如题所述

1、首先我们开启Oracle管理工具,找到Tablespaces。

2、首先要看的是表空间的总大小和使用状况以及当前状态。

3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。

4、Objects 就如第三步中所提到的使用这个表空间的表明细。

5、Script  是创建表空间的PL/SQL,我们可以去了解它的相关信息和学习怎么创建表空间文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-04

执行如下语句即可: 

select OWNER, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) mmm

from dba_segments t

where t.owner = '你要查询的用户' 

and t.segment_type='TABLE'

group by OWNER, t.segment_name, t.segment_type

order by mmm desc;

扩展资料

文件结构

数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。 

控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。

数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。

日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。

参数文件:记录基本参数。spfile和pfile。

警告文件:show parameter background_dump_dest---使用共享服务器连接

跟踪文件:show parameter user_dump_dest---使用专用服务器连接 

参考资料来源:百度百科—Oracle数据库

本回答被网友采纳
第2个回答  推荐于2017-10-07
一 查询scott用户默认表空间,默认临时表空间
select username,default_tablespace,temporary_tablespace from dba_users where username='SCOTT';
二 查询scott用户下所有表使用的表空间
select owner,table_name,tablespace_name from dba_tables where owner='SCOTT';
第3个回答  2011-08-17
Select default_tablespace 默认表空间,temporary_tablespace 临时表空间 from dba_users Where user_name = '用户名'追问

不对啊
他说user_name标识符无效

追答

不好意思 改为username

追问

还是不对,又报‘未选定行’的错误

追答

-_-..
Select USERNAME 用户名,default_tablespace 默认表空间,temporary_tablespace 临时表空间 from dba_users Where username = '大写的用户名'

追问

我要查该用户用到的所有表空间,不知是默认的和临时的,而是所有的,凡是这个用户中的表用到的表空间我口要能查出来

追答

select T.OWNER 用户名,T.TABLE_NAME 表名,t.TABLESPACE_NAME 表空间名 From dba_tables t Where t.OWNER = '大写用户名'

本回答被提问者采纳
第4个回答  2011-08-17
dba_users表中有
相似回答