Oracle 11g统计表空间使用率很慢

现场统计表空间很慢。

SELECT T1.TABLESPACE_NAME,

TOTAL_SPACE,

TOTAL_SPACE - FREE_SPACE USED_SPACE,

FREE_SPACE

FROM (SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024/ 1024 TOTAL_SPACE

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) T1,

(SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024/ 1024 FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) T2

WHERE T1.TABLESPACE_NAME = T2.TABLESPACE_NAME;

主要是这条SQL慢,花了五分半钟,看是和垃圾回收站相关的表。

SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024/ 1024 FREE_SPACE

FROM DBA_FREE_SPACE          GROUP BY TABLESPACE_NAME

--------------------------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation                       | Name             | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |  OMem |  1Mem | Used-Mem |

--------------------------------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                |                  |      1 |        |     12 |00:05:29.43 |     561K|    102K|       |       |          |

|   1 |  HASH GROUP BY                  |                  |      1 |      7 |     12 |00:05:29.43 |     561K|    102K|  3532K|  1450K| 1099K (0)|

|   2 |   VIEW                          | DBA_FREE_SPACE   |      1 |  13208 |  35897 |00:05:29.42 |     561K|    102K|       |       |          |

|   3 |    UNION-ALL                    |                  |      1 |        |  35897 |00:05:29.41 |     561K|    102K|       |       |          |

|   4 |     NESTED LOOPS                |                  |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|   5 |      NESTED LOOPS               |                  |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|   6 |       TABLE ACCESS CLUSTER      | FET$             |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|   7 |        INDEX FULL SCAN          | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |      0 |       |       |          |

|*  8 |       TABLE ACCESS CLUSTER      | TS$              |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|*  9 |        INDEX UNIQUE SCAN        | I_TS#            |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|* 10 |      INDEX UNIQUE SCAN          | I_FILE2          |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|  11 |     NESTED LOOPS                |                  |      1 |  13126 |  13608 |00:00:00.18 |    1864 |      0 |       |       |          |

|  12 |      NESTED LOOPS               |                  |      1 |  13126 |  13608 |00:00:00.16 |    1860 |      0 |       |       |          |

|* 13 |       TABLE ACCESS CLUSTER      | TS$              |      1 |     12 |     12 |00:00:00.01 |      19 |      0 |       |       |          |

|  14 |        INDEX FULL SCAN          | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |      0 |       |       |          |

|* 15 |       FIXED TABLE FIXED INDEX   | X$KTFBFE (ind:1) |     12 |   1059 |  13608 |00:00:00.15 |    1841 |      0 |       |       |          |

|* 16 |      INDEX UNIQUE SCAN          | I_FILE2          |  13608 |      1 |  13608 |00:00:00.01 |       4 |      0 |       |       |          |

|* 17 |     HASH JOIN                   |                  |      1 |     80 |  22289 |00:05:29.22 |     559K|    102K|  2461K|  2461K| 2209K (0)|

|  18 |      NESTED LOOPS               |                  |      1 |     84 |  22289 |00:05:29.20 |     559K|    102K|       |       |          |

|* 19 |       HASH JOIN                 |                  |      1 |   5807 |  22289 |00:05:29.14 |     559K|    102K|  1557K|  1557K| 1673K (0)|

|  20 |        TABLE ACCESS FULL        | RECYCLEBIN$      |      1 |   5807 |   5807 |00:00:00.01 |     529 |      0 |       |       |          |

|  21 |        FIXED TABLE FULL         | X$KTFBUE         |      1 |    100K|    990K|00:05:28.61 |     558K|    102K|       |       |          |

|* 22 |       INDEX UNIQUE SCAN         | I_FILE2          |  22289 |      1 |  22289 |00:00:00.04 |       4 |      0 |       |       |          |

|* 23 |      TABLE ACCESS CLUSTER       | TS$              |      1 |     12 |     12 |00:00:00.01 |      19 |      0 |       |       |          |

|  24 |       INDEX FULL SCAN           | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |      0 |       |       |          |

|  25 |     NESTED LOOPS                |                  |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|  26 |      NESTED LOOPS               |                  |      1 |    968 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|  27 |       NESTED LOOPS              |                  |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|  28 |        NESTED LOOPS             |                  |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|* 29 |         TABLE ACCESS CLUSTER    | TS$              |      1 |      1 |      0 |00:00:00.01 |      19 |      0 |       |       |          |

|  30 |          INDEX FULL SCAN        | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |      0 |       |       |          |

|  31 |         TABLE ACCESS CLUSTER    | UET$             |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|* 32 |          INDEX RANGE SCAN       | I_FILE#_BLOCK#   |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|* 33 |        INDEX UNIQUE SCAN        | I_FILE2          |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|* 34 |       INDEX RANGE SCAN          | RECYCLEBIN$_TS   |      0 |    968 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

|* 35 |      TABLE ACCESS BY INDEX ROWID| RECYCLEBIN$      |      0 |      2 |      0 |00:00:00.01 |       0 |      0 |       |       |          |

--------------------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

8 - filter("TS"."BITMAPPED"=0)

9 - access("TS"."TS#"="F"."TS#")

10 - access("F"."TS#"="FI"."TS#" AND "F"."FILE#"="FI"."RELFILE#")

13 - filter((INTERNAL_FUNCTION("TS"."ONLINE$") AND "TS"."CONTENTS$"=0 AND "TS"."BITMAPPED"<>0))

15 - filter("TS"."TS#"="F"."KTFBFETSN")

16 - access("F"."KTFBFETSN"="FI"."TS#" AND "F"."KTFBFEFNO"="FI"."RELFILE#")

17 - access("TS"."TS#"="RB"."TS#")

19 - access("U"."KTFBUESEGTSN"="RB"."TS#" AND "U"."KTFBUESEGFNO"="RB"."FILE#" AND "U"."KTFBUESEGBNO"="RB"."BLOCK#")

22 - access("RB"."TS#"="FI"."TS#" AND "U"."KTFBUEFNO"="FI"."RELFILE#")

23 - filter((INTERNAL_FUNCTION("TS"."ONLINE$") AND "TS"."CONTENTS$"=0 AND "TS"."BITMAPPED"<>0))

29 - filter("TS"."BITMAPPED"=0)

32 - access("TS"."TS#"="U"."TS#")

33 - access("U"."TS#"="FI"."TS#" AND "U"."SEGFILE#"="FI"."RELFILE#")

34 - access("U"."TS#"="RB"."TS#")

35 - filter(("U"."SEGFILE#"="RB"."FILE#" AND "U"."SEGBLOCK#"="RB"."BLOCK#"))

SQL>  purge dba_recyclebin;

SQL>  SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024/ 1024 FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME;

SQL>  select * from table(dbms_xplan.display_cursor(null,null,‘allstats last‘));

PLAN_TABLE_OUTPUT

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SQL_ID  81s4p9cv3060h, child number 0

-------------------------------------

SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024/ 1024 FREE_SPACE

FROM DBA_FREE_SPACE          GROUP BY TABLESPACE_NAME

-----------------------------------------------------------------------------------------------------------------------------------------

| Id  | Operation                       | Name             | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |

-----------------------------------------------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT                |                  |      1 |        |     12 |00:00:00.18 |    2431 |       |       |          |

|   1 |  HASH GROUP BY                  |                  |      1 |      7 |     12 |00:00:00.18 |    2431 |  1903K|  1450K| 1103K (0)|

|   2 |   VIEW                          | DBA_FREE_SPACE   |      1 |  13208 |  13971 |00:00:00.18 |    2431 |       |       |          |

|   3 |    UNION-ALL                    |                  |      1 |        |  13971 |00:00:00.18 |    2431 |       |       |          |

|   4 |     NESTED LOOPS                |                  |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|   5 |      NESTED LOOPS               |                  |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|   6 |       TABLE ACCESS CLUSTER      | FET$             |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|   7 |        INDEX FULL SCAN          | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |       |       |          |

|*  8 |       TABLE ACCESS CLUSTER      | TS$              |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|*  9 |        INDEX UNIQUE SCAN        | I_TS#            |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|* 10 |      INDEX UNIQUE SCAN          | I_FILE2          |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|  11 |     NESTED LOOPS                |                  |      1 |  13126 |  13971 |00:00:00.17 |    1864 |       |       |          |

|  12 |      NESTED LOOPS               |                  |      1 |  13126 |  13971 |00:00:00.15 |    1860 |       |       |          |

|* 13 |       TABLE ACCESS CLUSTER      | TS$              |      1 |     12 |     12 |00:00:00.01 |      19 |       |       |          |

|  14 |        INDEX FULL SCAN          | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |       |       |          |

|* 15 |       FIXED TABLE FIXED INDEX   | X$KTFBFE (ind:1) |     12 |   1059 |  13971 |00:00:00.15 |    1841 |       |       |          |

|* 16 |      INDEX UNIQUE SCAN          | I_FILE2          |  13971 |      1 |  13971 |00:00:00.01 |       4 |       |       |          |

|* 17 |     HASH JOIN                   |                  |      1 |     80 |      0 |00:00:00.01 |     529 |  1969K|  1969K|  360K (0)|

|  18 |      NESTED LOOPS               |                  |      1 |     84 |      0 |00:00:00.01 |     529 |       |       |          |

|* 19 |       HASH JOIN                 |                  |      1 |   5807 |      0 |00:00:00.01 |     529 |  1557K|  1557K|  496K (0)|

|  20 |        TABLE ACCESS FULL        | RECYCLEBIN$      |      1 |   5807 |      0 |00:00:00.01 |     529 |       |       |          |

|  21 |        FIXED TABLE FULL         | X$KTFBUE         |      0 |    100K|      0 |00:00:00.01 |       0 |       |       |          |

|* 22 |       INDEX UNIQUE SCAN         | I_FILE2          |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|* 23 |      TABLE ACCESS CLUSTER       | TS$              |      0 |     12 |      0 |00:00:00.01 |       0 |       |       |          |

|  24 |       INDEX FULL SCAN           | I_TS#            |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|  25 |     NESTED LOOPS                |                  |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|  26 |      NESTED LOOPS               |                  |      1 |    968 |      0 |00:00:00.01 |      19 |       |       |          |

|  27 |       NESTED LOOPS              |                  |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|  28 |        NESTED LOOPS             |                  |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|* 29 |         TABLE ACCESS CLUSTER    | TS$              |      1 |      1 |      0 |00:00:00.01 |      19 |       |       |          |

|  30 |          INDEX FULL SCAN        | I_TS#            |      1 |      1 |     18 |00:00:00.01 |       1 |       |       |          |

|  31 |         TABLE ACCESS CLUSTER    | UET$             |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|* 32 |          INDEX RANGE SCAN       | I_FILE#_BLOCK#   |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|* 33 |        INDEX UNIQUE SCAN        | I_FILE2          |      0 |      1 |      0 |00:00:00.01 |       0 |       |       |          |

|* 34 |       INDEX RANGE SCAN          | RECYCLEBIN$_TS   |      0 |    968 |      0 |00:00:00.01 |       0 |       |       |          |

|* 35 |      TABLE ACCESS BY INDEX ROWID| RECYCLEBIN$      |      0 |      2 |      0 |00:00:00.01 |       0 |       |       |          |

-----------------------------------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

8 - filter("TS"."BITMAPPED"=0)

9 - access("TS"."TS#"="F"."TS#")

10 - access("F"."TS#"="FI"."TS#" AND "F"."FILE#"="FI"."RELFILE#")

13 - filter((INTERNAL_FUNCTION("TS"."ONLINE$") AND "TS"."CONTENTS$"=0 AND "TS"."BITMAPPED"<>0))

15 - filter("TS"."TS#"="F"."KTFBFETSN")

16 - access("F"."KTFBFETSN"="FI"."TS#" AND "F"."KTFBFEFNO"="FI"."RELFILE#")

17 - access("TS"."TS#"="RB"."TS#")

19 - access("U"."KTFBUESEGTSN"="RB"."TS#" AND "U"."KTFBUESEGFNO"="RB"."FILE#" AND "U"."KTFBUESEGBNO"="RB"."BLOCK#")

22 - access("RB"."TS#"="FI"."TS#" AND "U"."KTFBUEFNO"="FI"."RELFILE#")

23 - filter((INTERNAL_FUNCTION("TS"."ONLINE$") AND "TS"."CONTENTS$"=0 AND "TS"."BITMAPPED"<>0))

29 - filter("TS"."BITMAPPED"=0)

32 - access("TS"."TS#"="U"."TS#")

33 - access("U"."TS#"="FI"."TS#" AND "U"."SEGFILE#"="FI"."RELFILE#")

34 - access("U"."TS#"="RB"."TS#")

35 - filter(("U"."SEGFILE#"="RB"."FILE#" AND "U"."SEGBLOCK#"="RB"."BLOCK#"))

时间: 2024-11-13 06:40:08

Oracle 11g统计表空间使用率很慢的相关文章

oracle 11G direct path read 很美也很伤人

direct path read 在11g中,全表扫描可能使用direct path read方式,绕过buffer cache,这样的全表扫描就是物理读了. 在10g中,都是通过gc buffer来读的,所以不存在direct path read的问题. direct path read较高的可能原因有: 1. 大量的磁盘排序操作,order by, group by, union, distinct, rollup, 无法在PGA中完成排序,需要利用temp表空间进行排序. 当从临时表空间中

oracle 查看表空间使用率

2015-11-10 查看表空间总容量 select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name; 查看表空间使用率 SELECT a.tablespace_name,total,free, (total-free),total/(1024*1024*1024),free/(1024*1024*1024) "free(G)",(total-fre

Oracle数据库表空间使用率查询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

Oracle查看表空间使用率

SELECT DBF.TABLESPACE_NAME, DBF.TOTALSPACE "总量(M)", DBF.TOTALBLOCKS AS 总块数, DBF.TOTALSPACE-DFS.FREESPACE "使用量(M)", DBF.TOTALBLOCKS-DFS.FREEBLOCKS AS 使用块数, DFS.FREESPACE "剩余总量(M)", DFS.FREEBLOCKS "剩余块数", (DFS.FREESPA

Oracle 11g常用管理命令(用户、表空间、权限)

PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle用户进入: su - oracle 进入sqlplus环境,nolog参数表示不登录: sqlplus /nolog 以管理员模式登录: sqlplus / as sysdba 启动数据库 startup; 停止数据库 shutdown immediate 远程连接数据库 sqlplus /nolo

Oracle 11g 学习3——表空间操作

一.表空间概述 表空间是Oracle中最大的逻辑存储结构,与操作系统中的数据文件相对应: 基本表空间:一般指用户使用的永久性表空间,用于存储用户的永久性数据 临时表空间: 主要用于存储排序或汇总过程中产生的临时数据: 大文件表空间:用于存储大型数据(例如LOB) 非标准数据块表空间:用于在一个数据库实例中创建数据块大小不同的表空间: 撤销表空间:用于存储事务的撤销数据,在数据恢复时使用. 二.创建表空间 语法: CREATE [ TEMPORARY | UNDO ] TABLESPACE tab

Oracle 11gR2 Database UNDO表空间使用率居高不下-转载

客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的UNDO表空间已经手动扩展到了25GB,且一直在增加,为了UNDO表空间能及时的被释放,UNDO表空间对应的所有数据文件自动扩展都被关闭.查询DBA_UNDO_EXTENTS发现在UNDO表空间中当前没有ACTIVE的EXTENT存在,UNEXPIRED的占到总空间的60%,有30%是EXPIRED

Oracle表空间使用率过大问题处理方法

一. 查看Oracle数据库内表空间使用情况 SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total/(1024*1024*1024) "表空间大小(G)", free/(1024*1024*1024) "表空间剩余大小(G)", (total - fr

【Oracle 常用查询】oracle表空间使用率统计查询

参考1 --查询表空间使用情况 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') || '