🥒Monitor Log Switch each Hour of Day on Oracle with SQL*Plus

หากพูดถึง Log ของ Oracle Database ก็จะได้ยินอยู่ 2 คำ ก็คือ Redo Log และ Archive Log ซึ่ง Archive Log ก็เกิดจากข้อมูลที่อยู่ใน Redo Log เต็ม จากการ Commit Transaction จึงนำข้อมูลมาเขียนใน Archive Log นั่นเอง โดย Default จะมีไฟล์ Redo Log อยู่ 3 ไฟล์ด้วยกัน เพื่อสลับการทำงานกรณีไฟล์หนึ่งเต็มจะไปใช้อีกไฟล์แทน

Get Started

  • ทำการตรวจสอบ Redo Log Status

SQL>
select group#, status from v$log ;
    GROUP# STATUS
---------- ----------------
         1 INACTIVE
         2 CURRENT
         3 INACTIVE
  • ทำการ Monitor Log Switch ในแต่ละชั่วโมง

SQL>
set linesize 150 ;
SQL>
select
to_char(first_time,'YYYY-MON-DD') day,
to_char(sum(decode(to_char(first_time,'HH24'),'00',1,0)),'99') "00",
to_char(sum(decode(to_char(first_time,'HH24'),'01',1,0)),'99') "01",
to_char(sum(decode(to_char(first_time,'HH24'),'02',1,0)),'99') "02",
to_char(sum(decode(to_char(first_time,'HH24'),'03',1,0)),'99') "03",
to_char(sum(decode(to_char(first_time,'HH24'),'04',1,0)),'99') "04",
to_char(sum(decode(to_char(first_time,'HH24'),'05',1,0)),'99') "05",
to_char(sum(decode(to_char(first_time,'HH24'),'06',1,0)),'99') "06",
to_char(sum(decode(to_char(first_time,'HH24'),'07',1,0)),'99') "07",
to_char(sum(decode(to_char(first_time,'HH24'),'08',1,0)),'99') "08",
to_char(sum(decode(to_char(first_time,'HH24'),'09',1,0)),'99') "09",
to_char(sum(decode(to_char(first_time,'HH24'),'10',1,0)),'99') "10",
to_char(sum(decode(to_char(first_time,'HH24'),'11',1,0)),'99') "11",
to_char(sum(decode(to_char(first_time,'HH24'),'12',1,0)),'99') "12",
to_char(sum(decode(to_char(first_time,'HH24'),'13',1,0)),'99') "13",
to_char(sum(decode(to_char(first_time,'HH24'),'14',1,0)),'99') "14",
to_char(sum(decode(to_char(first_time,'HH24'),'15',1,0)),'99') "15",
to_char(sum(decode(to_char(first_time,'HH24'),'16',1,0)),'99') "16",
to_char(sum(decode(to_char(first_time,'HH24'),'17',1,0)),'99') "17",
to_char(sum(decode(to_char(first_time,'HH24'),'18',1,0)),'99') "18",
to_char(sum(decode(to_char(first_time,'HH24'),'19',1,0)),'99') "19",
to_char(sum(decode(to_char(first_time,'HH24'),'20',1,0)),'99') "20",
to_char(sum(decode(to_char(first_time,'HH24'),'21',1,0)),'99') "21",
to_char(sum(decode(to_char(first_time,'HH24'),'22',1,0)),'99') "22",
to_char(sum(decode(to_char(first_time,'HH24'),'23',1,0)),'99') "23"
from v$log_history
group by to_char(first_time,'YYYY-MON-DD')
order by day ;

อ่านเพิ่มเติม : https://bit.ly/2GH1Gut

Last updated

Was this helpful?