|
init<SID>.ora
¿¡º¸¸é
log???_intervalÆĶó¹ÌÅ͸¦ ´Ã¸®½Ã¸é µË´Ï´Ù.
±×¸®°í ´ÙÀ½
SQL> select name,value
2 from v$sysstat
3 where name in('redo buffer allocation retries','redo log space requests',
4 'redo entries');
NAME VALUE
----------------------------------- ------
redo entries 78 -> redo log buffer¸¦ ¾ó¸¸Å »ç¿ëÇß³ª
redo buffer allocation retries 0 -> ³»°¡ ¾²·Á´Â °ø°£ÀÌ ¾ÆÁ÷ disk¿¡ ¾²ÀÌÁö ¾Ê¾Æ
±â´Ù¸®´Â Åë°èÁ¤º¸
redo log space requests 0 -> 0ÀÌ ¾Æ´Ï¸é Ȥ½Ã archive log file¿¡ full ÀÖ³ª È®ÀÎ
======================================================================
===========================================
* LGWR°¡ freeing buffer¸¦ Çϴµ¥ ´À·ÁÁö´Â Çö»ó monitor & tuning
- redo log file¿¡ °æÇÕÀÌ ÀÖ´ÂÁö(log files ÀÇ i/o ¿©·¯ disk¿¡¼ µ¿½Ã¿¡ ¹ß»ýÇϵµ·Ï)
- v$system_event¿¡ log file switch completion¿¡ wait°¡ ÀÖ´ÂÁö.
ÀÖ´Ù¸é redo log file size¸¦ ´Ã¸®ÀÚ
SQL> select event,total_waits,time_waited,average_wait
2 from v$system_event
3 where event like 'log file switch completion%';
- DBWn°¡ ³¡³ªÁö ¾Ê¾Æ Redo log fileÀÇ spiningÀ» À§ÇØ LGWR°¡ waiting
-- redo log groupÀÇ size¿Í ¼ö¸¦ È®ÀÎÇضó...(Áß¿ä)
-- alert.log fileÀ» º¸¸é spining½Ã "CHECKPOINT NOT COMPLETE" °¡ ÀÚÁÖ ¹ß»ý(2~3ºÐ¸¶´Ù)
-- ´ÙÀ½°ú °°ÀÌ v$system_event ¸¦ È®ÀÎÇصµµÊ
SQL> select event,total_waits,time_Waited, average_wait
2 from v$system_event
3 where event like 'log file switch (check%';
-- ´ÙÀ½ parameter È®ÀÎ
SQL> show parameter log_checkpoint
NAME TYPE VALUE
------------------------------------ ------- ------------------------------
log_checkpoint_interval integer 10000
log_checkpoint_timeout integer 1800
log_checkpoints_to_alert boolean FALSE
- archiver°¡ redo log¸¦ archived redo logfile¿¡ ¾²Áö ¾Ê¾Æ LGWR°¡ ±â´Ù¸®´Â°æ¿ì
-- archive device°¡ fullÀÌ ¾Æ´ÑÁö È®ÀÎ
-- redo log group À» Ãß°¡
-- ´ÙÀ½°ú °°ÀÌ v$system_event ¸¦ È®ÀÎ
SQL> select event,total_waits,time_Waited, average_wait
2 from v$system_event
3 where event like 'log file switch (arch';
-- ARCn process°¡ ¹Ù»Ü¶§ LGWR°¡ »õ·Î¿î ARCn process¸¦ ¶ç¿ìµµ·Ï ´ÙÀ½ parameter ¼³Á¤
log_archive_max_processes = n -> n°³ ¸¸Å ±îÁö ARCn process¸¦ ¶ç¿ì¸é¼ ÀÛ¾÷
-- data block, redo log blockÀÌ ±úÁ³´ÂÁö ¾È±úÁ³´ÂÁö È®ÀÎÇÏ´Â mechanismÀÎ
db_block_checksum parameter°¡ true·Î µÇ¾îÀÖ´ÂÁö È®ÀÎ
======================================================================
===========================================
* Cache Hit Ratio : ÀÌ°Í ¿ª½Ã db startup ÀÌÈÄ ¾î´ÀÁ¤µµ ¾ÈÁ¤µÇ°Ô »ç¿ëÇÑ ÈÄ °è»êÇØ¾ß ¸Â´Ù.
SQL> select 1-(phy.value / (cur.value+con.value)) " Cache Hit Ratio"
2 from v$sysstat cur, v$sysstat con, v$sysstat phy
3 where cur.name = 'db block gets'
4 and con.name = 'consistent gets'
5 and phy.name = 'physical reads';
Cache Hit Ratio
----------------
.95751146 > 90%
À§¿¡¼ db block gets + consistent gets = logical gets À̹ǷÎ
1-(physical gets / logical gets) °¡ cache hit ratioÀÌ´Ù.
* Data³ª application Design¿¡ µû¶ó, data¸¦ accessÇÏ´Â ¹æ¹ý¿¡ µû¶ó ¸¹ÀÌ Â÷ÀÌ°¡ ³ª´Âµ¥
¿¹¸¦ µé¸é full table scan °°Àº °æ¿ì¿¡´Â dirty buffer°¡
MRU endÂÊÀ¸·Î °¡´Â°Ô ¾Æ´Ï¶ó Memory¿¡¼ »¡¸® ³»¸®·Á´Â ¸ñÀûÀ¸·Î LRU end ÂÊÀ¸·Î °£´Ù.
(ƯÈ÷ OLTP¼º ¾÷¹«¿Í´Â ´Þ¸® DW¼º ¾ø¹«´Â Àå±â°£ full table scanÀ» ÇØ¾ß ÇϹǷΠhit rationº¸´Ù´Â
I/O¿¡ point¸¦ µÎ°í tuningÀ» ÇÑ´Ù.)
DB_BLOCK_BUFFERS¸¦ ´Ã¸®°í ¼Óµµ¸¦ testÇØ º¸¾Æ È¿°ú°¡ ¾øÀ» °æ¿ì¿¡´Â ¹Ýº¹ÀûÀ¸·Î ÇÒ ÇÊ¿ä¾øÀÌ
´äÀÌ ¾Æ´Ï´Ù.
|