-
2020-06-03 08:56:04
有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。
- 可以这样查询获得字节数:
# 普通用户 SQL> select segment_name, bytes from user_segments where segment_type = 'TABLE' and segment_name='TABLE_NAME'; # dba SQL> select segment_name, segment_type,owner,bytes/1024/1024 M from dba_segments where segment_type='TABLE' and segment_name = 'TABLE_NAME';
- 每张来表都是作为“段”来自存储的,因此可以通过user_segments视图查看其相应信息:
# 普通用户 SQL> select segment_name, sum(bytes) / 1024 / 1024 from user_extents where segment_type='TABLE' and segment_name='TABLE_NAME' group by segment_name; # dba SQL> select owner,segment_name,sum(bytes) / 1024 / 1024 M from dba_extents u where u.segment_type='TABLE' and segment_name = 'TABLE_NAME' group by owner,segment_name;
更多相关内容 -
新手学习之查看ORACLE 数据库表空间和数据表的大小
2021-04-30 11:11:34新手学习之 查看ORACLE数据库 表空间和表的大小一:查看表大小:有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:1.列如我们查看特定表大小占用表空间大小...新手学习之 查看ORACLE数据库 表空间和表的大小
一:查看表大小:
有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数:
1.列如我们查看特定表大小占用表空间大小
select sum(bytes)/1024/1024 Mbytes from user_segments where segment_type='TABLE' and segment_name='TEST01';
查看所有表大小
select segment_name, bytesfrom user_segmentswhere segment_type = 'TABLE';
这里注意:where 条件查询的参数都要大写,否则就会查询不到符合的数据
2.查看表当前使用的空间
analyze table test01 compute statistics;分析表
select num_rows * avg_row_len from user_tables where table_name = 'TEST01';查询表
二:查看表空间大小
命令一:先查看当前库下所有的user表空间
select * from user_tablespaces
命令二:查看当前库下所有表空间的free情况
select tablespace_name,sum(nvl(bytes,0)) from dba_free_space group by tablespace_name;
函数nvl用法:
Nvl(a,b),就是用户判断a的值,如果查询的结果a的值为null,则返回b的值,如果a的值不为null,则返回a的值
命令学习三:查看当前库下的数据文件
select tablespace_name,sum(bytes) from dba_data_files group by tablespace_name;
这个值会查看到oracle 表空间的总大小
命令学习四:描述数据库的表空间
select tablespace_name,contents,extent_management from dba_tablespaces
根据上面四个常用的命令,来创建一个视图,查看表空间的利用情况
select
a.a1 tab_name,(表空间名称)
c.c2 tab_type,(表类型)
c.c3 table_management,(表管理)
b.b2/1024/1024 tab_space_M,(表空间大小,总)
a.a2/1024/1024 free_space_M,(剩余表空间大小)
(b.b2-a.a2)/1024/1024 USED_SPACE_M,( 表使用大小)
substr((b.b2-a.a2)/b.b2*100,1,5) use_ratio(表的利用率)
from
(select tablespace_name a1,sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,
(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,
(select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c
where a.a1=b.b1 and c.c1=b.b1;
我后面中文是起到一个标识的作用,在实际的oracle sql developer工具或者PL/SQL中,都尽量不要带有中文,很容易造成SQL语句不能识别
查询结果显示如图:
三:如果想要查看到表空间的datafile文件名,需要更改视图:
1. 查看当前库下所有表空间的free情况
select tablespace_name,sum(nvl(bytes,0)) from dba_free_space group by tablespace_name;
2. 查看表空间所属的数据文件,测试环境下,一般都是一个表空间下只有一个数据文件,而在实际的环境中,一个表空间下有多个数据文件,而一个数据文件只能属于一个表空间
select file_name,tablespace_name from dba_data_files;
可以为一个表空间添加数据文件
alter tablespace myspace add datafile '/opt/oracle/oradata/test05/mytb02.dbf' size 20M autoextend on next 2m maxsize 100m;
创建视图,查看file_name,tablespace_name,如下
select
b.file_name phy_file_name,(物理文件名)
b.tablespace_name tablespace_name,(表空间名)
b.bytes/1024/1024 tabspace_bytes,(表空间大小 MB)
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 USEED_SPACE,(使用表空间大小)
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes) * 100,1,5) use_ratio(利用率)
from dba_free_space a , dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name
查询结果如图所示:
四:如果想查看特定的表所在的表空间以及所在的物理文件上
select a.table_name,a.tablespace_name,b.file_name from user_tables a , dba_data_files b
where a.tablespace_name=b.tablespace_name and a.table_name='TEST01';
五:查询和表空间的相关查询命令(知识点)
1. 查询默认的数据表空间和临时表空间
select property_name,property_value from database_properties where property_name in ('DEFAULT_PERMANENT_TABLESPACE',
'DEFAULT_TEMP_TABLESPACE');(针对USER的默认数据表空间和临时表空间)
2. 更改数据库的默认表空间
Alter database default tablespace tablespace_name;(数据表空间)
Alter database temporary tablespace tablespace_name;(临时数据表空间)
-
Oracle修改表空间大小的方法
2020-12-15 20:32:38本文讲述了Oracle修改表空间大小的方法。分享给大家供大家参考,具体如下: 1)查看各表空间分配情况 SQL> select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name; ... -
oracle查看表空间及大小
2021-05-21 14:30:30--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....--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_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; --3、查看回滚段名称及大小 SELECT segment_name, tablespace_name, r.status, (initial_extent / 1024) initialextent, (next_extent / 1024) nextextent, max_extents, v.curext curextent FROM dba_rollback_segs r, v$rollstat v WHERE r.segment_id = v.usn(+) ORDER BY segment_name; --4、查看控制文件 SELECT NAME FROM v$controlfile; --5、查看日志文件 SELECT MEMBER FROM v$logfile; --6、查看表空间的使用情况 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100) / a.bytes "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name; --7、查看数据库库对象 SELECT owner, object_type, status, COUNT(*) count# FROM all_objects GROUP BY owner, object_type, status; --8、查看数据库的版本 SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; --9、查看数据库的创建日期和归档方式 SELECT created, log_mode, log_mode FROM v$database; --1G=1024MB --1M=1024KB --1K=1024Bytes --1M=11048576Bytes --1G=1024*11048576Bytes=11313741824Bytes SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余大小(G)", (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", round((total - free) / total, 4) * 100 "使用率 %" FROM (SELECT tablespace_name, SUM(bytes) free FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM(bytes) total FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name
转载于:https://www.cnblogs.com/superming/p/11057196.html
-
oracle增加表空间大小两种实现方法
2020-12-16 07:18:48两种方法,一种是为表空间增加数据文件: 代码如下: alter tablespace users add datafile ‘/opt/oracle/oradata/esop/... 您可能感兴趣的文章:Oracle 查看表空间的大小及使用情况sql语句oracle 创建表空间详细介绍Or -
Oracle查看一张表数据的大小
2021-03-19 08:56:38示例: select t.segment_name,bytes/1024/1024 as MB from user_segments t where t.segment_name='表名需大写'; select t.segment_name,bytes/1024/1024 as MB from dba_...dba_segments 只能查看所有用户下的表数据 -
查看Oracle数据库表空间大小的方法合集
2021-05-04 01:22:541.查看所表空间大小SQL>select tablespace_name,sum(bytes)/1024/1024from dba_data_filesgroupby tablespace_name;TABLESPACE_NAME SUM(BYTES)/1024/1024--------------------------------------------------... -
ORACLE查询表空间大小
2014-10-11 12:06:51帮助您查看oracle的表空间大小,已使用百分比,剩余大小,总大小,表空间名 -
如何查看Oracle库表占用大小
2018-07-10 22:17:50统计某个用户下表所占用大小 方式一: SELECT owner, segment_name, round( sum( bytes / 1024 / 1024 / 1024 ), 2 ) gb_size FROM dba_segments WHERE owner = '用户名' AND segment_type = 'TABLE' -- ... -
oracle查询 表大小 行数
2019-04-18 11:35:17查看表大小 select segment_name as tablename,bytes/1024/1024/1024 gb from dba_segments where segment_name='TEST' and owner='CESHI'; TEST为表名 ,CESHI为用户名,注意要大写 查看所有表的数据量行数 ... -
Oracle查看占用表空间最大的表(排序)
2022-04-20 11:26:26oracle用来查看表占用情况 代码如下: select t.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024 as sizes,q.num_rows,t.segment_type from dba_segments t left join dba_tables q on t.segment_... -
oracle 查看表所占用空间的大小
2021-05-01 00:47:511、查看表所占空间SELECT TABLESPACE_NAME,TO_CHAR(SUM(BYTES)/(1024*1024),'999G999D999') CNT_MBFROM DBA_EXTENTSWHERE OWNER='&OWNER' AND SEGMENT_NAME='&TABLE_NAME' AND SEGMENT_TYPE LIKE... -
Oracle如何查看表空间的大小及使用情况
2019-07-28 01:44:39Oracle如何查看表空间的大小及使用情况 注意存在表空间不存在于dba_free_space 中(可能是因为表空间过大已爆掉) –1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ... -
oracle查看所有表空间及表空间大小
2021-11-03 16:55:42SQL> select tablespace_name ,sum(bytes) / 1024 / 1024 / 1024 as GB from dba_...查看GB的 select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name; 查看MB的 -
Oracle中查询表的大小
2019-04-12 18:04:45查看表大小 select round(sum(BYTES)/1024/1024,2)||'M' from dba_segments where segment_name='BGDJMX'; 说明:如果用sys用户登陆的话,使用dba_segments词典;如果使用当前用户登陆,查看当前用户下面表大小... -
调整oracle内存及调整表空间大小方法
2019-02-18 13:49:41调整oracle内存及调整表空间大小方法 -
Oracle 查询表空间及某个表的大小
2018-10-18 20:36:161、查询某个表的大小 (需更改“你要查询的表名”) --注,仅表数据的大小,不含索引、分区、LOB类型 select Segment_Name "表名",sum(bytes)/1024/1024 "表大小(M)" From User_Extents ... -
如何查看oracle临时表空间当前使用了多少空间的大小
2021-05-03 08:46:062016-03-09 回答查看“oracle”临时表空间当前使用了多少空间,可按照以下程序。select d.tablespace_name "name", d.status "status",to_char (nvl (a.bytes / 1024 / 1024, 0), '99,999,990.90') "size (m)",to_... -
Oracle查看表占用空间
2022-05-17 10:35:36Oracle查看表占用空间查看表空间对应日志文件查看表空间总大小、使用率、剩余空间查看具体表的占用空间大小 查看表空间对应日志文件 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) ... -
查看Oracle表空间大小的方法
2021-04-30 09:59:37Oracle表空间大小的查看方法应该是我们都需要掌握的知识,下面就为您详细介绍查看Oracle表空间大小的方法,供您参考学习。在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。--1查看Oracle表空间大小... -
oracle查看表空间物理文件的名称,路径及大小
2021-05-07 13:26:07select tablespace_name, file_id,file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by ...查看表空间的名称及大小 )), ) ts_size FROM dba_tablespaces t, dba_data_files d WH... -
【oracle】oracle查询表存储大小和表空间大小
2021-01-04 17:11:10目录查看表分配的物理空间大小查看表实际存储空间大小查看每个表空间的大小查看表空间大小及使用率查看数据库中数据文件信息查看临时表空间信息 oracle表大小有两种含义,即表分配的空间大小和实际占用的物理空间... -
ORACLE查询每个表占用空间大小的方法
2021-05-01 06:01:50SELECT 'select sum(bytes) FROM dba_segments WHERE owner ='|| '"TESTBAR"'||' AND segment_type ='|| '"TABLE"'||' AND segment_name = "'|| table_...错误的,对于oracle而言,双引号要用单引号,可用可以用A... -
查询表空间大小(oracle查询表空间大小)
2021-05-01 12:10:30查询表空间大小(oracle查询表空间大小)2020-07-24 11:36:31共10个回答使用以下语句查看当前用户每个表占用空间的大小:selectsegment_name,sum(bytes)/1024/1024fromuser_extentsgroupbysegment_name使用一下语句查看... -
oracle 查看各表空间剩余量
2021-05-02 06:35:551、查看所有表空间大小、剩余量:select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * ... -
oracle增加表空间大小
2022-02-11 09:56:02第一步:查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name 第二步:增大所需表空间大小: ... -
ORACLE修改表空间大小
2012-04-08 17:43:45ORACLE临时段表空间不足,修改表空间大小 -
oracle数据库查看表空间默认大小及使用情况总结
2018-12-10 13:10:04oracle查询数据库的默认表空间情况操作步骤如下: 1. 查询用户对应的表空间,我们可以看到针对不同的数据库用户Oracle select username, default_tablespace, temporary_tablespace from dba_users; 2. ... -
ORACLE查询每个表占用空间大小
2021-04-30 07:52:26SELECT 'select sum(bytes) FROM dba_segments WHERE owner ='|| '"TESTBAR"'||' AND segment_type ='|| '"TABLE"'||' AND segment_name = "'|| table_name...错误的,对于oracle而言,双引号要用单引号,可用可以用... -
Oracle 查看当前用户表空间大小
2020-11-17 10:46:09oracle查看当前用户表空间大小 select tablespace,sum(bytes/1024/1024/1024) from user_segments group by tablespace_name;