精华内容
下载资源
问答
  • oracle查看表大小
    千次阅读
    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数据库 表空间和表的大小一:查看表大小:有两种含义的表大小。一种是分配给一个表的物理空间数量,而不管空间是否被使用。可以这样查询获得字节数: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语句不能识别

    查询结果显示如图:

    af8515eb8748ac03b51882199e78042c.png

    三:如果想要查看到表空间的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

    查询结果如图所示:

    25fd80982286b740759bf52f045a6a4b.png

    四:如果想查看特定的表所在的表空间以及所在的物理文件上

    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修改空间大小的方法。分享给大家供大家参考,具体如下: 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

     

    展开全文
  • 两种方法,一种是为表空间增加数据文件: 代码如下: 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 只能查看所有用户下的数据

    示例:

    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_segments  t where t.segment_name='表名需大写';
    

    说明

    user_segments 只能查看当前用户下的表数据

    dba_segments 只能查看所有用户下的表数据

    展开全文
  • 1.查看空间大小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用来查看表占用情况 代码如下: 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:51
    1、查看表所占空间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如何查看表空间的大小及使用情况 注意存在表空间不存在于dba_free_space 中(可能是因为表空间过大已爆掉) –1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ...
  • oracle查看所有空间及空间大小

    千次阅读 2021-11-03 16:55:42
    SQL> 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内存及调整空间大小方法
  • Oracle 查询空间及某个大小

    万次阅读 2018-10-18 20:36:16
    1、查询某个大小 (需更改“你要查询的表名”) --注,仅数据的大小,不含索引、分区、LOB类型 select Segment_Name "表名",sum(bytes)/1024/1024 "表大小(M)" From User_Extents ...
  • 2016-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:36
    Oracle查看表占用空间查看表空间对应日志文件查看表空间总大小、使用率、剩余空间查看具体表的占用空间大小 查看表空间对应日志文件 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) ...
  • 查看Oracle表空间大小的方法

    千次阅读 2021-04-30 09:59:37
    Oracle表空间大小查看方法应该是我们都需要掌握的知识,下面就为您详细介绍查看Oracle表空间大小的方法,供您参考学习。在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。--1查看Oracle表空间大小...
  • select 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表大小有两种含义,即表分配的空间大小和实际占用的物理空间...
  • SELECT 'select sum(bytes) FROM dba_segments WHERE owner ='|| '"TESTBAR"'||' AND segment_type ='|| '"TABLE"'||' AND segment_name = "'|| table_...错误的,对于oracle而言,双引号要用单引号,可用可以用A...
  • 查询空间大小(oracle查询空间大小)2020-07-24 11:36:31共10个回答使用以下语句查看当前用户每个占用空间的大小:selectsegment_name,sum(bytes)/1024/1024fromuser_extentsgroupbysegment_name使用一下语句查看...
  • oracle 查看空间剩余量

    千次阅读 2021-05-02 06:35:55
    1、查看所有空间大小、剩余量: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:45
    ORACLE临时段空间不足,修改空间大小
  • oracle查询数据库的默认空间情况操作步骤如下:   1. 查询用户对应的空间,我们可以看到针对不同的数据库用户Oracle select username, default_tablespace, temporary_tablespace from dba_users;   2. ...
  • ORACLE查询每个占用空间大小

    千次阅读 2021-04-30 07:52:26
    SELECT '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:09
    oracle查看当前用户空间大小 select tablespace,sum(bytes/1024/1024/1024) from user_segments group by tablespace_name;

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 256,170
精华内容 102,468
关键字:

oracle查看表大小