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

 更新时间:2013年03月06日 15:24:54   作者:  
表空间使用情况包括:查看表空间的名称及大小/查看表空间物理文件的名称及大小/查看回滚段名称及大小等等感兴趣的你可以参考下本文
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,
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;

SQL2:
复制代码 代码如下:

--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

相关文章

  • oracle查询截至到当前日期月份所在年份的所有月份

    oracle查询截至到当前日期月份所在年份的所有月份

    这篇文章主要介绍了oracle查询截至到当前日期月份所在年份的所有月份,本文通过代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • ORACLE 分区表的设计

    ORACLE 分区表的设计

    分区致力于解决支持极大表和索引的关键问题。它采用他们分解成较小和易于管理的称为分区的片(piece)的方法。
    2009-08-08
  • Oracle存储过程基本语法介绍

    Oracle存储过程基本语法介绍

    Oracle存储过程基本语法介绍,有需求的朋友可以参考下
    2012-11-11
  • Oracle数据创建虚拟列和复合触发器的方法

    Oracle数据创建虚拟列和复合触发器的方法

    Oracle的虚拟列解决了很多需要使用触发器或者需要通过代码进行计算统计产生数据信息的问题,而复合触发器实际上是作为一个整体定义的四个不同的触发器来执行操作,需要了解的朋友可以参考下
    2015-08-08
  • 解决Oracle字符串中包含数字、特殊符号的排序问题

    解决Oracle字符串中包含数字、特殊符号的排序问题

    最近做项目遇到这样的需求,要求实现某小区需要按照小区、楼栋、单元号、房间号进行排序。看似很简单的一个需求,一条sql语句搞定,其实套路很深,下面小编给大家分享下Oracle字符串中包含数字、特殊符号的排序问题
    2017-11-11
  • Oracle数据库并行查询出错的解决方法

    Oracle数据库并行查询出错的解决方法

    这篇文章主要介绍了Oracle数据库并行查询出错的解决方法,需要的朋友可以参考下
    2014-07-07
  • Oracle视图的创建、使用以及删除操作方法大全

    Oracle视图的创建、使用以及删除操作方法大全

    这篇文章主要给大家介绍了关于Oracle视图的创建、使用以及删除操作方法的相关资料,视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改,需要的朋友可以参考下
    2023-12-12
  • 解决Oracle ORA-01017:invalid username/password:logon denied的问题

    解决Oracle ORA-01017:invalid username/password:logon

    这篇文章主要介绍了解决Oracle ORA-01017:invalid username/password:logon denied的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Oracle 数据库优化实战心得总结

    Oracle 数据库优化实战心得总结

    优化sql语句、优化io、表设计优化、充分利用系统cpu资源、优化数据库连接、充分利用数据的后台处理方案减少网络流量,实施系统资源管理分配计划等等,感兴趣的朋友可以参考下哈
    2013-06-06
  • Oracle 10g利用amdu抽取数据文件的方法教程

    Oracle 10g利用amdu抽取数据文件的方法教程

    这篇文章主要给大家介绍了关于Oracle 10g利用amdu抽取数据文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12

最新评论