可以使用如下命令查询 Oracle 数据库中所有表的大小:
SELECT owner, table_name, num_rows, blocks*8/1024/1024 MB
FROM dba_tables
ORDER BY MB DESC;
说明:
owner
:表所属的用户;table_name
:表名;num_rows
:表中的行数;blocks
:表所占用的数据块数;MB
:表的大小,单位为 MB。
通过这个命令查询出来的是数据库中所有表的大小总和。如果你想查询某个特定用户的表,可以在 WHERE 子句中添加条件 owner='<用户名>'
,例如:
SELECT owner, table_name, num_rows, blocks*8/1024/1024 MB
FROM dba_tables
WHERE owner='HR'
ORDER BY MB DESC;
这个命令将会查询 HR 用户的所有表的大小,并按照表大小从大到小排序。