首页 > 数据库 >oracle 表空间

oracle 表空间

时间:2024-09-27 18:14:47浏览次数:7  
标签:1024 name bytes 空间 tablespace oracle segment SELECT

    复制代码

SELECT a.tablespace_name "表空间名",
       total "表空间大小",
       free "表空间剩余大小",
       (total - free) "表占用空间大小",
       ROUND((total - free) / total * 100, 2) || '%' "已使用空间百分比"
  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
 ORDER BY (total - free) DESC;
复制代码

二、Oracle查询表占用的空间

SELECT segment_name "表名",
       segment_type "对象类型",
       sum(bytes) / 1024 / 1024 "占用空间(MB)"
  FROM dba_extents
 WHERE segment_name = '表名'
 GROUP BY segment_name, segment_type;

 

三、Oracle查询表空间使用情况

SELECT tablespace_name,
       file_id,
       bytes,
       blocks,
       maxbytes
  FROM dba_data_files;

 

四、Oracle查询每张表占用空间

复制代码
SELECT owner,
       segment_name,
       segment_type,
       sum(bytes) / 1024 / 1024 "占用空间(MB)"
  FROM dba_segments
 WHERE owner = '表所有者'
 GROUP BY owner, segment_name, segment_type;
复制代码

 

五、Oracle表空间大小查询

SELECT tablespace_name,
       SUM(bytes) / 1024 / 1024 "占用空间(MB)"
  FROM dba_segments
 WHERE segment_type IN ('TABLE', 'INDEX')
 GROUP BY tablespace_name;

 

六、Oracle查表空间大小

SELECT tablespace_name,
       SUM(bytes) / 1024 / 1024 "占用空间(MB)"
  FROM dba_segments
 WHERE tablespace_name = '表空间名'
 GROUP BY tablespace_name;

 

七、Oracle查询表空间大小

SELECT tablespace_name,
       sum(bytes) / 1024 / 1024 "占用空间(MB)"
  FROM dba_data_files
 GROUP BY tablespace_name;

 

八、查看Oracle各个表占空间

复制代码
SELECT owner,
       segment_name,
       segment_type,
       format_number(bytes / (1024 * 1024), 2) "已用空间(MB)",
       format_number(maxbytes / (1024 * 1024), 2) "最大空间(MB)"
  FROM dba_segments
 WHERE owner = '表所有者'
 ORDER BY bytes DESC;
复制代码

 

select TABLE_NAME,
    COLUMN_NAME,
    SEGMENT_NAME 
 from dba_lobs 
-- 对应的上面语句查到的segment_name名称,如SYS_LOB0000152921C00008$$
 where SEGMENT_NAME='segment_name名称';

 

九、Oracle查看表空间大小

复制代码
SELECT tablespace_name,
       sum(blocks) * 8192 / 1024 / 1024 "表空间大小(MB)",
       sum(blocks) * 8192 / 1024 / 1024 - sum(bytes) / 1024 / 1024 "剩余空间(MB)",
       sum(bytes) / 1024 / 1024 "已用空间(MB)",
       sum(MAXBYTES) / 1024 / 1024 "最大空间(MB)"
  FROM (SELECT tablespace_name,
               file_id,
               MAX(blocks) MAXBLOCKS,
               SUM(blocks) blocks
          FROM dba_extents
         GROUP BY tablespace_name, file_id),
       (SELECT tablespace_name, file_id, SUM(bytes) bytes
          FROM dba_free_space
         GROUP BY tablespace_name, file_id)
 WHERE tablespace_name NOT LIKE 'UNDO%'
   AND tablespace_name NOT LIKE 'TEMP%'
   AND tablespace_name NOT LIKE 'SYSAUX%'
   AND tablespace_name NOT LIKE 'SYSTEM%'
   AND tablespace_name NOT LIKE 'RMAN%'
   AND tablespace_name NOT LIKE 'FLASH%'
 GROUP BY tablespace_name; 
复制代码   转 :  https://www.cnblogs.com/nicey-k/p/17841999.html

标签:1024,name,bytes,空间,tablespace,oracle,segment,SELECT
From: https://www.cnblogs.com/redarmy/p/18436315

相关文章

  • QQ空间协议重要参数获取login_sig、ptqrtoken、g_tk、p等
    QQ空间协议login_sig、ptqrtoken、p、g_tk、E.salt参数逆向获取QQ空间协议所有需要加密算法的重要参数汇总除了这些参数,其他所有参数都可在相关请求包的响应中找到,只要有这几个参数便可以玩转QQ空间协议本专栏包含QQ空间协议登录、点赞、发|删说说、留言等login_sig、ptqr......
  • Linux服务器磁盘空间占用情况分析与清理指南
    为确保重大节日期间,团队负责的测试环境服务器磁盘不会占用过高,导致频繁报警。我们要求在重大节假日前对服务器磁盘占用情况进行检查。如果发现占用过高,则需人为介入,进行相应清理。一、检查要求查看各分区占用情况,如果达到以下任一条件,则需要人为介入判断或处理:(1)磁盘使用......
  • oracle数据库内存分配方案
    查询当前参数设置SQL>showparametersgaSQL>showparameterpgaSQL>showparametermemory参数说明sga_target期望的sga大小sga_max_size最大sga大小pga_aggregate_target期望的pga大小pga_aggregate_limit最大pga大小设置原则sga_target不能大于sga_max_si......
  • Oracle:重复数据去重,只取最新的一条数据
    前言最近开发的时候遇到一个任务,需要对重复的数据进行筛选,只取插入时间最早的一条数据。这里介绍一下解决这类去重问题的几种思路先看样例数据解决思路一先groupby找到每个人最新的数据插入时间(insert_time),再通过insert_time作为条件表关联的条件筛选出每个人最新的数据1.......
  • PARTV-Oracle实例架构-进程架构
    15.进程架构15.1.进程简介进程是操作系统中可以运行一系列步骤的机制。这个机制取决于操作系统。例如,在Linux上,Oracle后台进程是一个Linux进程。在Windows上,Oracle后台进程是进程内的执行线程。代码模块由进程运行。所有连接到Oracle数据库的用户都必须运行以下模块......
  • Oracle两表关联,只取B表的第一条记录
    1说明A表、B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序);首先想到了直接写个带排序的子查询去匹配外围的值,从这个结果集中只要第一条,但是经过验证发现,里边的条件是获取不到外层的值的,因此此方案不可行;发现row_number()over函数可用,以下......
  • oracle rac启停顺序
    一、rac关闭顺序1.停止em服务emctlstatusdbconsoleemctlstopdbconsole#两个节点操作2.停止数据库srvctlstopdatabase-dprod-oimmediate3.停监听srvctlstatuslistenersrvctlstoplistener#停所有监听srvctlstoplistener-n#rac1停某个监听......
  • oracle数据泵导出导入数据
    1.创建表空间createtablespacetbs_testdatafile'/yourpath/tbs_test01.dbf'size5gautoextendonnext1gmaxsizeunlimited;2.创建用户并授权createusertestidentifiedby123456defaulttablespace tbs_test temporarytablespacetempquotaunlimitedontes......
  • oracle rac开启归档
    1.创建归档目录su-gridasmcmdlsdgcdframkdirarch2.修改归档路径su-oraclesqlplus/assysdfbaaltersystemsetlog_archive_dest_1='location=+fra/arch'scope=spfilesid='prod1';altersystemsetlog_archive_dest_1='location=+fra......
  • PARTIV-Oracle数据库存储结构-内存架构
    14.内存架构14.1.Oracle是数据库内存结构简介当实例启动时,Oracle数据库会分配一个内存区域并启动后台进程。这个内存区域存储以下信息:程序代码每个已连接会话的信息,即使它当前未活跃程序执行期间需要的信息,例如,正在从中提取行的查询的当前状态锁数据等在进程间共享和通信......