ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÁгöoracleÿСʱµÄredoÖØ×öÈÕÖ¾²úÉúÁ¿
2014-11-24 02:01:57 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:274´Î
Tags£ºÁгö oracle Сʱ redo ÈÕÖ¾ ²úÉú

WITH times AS
(SELECT /*+ MATERIALIZE */
hour_end_time
FROM (SELECT (TRUNC(SYSDATE, ¡®HH¡¯) + (2 / 24)) ¨C (ROWNUM / 24) hour_end_time
FROM DUAL
CONNECT BY ROWNUM <= (1 * 24) + 3),
v$database
WHERE log_mode = ¡®ARCHIVELOG¡¯)
SELECT hour_end_time, NVL(ROUND(SUM(size_mb), 3), 0) size_mb, i.instance_name
FROM(
SELECT hour_end_time, CASE WHEN(hour_end_time ¨C (1 / 24)) > lag_next_time THEN(next_time + (1 / 24) ¨C hour_end_time) * (size_mb / (next_time ¨C lag_next_time)) ELSE 0 END + CASE WHEN hour_end_time < lead_next_time THEN(hour_end_time ¨C next_time) * (lead_size_mb / (lead_next_time ¨C next_time)) ELSE 0 END + CASE WHEN lag_next_time > (hour_end_time ¨C (1 / 24)) THEN size_mb ELSE 0 END + CASE WHEN next_time IS NULL THEN(1 / 24) * LAST_VALUE(CASE WHEN next_time IS NOT NULL AND lag_next_time IS NULL THEN 0 ELSE(size_mb / (next_time ¨C lag_next_time)) END IGNORE NULLS) OVER(
ORDER BY hour_end_time DESC, next_time DESC) ELSE 0 END size_mb
FROM(
SELECT t.hour_end_time, arc.next_time, arc.lag_next_time, LEAD(arc.next_time) OVER(
ORDER BY arc.next_time ASC) lead_next_time, arc.size_mb, LEAD(arc.size_mb) OVER(
ORDER BY arc.next_time ASC) lead_size_mb
FROM times t,(
SELECT next_time, size_mb, LAG(next_time) OVER(
ORDER BY next_time) lag_next_time
FROM(
SELECT next_time, SUM(size_mb) size_mb
FROM(
SELECT DISTINCT a.sequence#, a.next_time, ROUND(a.blocks * a.block_size / 1024 / 1024) size_mb
FROM v$archived_log a,(
SELECT /*+ no_merge */
CASE WHEN TO_NUMBER(pt.VALUE) = 0 THEN 1 ELSE TO_NUMBER(pt.VALUE) END VALUE
FROM v$parameter pt
WHERE pt.name = ¡®thread¡¯) pt
WHERE a.next_time > SYSDATE ¨C 3 AND a.thread# = pt.VALUE AND ROUND(a.blocks * a.block_size / 1024 / 1024) > 0)
GROUP BY next_time)) arc
WHERE t.hour_end_time = (TRUNC(arc.next_time(+), ¡®HH¡¯) + (1 / 24)))
WHERE hour_end_time > TRUNC(SYSDATE, ¡®HH¡¯) ¨C 1 ¨C (1 / 24)), v$instance i
WHERE hour_end_time <= TRUNC(SYSDATE, ¡®HH¡¯)
GROUP BY hour_end_time, i.instance_name
ORDER BY hour_end_time


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÐÂÀËÍø¼¼Êõ²¿±ÊÊÔÌâ ÏÂһƪ£ºÈí¼þ²âÊÔÃæÊÔÎÊ´ðÌ⼯ºÏ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿