经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
查看表空间的增长情况
来源:cnblogs  作者:ritchy  时间:2019/5/29 8:48:44  对本文有异议

--查询前一周表空间增长情况
SELECT C.TABLESPACE_NAME,
D."Total(MB)",
D."Used(MB)" - C."Used(MB)" AS "Increment(MB)",
TO_CHAR(NEXT_DAY(TRUNC(SYSDATE), 2) - 7, 'yyyy/mm/dd') || '--' ||
TO_CHAR(NEXT_DAY(TRUNC(SYSDATE), 2) - 7, 'yyyy/mm/dd') "TIME"
FROM (SELECT B.NAME TABLESPACE_NAME,
CASE
WHEN B.NAME NOT LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024)
WHEN B.NAME LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024 / 2)
END AS "Total(MB)",
ROUND(A.TABLESPACE_USEDSIZE * 8 / 1024) "Used(MB)",
A.RTIME
FROM DBA_HIST_TBSPC_SPACE_USAGE A, V$TABLESPACE B
WHERE A.TABLESPACE_ID = B.TS#
AND TO_CHAR(TO_DATE(REPLACE(RTIME, '/', NULL),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
TO_CHAR(NEXT_DAY(TRUNC(SYSDATE), 2) - 14, 'yyyymmdd hh24:mi')) C,
(SELECT B.NAME TABLESPACE_NAME,
CASE
WHEN B.NAME NOT LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024)
WHEN B.NAME LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024 / 2)
END AS "Total(MB)",
ROUND(A.TABLESPACE_USEDSIZE * 8 / 1024) "Used(MB)",
A.RTIME
FROM DBA_HIST_TBSPC_SPACE_USAGE A, V$TABLESPACE B
WHERE A.TABLESPACE_ID = B.TS#
AND TO_CHAR(TO_DATE(REPLACE(RTIME, '/', NULL),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
TO_CHAR(NEXT_DAY(TRUNC(SYSDATE), 2) - 7, 'yyyymmdd hh24:mi')) D
WHERE C.TABLESPACE_NAME = D.TABLESPACE_NAME;

--查询前一天表空间增长情况

SELECT C.TABLESPACE_NAME,
D."Total(MB)",
D."Used(MB)" - C."Used(MB)" AS "Increment(MB)",
TO_CHAR(TRUNC(SYSDATE - 1), 'yyyy/mm/dd') "TIME"
FROM (SELECT B.NAME TABLESPACE_NAME,
CASE
WHEN B.NAME NOT LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024)
WHEN B.NAME LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024 / 2)
END AS "Total(MB)",
ROUND(A.TABLESPACE_USEDSIZE * 8 / 1024) "Used(MB)",
A.RTIME
FROM DBA_HIST_TBSPC_SPACE_USAGE A, V$TABLESPACE B
WHERE A.TABLESPACE_ID = B.TS#
AND TO_CHAR(TO_DATE(REPLACE(RTIME, '/', NULL),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
TO_CHAR(TRUNC(SYSDATE - 1), 'yyyymmdd hh24:mi')) C,
(SELECT B.NAME TABLESPACE_NAME,
CASE
WHEN B.NAME NOT LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024)
WHEN B.NAME LIKE 'UNDO%' THEN
ROUND(A.TABLESPACE_SIZE * 8 / 1024 / 2)
END AS "Total(MB)",
ROUND(A.TABLESPACE_USEDSIZE * 8 / 1024) "Used(MB)",
A.RTIME
FROM DBA_HIST_TBSPC_SPACE_USAGE A, V$TABLESPACE B
WHERE A.TABLESPACE_ID = B.TS#
AND TO_CHAR(TO_DATE(REPLACE(RTIME, '/', NULL),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
TO_CHAR(TRUNC(SYSDATE), 'yyyymmdd hh24:mi')) D
WHERE C.TABLESPACE_NAME = D.TABLESPACE_NAME;
--在得知哪个表空间增长明显的情况下,再去查询该表空间的对象大小情况,TABLESPACE_NAME为某表空间名称
SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE, BYTES / 1024 / 1024 / 1024 GB
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME ='&TABLESPACE_NAME'
ORDER BY BYTES DESC;

SELECT *
FROM (SELECT OWNER,
SEGMENT_NAME,
SEGMENT_TYPE,
BYTES / 1024 / 1024 / 1024 GB
FROM DBA_SEGMENTS
WHERE TABLESPACE_NAME ='&TABLESPACE_NAME'
ORDER BY BYTES DESC)
WHERE ROWNUM < 30;
--如何确定某些对象容量增涨快,需要一定时间的跟踪,周期性查询该对象的容量。然后根据对象做相应后续处理。

原文链接:http://www.cnblogs.com/ritchy/p/10937902.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号