美文网首页
Oracle 查询表空间状态

Oracle 查询表空间状态

作者: oldlie | 来源:发表于2016-11-24 16:04 被阅读59次

查询表空间状态


SELECT     /*+ first_rows */
      d  .tablespace_name,
         ROUND (NVL (a.bytes/1024/1024, 0)) AS "total(mb)",
         ROUND (DECODE (d.contents,
                    'UNDO', NVL (u.bytes/a.bytes * 100, 0),
                    NVL ( (a.bytes - NVL (f.bytes, 0))/a.bytes * 100, 0)))
            AS "used_rate",
         a.autoext AS "auto_extend",
         d.status "status",
         a.COUNT AS "files",
         d.contents AS "type",
         d.extent_management AS "extent_mgr",
         d.segment_space_management AS "segment_mgr"         /*, d.encrypted*/
  FROM   sys.dba_tablespaces d,
         (  SELECT   tablespace_name,
                     SUM (bytes) bytes,
                     COUNT (file_id) COUNT,
                     DECODE (SUM (DECODE (autoextensible, 'NO', 0, 1)),
                             0, 'NO',
                             'YES')
                        autoext
              FROM   dba_data_files
          GROUP BY   tablespace_name) a,
         (  SELECT   tablespace_name, SUM (bytes) bytes
              FROM   dba_free_space
          GROUP BY   tablespace_name) f,
         (  SELECT   tablespace_name, SUM (bytes) bytes
              FROM   (  SELECT   tablespace_name, SUM (bytes) bytes, status
                          FROM   dba_undo_extents
                         WHERE   status = 'ACTIVE'
                      GROUP BY   tablespace_name, status
                      UNION ALL
                        SELECT   tablespace_name, SUM (bytes) bytes, status
                          FROM   dba_undo_extents
                         WHERE   status = 'UNEXPIRED'
                      GROUP BY   tablespace_name, status)
          GROUP BY   tablespace_name) u
 WHERE       d.tablespace_name = a.tablespace_name(+)
         AND d.tablespace_name = f.tablespace_name(+)
         AND d.tablespace_name = u.tablespace_name(+)
         AND NOT (d.extent_management = 'LOCAL' AND d.contents = 'TEMPORARY')
UNION ALL
SELECT   d.tablespace_name,
         NVL (a.bytes/1024/1024, 0),
         ROUND (NVL (t.bytes/a.bytes * 100, 0)),
         a.autoext,
         d.status,
         a.COUNT,
         d.contents,
         d.extent_management,
         d.segment_space_management                          /*, d.encrypted*/
  FROM   sys.dba_tablespaces d,
         (  SELECT   tablespace_name,
                     SUM (bytes) bytes,
                     COUNT (file_id) COUNT,
                     DECODE (SUM (DECODE (autoextensible, 'NO', 0, 1)),
                             0, 'NO',
                             'YES')
                        autoext
              FROM   dba_temp_files
          GROUP BY   tablespace_name) a,
         (  SELECT   ss.tablespace_name,
                     SUM ( (ss.used_blocks * ts.blocksize)) bytes
              FROM   gv$sort_segment ss, sys.ts$ ts
             WHERE   ss.tablespace_name = ts.name
          GROUP BY   ss.tablespace_name) t
 WHERE       d.tablespace_name = a.tablespace_name(+)
         AND d.tablespace_name = t.tablespace_name(+)
         AND d.extent_management = 'LOCAL'
         AND d.contents = 'TEMPORARY'

添加表空间


select * from dba_data_files d where d.tablespace_name='PIAS_ASSIGNEE_DATA'
alter tablespace "PIAS_ASSIGNEE_DATA" add datafile '/home/oracle/oradata/hostmet/PIAS_ASSIGNEE_DATA002.dbf' size 2000M autoextend on next 10M;

表空间物理位置信息


select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name order by tablespace_name asc;
select tablespace_name,file_name from dba_data_files;
select * from dba_tablespaces

相关文章

  • Oracle中查询tablespace下所有表名

    Oracle中查询表空间下所有表名 Oracle中查询表的comments Oracle中查询表中字段的comments

  • Oracle 查询表空间状态

    查询表空间状态 添加表空间 表空间物理位置信息

  • Oracle基础总结

    Oracle开发基础重点 Oracle一般操作 表空间 用户 表 表数据 Oracle 查询操作 单表查询 多表查...

  • oracle 常用指令

    oracle常用指令 表空间查询 查询表空间中对象的详细信息 重建索引 创建表空间 查询表文件是否自动扩展 优化表...

  • 表空间文件数告警处理

    参考文献 查询Oracle表空间使用情况 一、 告警原因 oracle内部用10位数据记录单个表空间下文件个数,因...

  • oracle临时表空间相关知识介绍 ORA-01652 错误的原

    临时表空间作用 Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中...

  • ORACLE表空间信息查询

    --查看表空间的使用率 准确的查询表空间使用率:select a.tablespace_name,a.maxbyt...

  • 临时表空间作用

    Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。...

  • oracle基本操作

    oracle基础部分:基本使用;用户管理;表管理 oracle高级部分:oracle表的查询;oracle的权限、...

  • 日常笔记

    1、oracle 查询某张表的信息(如列名、空间名等)select * from user_tab_columns...

网友评论

      本文标题:Oracle 查询表空间状态

      本文链接:https://www.haomeiwen.com/subject/ixgbpttx.html