1、首先我们开启Oracle管理工具,找到Tablespaces。
2、首先要看的是表空间的总大小和使用状况以及当前状态。
3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。
4、Objects 就如第三步中所提到的使用这个表空间的表明细。
5、Script 是创建表空间的PL/SQL,我们可以去了解它的相关信息和学习怎么创建表空间文件。
执行如下语句即可:
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数据库
本回答被网友采纳不对啊
他说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 = '大写用户名'
本回答被提问者采纳