• 技术文章 >数据库 >Oracle

    oracle怎么查看表空间

    藏色散人藏色散人2023-01-04 15:36:53原创461

    oracle查看表空间的方法:1、通过“SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size...”命令查看表空间的名称及大小;2、通过“SELECT tablespace_name, file_id, file_name, round(...)...”命令查看表空间物理文件的名称及大小。

    本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

    oracle怎么查看表空间?

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

    推荐学习:《oracle视频教程

    以上就是oracle怎么查看表空间的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎么进行数据去重 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 归纳整理Oracle中常用函数• Oracle根据时间查询的一些常见情况汇总• 归纳整理Oracle创建用户与表空间知识点• oracle定时任务定时无效的原因分析与解决• oracle怎么进行数据去重
    1/1

    PHP中文网