oracle 查看表行数所占空间大小

  最新数据库空间有感觉捉急了,上次,删了些数据空了800+G,撑了一个多月,现在还有400+G,每天10G的增量,多少空间也感觉不够用啊。

不能加硬盘,就只有删数据了。。

删数据,人懒,直接找表行最多,占空间最大的表删

于是就有了下面一段SQL:

select ut.table_name,ut.OWNER,ut.tablespace_name,num_rows,us.BYTES from dba_tables ut,(select segment_name,sum(bytes)/1024/1024||‘M‘ bytes from user_segments group by segment_name) us
where ut.TABLE_NAME = us.segment_name
order by num_rows desc nulls last;

查看所有表的行数,所占空间大小,可能会不太准(上次数据库分析后,有CRUD操作的表,可能会有偏差)。

时间: 2024-10-14 07:05:48

oracle 查看表行数所占空间大小的相关文章

zbb20170816 oracle Oracle 查看表空间、数据文件的大小及使用情况sql语句

oracle Oracle 查看表空间.数据文件的大小及使用情况sql语句 --表空间 --1G=1024MB --1M=1024KB --1K=1024Bytes --1M=11048576Bytes --1G=1024*11048576Bytes=11313741824Bytes SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) &qu

MS SQL查询所有表行数,获取所有数据库名,表名,字段名

1.获取所有数据库名 --SELECT Name FROM Master..SysDatabases ORDER BY Name -- 2.获取所有表名: --SELECT Name NAMEtemp,* FROM TEST..SysObjects Where XType='U' ORDER BY Name --表名  ----XType='U':表示所有用户表; ----XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHER

oracle 查看表的信息

查看表的创建时间等基本信息 select * from user_objects o where o.object_type='TABLE'    AND o.object_name LIKE '用户名%'    ORDER BY o.created DESC ; oracle 查看表的信息

Oracle锁表 行级锁 表级锁 行级锁

Oracle锁表  行级锁  表级锁 ---- 行被排他锁定 ----在某行的锁被释放之前,其他用户不能修改此行          ----使用 commit 或 rollback 命令释放锁 ----Oracle 通过使用 INSERT.UPDATE 和 SELECT-FOR UPDATE 语句自动获取行级锁 SELECT-FOR UPDATE 子句  ―在表的一行或多行上放置排他锁  ―用于防止其他用户更新该行 ―可以执行除更新之外的其他操作 ―select * from goods whe

Oracle 查看表空间的大小及使用情况sql语句

SQL1: --1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --2.查看表空间物理文件的名称及大小 SELECT tablespace_name,

Oracle 查看表空间大小及其扩展

在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成.系统中默认创建的几个表空间:SYSTEM,SYSAUX,USERS,UNDOTBS1,EXAMPLE,TEMP还有用户自己建立的表空间,可以对其进行分成三类 永久表空间                存放永久性数据,如表,索引等. 临时表空间                不能存放永久性对象,用于保存数据库排序,分组时产生的临时

Oracle查看表空间,创建表空间

查看表空间: SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; 创建表空间: create tablespace geoglobe logging datafile '/u01/app/oracle/oradata/data/geoglobe.dbf' size 1024m aut

SQL Server查看所有表大小、表行数和占用空间信息

一.查看表名和对应的数据行数select  a.name as '表名',b.rows as '表数据行数'from sysobjects a inner join sysindexes bon a.id = b.idwhere   a.type = 'u'and b.indid in (0,1)--and a.name not like 't%'order by b.rows desc 其实本来只想找一个方法能查询一下 数据库 的大小,没想到这个方法还能查询数据库中 各个数据表 的大小,嗯,挺

oracle 查看表空间以及日志文件等系统文件

--1.查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --2.查看表空间物理文件的名称及大小  SELECT tablespace_name, file_