如何查询表空间使用情况

如何查看oracle表空间已使用大小

1. 查看所有表空间大小

SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
2 group by tablespace_name;

2. 已经使用的表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space
2 group by tablespace_name;

3. 所以使用空间可以这样计算

select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;


4. 下面这条语句查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

5. 还有在命令行情况下如何将结果放到一个文件里。
SQL> spool out.txt
SQL> select * from v$database;
SQL> spool off

查看的方法和详细的操作步骤如下:
1、首先,因为oracle在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步。



2、其次,完成上述步骤后,连接成功,进入Oracle控制台。 输入命令“sqlplus / as sysdba”,如下图所示,然后进入下一步。



3、接着,完成上述步骤后,在sql命令行上,输入以下代码,如下图所示,然后进入下一步。



4、最后,完成上述步骤后,就可以查看相应的结果了,如下图所示。这样,问题就解决了。



快速的查看剩余表空间:

  1. 因为oracle运行在Linux系统下,首先,要连接Linux系统。 

  2. 连上后,进行oracle控制台。输入命令: sqlplus  / as sysdba;

  3. 在sql命令行,输入: 

    SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

      D.TOT_GROOTTE_MB "表空间大小(M)",

      D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

      TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",

      F.TOTAL_BYTES "空闲空间(M)",

      F.MAX_BYTES "最大块(M)"

      FROM (SELECT TABLESPACE_NAME,

      ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

      ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

      FROM SYS.DBA_FREE_SPACE

      GROUP BY TABLESPACE_NAME) F,

      (SELECT DD.TABLESPACE_NAME,

       ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

      FROM SYS.DBA_DATA_FILES DD

      GROUP BY DD.TABLESPACE_NAME) D

      WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

      ORDER BY 1;

  4. 这样就可以查看到相应结果。



1. 查看所有表空间大小

SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_data_files
2 group by tablespace_name;

2. 已经使用的表空间大小
SQL> select tablespace_name,sum(bytes)/1024/1024 from dba_free_space
2 group by tablespace_name;

3. 所以使用空间可以这样计算

select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;

4. 下面这条语句查看所有segment的大小。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name

5. 还有在命令行情况下如何将结果放到一个文件里。
SQL> spool out.txt
SQL> select * from v$database;
SQL> spool off

select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;

  • 15280303611: oralce数据库我想知道某个表空间分配的最大值该怎么查询
    季侍:1.查询oracle表空间的使用情况 select b.file_id文件ID,b.tablespace_name表空间,b.file_name 物理文件名,b.bytes 总字节数,(b.bytes-sum(nvl(a.bytes,0))) 已使用,sum(nvl(a.bytes,0))剩余,sum(nvl(a.bytes,0))\/(b.bytes)*100 剩余百分比 from dba_free_space a,dba_data_files...
  • 15280303611: 怎么察看Oracle 数据库表空间的使用情况
    季侍:查看的方法和详细的操作步骤如下:1、首先,因为oracle在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步。2、其次,完成上述步骤后,连接成功,进入Oracle控制台。 输入命令“sqlplus \/ as sysdba”,如下图所示,然后进入下一步。3、接着,完成上述步骤后,在sql命令行上,...
  • 15280303611: oracle 怎么查指定用户(例如scott)用到的表空间
    季侍:1、首先我们开启Oracle管理工具,找到Tablespaces。2、首先要看的是表空间的总大小和使用状况以及当前状态。3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。4、Objects 就如第三步中所提到的使用这个表空间的表明细。5、Script 是创建表空间的PL\/SQL,我们可以去了解它的...
  • 15280303611: 如何使用SQL语句查询数据库及表的空间容量
    季侍: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 b.file_id 文件ID号,b....
  • 15280303611: 怎么查询oracle表空间总大小
    季侍:怎么查询oracle表空间总大小 查看所有表空间使用情况 :select b.file_id 文件ID号,b.tablespace_name 表空间名,b.bytes\/1024\/1024||'M'字节数,(b.bytes-sum(nvl(a.bytes,0)))\/1024\/1024||'M' 已使用,sum(nvl(a.bytes,0))\/1024\/1024||'M' 剩余空间,100 - sum(nvl(a.bytes,0))\/(...
  • 15280303611: 怎么查看oracle表空间,剩余大小,表空间利用
    季侍:1、因为oracle运行在Linux系统下,首先,要连接Linux系统。2、连上后,进行oracle控制台。输入命令: sqlplus \/ as sysdba;3、在sql命令行,输入:SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_...
  • 15280303611: 如何在Oracle中查看各个表,表空间占用空间的大小
    季侍:Oracle版本:Oracle 10g 一、查看表占用空间大小语句:select t.segment_name, t.segment_type, sum(t.bytes \/ 1024 \/ 1024) "占用空间(M)"from dba_segments twhere t.segment_type='TABLE'group by OWNER, t.segment_name, t.segment_type;查询结果:二、查看表空间占用空间大小语句:select ...
  • 15280303611: 如何查看oracle表空间已使用大小
    季侍:查询剩余大小更简单一些,dba_free_space就可以了。如果非要查使用的大小,那么只能去查基础表sys.sm$ts_used,这张表内的bytes字段就是使用的大小。当然,你用总大小减去剩余大小或者表空间内所有segments相加,也能得到使用大小。
  • 15280303611: 如何查看oracle表空间已使用大小
    季侍:1. 查看所有表空间大小 SQL> select tablespace_name,sum(bytes)\/1024\/1024 from dba_data_files 2 group by tablespace_name;2. 已经使用的表空间大小 SQL> select tablespace_name,sum(bytes)\/1024\/1024 from dba_free_space 2 group by tablespace_name;3. 所以使用空间可以这样计算 select ...
  • 15280303611: oracle查看索引表空间的使用情况
    季侍:这个问题根据断句的不同有两种可能:(1)索引 ——表空间的使用情况,我知道数据库本身没有索引表空间,但是如果我自己建立了一个表空间,通俗名称叫做索引表空间呢?所以有索引表空间还是有可能的,只是可能性不大。基本上查询dba_free_space就能查到表空间的剩余量,如果非要查询用了百分之多少之类的...

  • 相关链接

  • 安卓手机使用记录查看
  • 全国宾馆入住查询网站
  • 用自己的手机查老公的位置
  • 定位老公位置不被发现
  • 经验分享为自博友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
    有问题请发邮件给我们
    © 经验分享网