|
target=_blank>http://blog.naver.com/samuelc/20047868263
1. RAC ±¸¼º ÇÁ·Î¼¼½º
1) RAC ±¸¼ºÇÁ·Î¼¼½º
=> CRS(Cluster Ready Service)
- ¸ðµç Ç÷§Æû¿¡ ´ëÇÑ Ç¥ÁØÈµÈ Å¬·¯½ºÅÍ ÀÎÅÍÆäÀ̽º¸¦ Á¦°ø
- ÀÌÀü ¹öÀü¿¡ ¾ø¾ú´ø »õ·Î¿î °í°¡¿ë ¼ºñ½º¸¦ Á¦°ø
- HW¾÷ü¿¡¼ Á¦°øÇÏ´Â Cluster SW¿Í ÇÔ²² »ç¿ëµÇ¾î Áú¼öµµ ÀÖÀ¸¸ç HW¾÷üÀÇ Cluster SW¾øÀÌ
CRSÀÚü¸¸À¸·Îµµ ±¸¼ºÇÒ ¼ö ÀÖÀ½
=> CRS(Cluster Ready Service)±¸¼ºÀ» À§ÇÏ¿© È®ÀÎÇØ¾ß ÇÒ »çÇ×
- CRS´Â 10g¸¦ ¼³Ä¡Çϱâ Àü¿¡ ¼³Ä¡µÇ°í ½ÇÇàµÇ¾î¾ß ÇÔ
- CRS_HOME°ú ORACLE_HOMEÀº ¹Ýµå½Ã ´Ù¸¥µð·ºÅ丮¿¡ ¼³Ä¡ µÇ¾î¾ß ÇÔ
- voting ÆÄÀÏ, OCRÆÄÀÏÀ» ¼³Ä¡ÇÒ ¼ö ÀÖ´Â °øÀ¯µÈ µð·ºÅ丮 ¶Ç´Â µð¹ÙÀ̽º°¡ ±¸¼ºµÇ¾î¾ß ÇÔ
- ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º°¡ ±¸¼ºµÇ¾î¾ß ÇÔ
- RAC NODE´ç 1°³ÀÇ CRSµ¥¸ó¸¸ ½ÇÇà °¡´ÉÇÔ
- ³×Æ®¿öÅ© splitÀÌ ÀÖÀ» °æ¿ì ½Ã½ºÅÛ Rebooting Çö»óÀÌ ¹ß»ý ÇÒ ¼ö ÀÖÀ½
- ¼ºñ½º¸¦ Áß´ÜÇÏ·Á¸é Àåºñ shutdown ¶Ç´Â "init.crs stop" ¸í·ÉÀ» ½ÇÇà
=> CRS¸¦ ±¸¼ºÇÏ´Â ÇÁ·Î¼¼½º
[ CRSD µ¥¸óÀÇ ¿ªÈ° ]
- HA(High Availability) ÀÛÀ¾À» À§ÇÑ ¿£Áø
- Application ÀÚ¿ø°ü¸®
- Application ÀÚ¿øÀ» ±¸µ¿, Á¤Áö, fail over ó¸®
- Application ÀÚ¿ø ±¸µ¿/Á¤Áö/Á¡°Ë Çϱâ À§ÇÑ º°µµÀÇ 'actions'À» spawn
- OCR(Oracle Configuration Repository) ÀÇ ±¸¼º ÇÁ·ÎÆÄÀÏ °ü¸®
- OCRÀÇ ÇöÀç ¾Ë·ÁÁø »óŸ¦ ÀúÀå
- root ±ÇÇÑÀ¸·Î ½ÇÇà
- RACȯ°æ¿¡¼ °¡Àå ±âº»ÀûÀÎ NODE°£ÀÇ ÀÚ¿ø»óŸ¦ °¨ÁöÇÏ°í ÀÖÀ½
- ÇÊ¿äÇÑ °æ¿ì ÇØ´ç NODE¸¦ Down Çϰųª Rebooting ÇÏ´Â ¿ªÈ°À» ¼öÇà
- CRSµ¥¸óÀº Àå¾Ö¹ß»ý ½Ã ÀÚµ¿À¸·Î ±¸µ¿µÇµµ·Ï ¼³Á¤ µÇ¾î ÀÖÀ½
- ¸¸¾à CRSµ¥¸óÀ» OS¸í·É¾î·Î kill ÇÏ°Ô µÉ °æ¿ì ÇØ´ç NODE´Â Rebooting µÉ ¼ö ÀÖÀ¸¹Ç·Î ÁÖÀÇ
[ CSSD µ¥¸óÀÇ ¿ªÈ° ]
- CSSD´Â RACÀÇ ÀϺηÎ, ASM°ú ÇÔ²² ´ÜÀÏ ÀνºÅϽº¸¦ ±¸¼º
- NODE¸â¹ö½±¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦°ø
- ±×·ì ¼ºñ½º Á¦°ø
- ±âº»ÀûÀΠŬ·¯½ºÅÍ lock ±â´É Á¦°ø
- ¿À¶óŬ °èÁ¤À¸·Î ½ÇÇà
- CSSDµ¥¸óÀº µ¥ÀÌÅͺ£À̽ºÀÇ Synchronization ºÎºÐÀ» ´ã´ç
- CSSDµ¥¸óÀº Çϵå¿þ¾î °ø±Þ ¾÷ü¿¡¼ Á¦°øÇϴ Ŭ·¯½ºÅÍ ¼ÒÇÁÆ®¿þ¾î ¾øÀ̵µ ½ÇÇà °¡´ÉÇÔ
- Àå¾Ö·Î ÀÎÇÑ ÇØ´ç µ¥¸óÀÇ Á¾·á ½Ã½ºÅÛÀº Rebooting µÊ
ÀÌ´Â split brain Çö»ó ¹ß»ý ½Ã, µ¥ÀÌÅÍ corruption ¹æÁö¸¦ À§ÇÔ
[ EVMD µ¥¸óÀÇ ¿ªÈ° ]
- ƯÁ¤ÇÑ »ç°Ç ¹ß»ý ½Ã À̺¥Æ® »ý¼º
- Áö½Ä ÇÁ·Î¼¼½º·Î evmlogger¸¦ spawn ½ÃÅ´
- Evmlogger ´Â ÇÊ¿ä½Ã ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ spawn ½ÃÅ´
- callout directory¸¦ ½ºÄµÇÏ°í callout À» È£Ãâ
- ¿À¶óŬ °èÁ¤À¸·Î ½ÇÇà
- RACȯ°æ¿¡¼ ƯÁ¤ÇÑ »ç°Ç ¹ß»ý ½Ã À̺¥Æ®¸¦ ±â·ÏÇÏ°í ¸ð´ÏÅ͸µ ÇÏ´Â ¿ªÈ°À» ¼öÇà
- Àå¾Ö·Î ÀÎÇÑ Á¾·á ½Ã ÀÚµ¿À¸·Î À籸µ¿µÊ. Áï, OSÀ籸µ¿ÀÌ ¹ß»ýÇÏ°Ô µÇ¸é ¸ðµÎ ÀÚµ¿À¸·Î À籸µ¿ µÊ
=> OCR(Oracle Configuration Repository)
RAC¸¦ ±¸¼ºÇÏ´Â Á¤º¸¸¦ ÀúÀåÇÏ´Â ÀúÀå¼Ò
- OCRÁ¤º¸´Â RACȯ°æ¿¡¼ ¸Å¿ì Áß¿äÇÑ °ü¸®Ç׸ñÀ̹ǷΠÁÖ±âÀûÀÎ ¹é¾÷À» ¹Þ¾Æ µÎ¾î¾ß ÇÔ
- ±âº»ÀûÀ¸·Î´Â 4½Ã°£¸¶´Ù ÀÚµ¿À¸·Î ¹é¾÷ÀÌ ÀÌ·ç¾î Áö°í, ºñ»ó»óȲÀ» ´ëºñÇÏ¿© 3¹úÀÇ ¹é¾÷À»
ÀÚµ¿ÀûÀ¸·Î À¯Áö °ü¸®ÇÏ°í ÀÖÀ½
=> OCR Á¤º¸¸¦ ¼öµ¿À¸·Î ¹é¾÷¹Þ°í º¹±¸ÇÏ´Â ¹æ¹ý
(1) orconfig? backuploc <directory> : ¹é¾÷
(2) orconfig? showbackup : ¹é¾÷ÇöȲ Á¶È¸
(3) orconfig? restore <ÆÄÀϸí> : º¹±¸(¸ðµç NODEÁßÁö ÈÄ ÇÑ NODE¾¿ ÀÛ¾÷ÁøÇà )
(4) orconfig? export
(5) orconfig? import
=> OCR Á¤º¸¸¦ importÇÏ´Â ¹æ¹ý
- Cluster ¸¦ ÁߴܽÃÅ°°í OCRÁ¤º¸¸¦ import ÇÏ´Â ¹æ¹ý
(1) Cluster»óÀÇ ¸ðµç Node¸¦ Shutdown ÇÑ ÈÄ Node ÇѴ븸À» single-user mode·Î ¿Ã¸²
(2) ocrconfig? import ¸í·ÉÀ» »ç¿ëÇÏ¿© import ¼öÇà
(3) Cluster »óÀÇ ¸ðµç Node¸¦ multi-user mode·Î ±¸µ¿½ÃÅ´
- Cluster ¸¦ ÁߴܽÃÅ°Áö ¾Ê°í OCRÁ¤º¸¸¦ import ÇÏ´Â ¹æ¹ý
(1) ¸ðµç NodeÀÇ initab ÆÄÀÏÀ» ´Ù¸¥ À̸§À¸·Î Copy ÇØ ³õÀº ÈÄ ¸ðµç Node»óÀÇ initab entries ¸¦
Update ÇÏ°í CRS°ü·Ã entry ¸¦ Á¦°ÅÇÔ
(2) ¸ðµç Node¿¡¼ /etc/init.d/init.crs stop ¸í·ÉÀ» »ç¿ëÇÏ¿© CRS¸¦ ÁßÁö½ÃÅ´
(3) Cluster»óÀÇ ÇÑ Node¿¡¼ ocrconfig? imprt ¸í·ÉÀ» »ç¿ëÇÏ¿© OCR export¸¦ ¼öÇà
(4) ¸ðµç Node¿¡¼ original initab file º¹¿ø
(5) ¸ðµç Node¿¡¼ /etc/init.d/init.crs start ¸í·ÉÀ¸·Î CRS START
(6) /etc/init.q ¸í·ÉÀ» ½ÇÇà
- OCR ÆÄÀÏ DUMP»ý¼º¹æ¹ý
ocrdump ocr_file.txt (root¿¡¼ ¼öÇà)
2) ·Î±×ÆÄÀÏ °ü¸®
=> CRS¿¡ ¹«Á¦°¡ ¹ß»ýÇÏ¿´´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ý
- $ORA_CRS_HOME/crs/log
+ ÀÌ µð·ºÅ丮´Â CRSÀÚ¿øµé¿¡ ´ëÇÑ TRACE¸¦ Æ÷ÇÔÇÑ
+ CRS¿¡ ÀÇÇØ ½Äº°µÈ °¡ÀÔ(joining), Å»Åð(leaving), À籸µ¿(restarting), Àç¹èÄ¡(relocating)¿Í
°ü·ÃµÈ Á¤º¸µéÀÌ ±â·ÏµÊ
- $ORA_CRS_HOME/crs/init
+ crsd.bin µ¥¸ó°ú °ü·ÃµÈ ¸ðµç core dump°¡ ±â·ÏµÊ
- $ORA_CRS_HOME/css/log
+ À籸¼ºÀ̳ª ¼º°øÇÏÁö ¸øÇÑ Ã¼Å©ÀÎ, Ŭ¶óÀ̾ðÆ®ÀÇ css listener·Î ºÎÅÍ ¹ß»ýÇÑ ¿¬°á ¹× ¿¬°áÇØÁ¦
¿Í °ü·ÃµÈ ¸ðµç ¾×¼ÇÀ» ±â·ÏÇÔ
+ ¶§¿¡ µû¶ó¼´Â Logger¿¡¼´Â (auth.crit) À¯ÇüÀÇ ¸Þ½ÃÁö¸¦ ³²±â´Âµ¥ ÀÌ°ÍÀº ¿À¶óŬ¿¡ ÀÇÇØ
¸®ºÎÆÃÀÌ ¹ß»ýÇÒ ¶§ ³²°Ô µÇ¸ç, ÀÌ Á¤º¸´Â RebootingÀÌ Á¤È®È÷ ¾ðÁ¦ ¹ß»ýÇß´ÂÁö¸¦ È®ÀÎÇϴµ¥
»ç¿ëµÉ ¼ö ÀÖÀ½
- $ORA_CRS_HOME/css/init
+ ±âº»ÀûÀ¸·Î´Â ocssd·Î ºÎÅÍÀÇ core dumpÆÄÀÏÀ» ÀúÀå
+ ÇÁ·Î¼¼½ºÀÇ Á¾·á°¡ ½É°¢ÇÑ ¹®Á¦·Î °£ÁֵǴ cssµ¥¸óÀÇ pid Á¤º¸ ¶ÇÇÑ ±â·ÏµÊ
+ cssÀÇ ºñÁ¤»ó Àç ±¸µ¿ÀÌ ¹ß»ýÇÒ °æ¿ì core ÆÄÀÏÀº core.<pid> ÇüÅ·Π±â·ÏµÊ
- $ORA_CRS_HOME/evm/log
+ evm°ú evmlogger µ¥¸óÀÇ ·Î±×ÆÄÀÏÀÌ ±â·ÏµÊ
+ CRS¶Ç´Â CSS°ü·Ã µð·ºÅ丮 ó·³ µð¹ö±ë ¿ëµµ·Î ÀÚÁÖ »ç¿ëµÇÁö´Â ¾ÊÀ½
- $ORA_CRS_HOME/evm/init
+ EVMÀÇ pid¿Í lock ÆÄÀÏÀÌ ÀúÀåµÊ
+ EVMÀ¸·Î ºÎÅÍ ¹ß»ýÇÑ core ÆÄÀÏ ¶ÇÇÑ ÀÌ µð·ºÅ丮¿¡ ÀúÀåµÊ
2. RAC ±¸µ¿ ¹× °ü¸®
1) crs_stat ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© CRSÀÚ¿øÈ®ÀÎ
2) srvctl ¸í·ÉÀ» »ç¿ëÇÏ¿© CRSÀÚ¿øÈ®ÀÎ
=> CRSÀÚ¿ø »óÅÂÈ®ÀÎ
- µ¥ÀÌÅͺ£À̽ºÀÇ »óÅÂ, ¸ðµç ÀνºÅϽº¿Í ¸ðµç ¼ºñ½ºÀÇ »óÅ ȮÀÎ
# srvctl status database -d ORACLE -v
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ »óÅÂ¿Í ÇöÀç ¼ºñ½ºÀÌ »óÅÂÈ®ÀÎ
# srvctl status instance -d ORACLE -i TEST01, TEST02 -v
- À̸§ÀÌ ºÎ¿©µÈ ¼ºñ½ºÀÇ »óÅÂÈ®ÀÎ
# srvctl status service -d ORACLE -s ERP -v
- µ¥ÀÌÅͺ£À̽º Application À» Áö¿øÇÏ´Â ¸ðµç NodeÀÇ »óÅÂÈ®ÀÎ
# srvctl status node
=> CRSÀÚ¿ø ±¸µ¿
- µ¥ÀÌÅͺ£À̽º¸¦ ¸ðµç È°¼ºÈµÈ ÀνºÅϽº¿Í ÇÔ²² ±¸µ¿
# srvctl start database -d ORACLE
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ ±¸µ¿
# srvctl start instance -d ORACLE -i TEST03, RAC04
- À̸§ÀÌ ºÎ¿©µÈ ¼ºñ½ºÀÇ ±¸µ¿
# srvctl start service -d ORACLE -s CRM
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ ¼ºñ½ºÀÇ ±¸µ¿
# srvctl start service -d ORACLE -s CRM -i RAC04
- Node ApplicationÀÇ ±¸µ¿
# srvctl start nodeapps -n myclust
=> CRSÀÚ¿ø Á¤Áö
- µ¥ÀÌÅͺ£À̽º, ¸ðµç ÀνºÅϽº, ¸ðµç ¼ºñ½º¸¦ Á¤Áö½ÃÅ´
# srvctl stop database -d ORACLE
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽº¸¦ Á¤Áö½ÃÅ´. ±×Àü¿¡ ¿ì¼± Á¸ÀçÇÏ´Â ¸ðµç ¼ºñ½º¸¦ Àç¹èÄ¡ÇÔ
# srvctl stop instance -d ORACLE -i TEST03, TEST04
- ¼ºñ½º¸¦ Á¤Áö½ÃÅ´
# srvctl stop service -d ORACLE -s CRM
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ ¼ºñ½º¸¦ Á¤Áö½ÃÅ´
# srvctl stop service -d ORACLE -s CRM -i RAC04
- Node ApplicationÀ» Á¤Áö½ÃÅ´, ÀνºÅϽº¿Í ¼ºñ½º ¿ª½Ã Á¤ÁöµÊ
# srvctl stop nodeapps -n myclust
=> CRSÀÚ¿øÀÇ Ãß°¡
- »õ·Î¿î NodeÃß°¡
# srvctl add nodeapps -n myclust-1 -o $ORACLE_HOME
- »õ·Î¿î µ¥ÀÌÅͺ£À̽ºÀÇ Ãß°¡
# srvctl add database -d ORACLE -o $ORACLE_HOME
- ÀÌ¹Ì Á¸ÀçÇÏ´Â µ¥ÀÌÅͺ£À̽º¿¡ À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽº Ãß°¡
# srvctl add instance -d ORACLE -i TEST01 -n myclust-1
# srvctl add instance -d ORACLE -i TEST02 -n myclust-2
# srvctl add instance -d ORACLE -i TEST03 -n myclust-3
- ¼ºñ½º¸¦ ÀÌ¹Ì Á¸ÀçÇÏ´Â µ¥ÀÌÅͺ£À̽º¿¡ Ãß°¡Çϸç, ¼±È£µÇ´Â ÀνºÅϽº¸¦ ÁöÁ¤(-r) ·Î ÇÏ°í
°¡¿ëÇÑ ÀνºÅϽº¸¦ ÁöÁ¤ÇÔ(-a)
±â·Ð failover ¸¦ »ç¿ëÇÔ
# srvctl add service -d ORACLE -s STD_BATCH -r TEST01, TEST02 -a TEST03, RAC04
=> CRSÀÚ¿øÀÇ Á¦°Å
- µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Application Á¦°Å
# srvctl remove database -d ORACLE
- ÀÌ¹Ì Á¸ÀçÇÏ´Â µ¥ÀÌÅͺ£À̽ºÀÇ À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽº¿¡ ´ëÇÑ Application Á¦°Å
# srvctl remove instance -d ORACLE -i TEST03
# srvctl remove instance -d ORACLE -i RAC04
- ¼ºñ½º Á¦°Å
# srvctl remove service -d ORACLE -s STD_BATCH
- ÀνºÅϽº·Î ºÎÅÍ ¼ºñ½º Á¦°Å
# srvctl remove service -d ORACLE -s STD_BATCH -i TEST03, RAC04
- Node·Î ºÎÅÍ ¸ðµç Node Application Á¦°Å
# srvctl remove nodeapps -n myclust
=> CRSÀÚ¿øÀÇ º¯°æ
- ÀνºÅϽº°¡ ´Ù¸¥ Node ¿¡¼ ½ÇÇàµÇµµ·Ï º¯°æ
# srvctl modify instance -d ORACLE -n myclust
- ¼ºñ½º°¡ ´Ù¸¥ Node¿¡¼ ½ÇÇàµÇµµ·Ï º¯°æ
# srvctl modify service -d ORACLE -s HOT_BATCH -i TEST01 -t TEST02
- ÀνºÅϽº°¡ ¼ºñ½ºÀÇ ¼±È£µÇ´Â ÀνºÅϽº°¡ µÇµµ·Ï º¯°æ
# srvctl modify service -d ORACLE -s HOT_BATCH -i TEST02
=> Service ÀÇ Àç¹èÄ¡
- ¼ºñ½º¸¦ ÇÑ ÀνºÅϽº¿¡¼ ´Ù¸¥ ÀνºÅϽº·Î Àç¹èÄ¡
# srvctl relocate service -d ORACLE -s CRM -i RAC04 -t TEST01
=> CRSÀÚ¿øÀÇ È°¼ºÈ
- µ¥ÀÌÅͺ£À̽º¸¦ È°¼ºÈ
# srvctl enable database -d ORACLE
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ È°¼ºÈ
# srvctl enable instance -d ORACLE -i TEST01, TEST02
- ¼ºñ½ºÀÇ È°¼ºÈ
# srvctl enable service -d ORACLE -s ERP,CRM
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽº¿¡¼ ¼ºñ½ºÀÇ È°¼ºÈ
# srvctl enable service -d ORACLE -s CRM -i TEST03
=> CRSÀÚ¿øÀÇ ºñÈ°¼ºÈ
- µ¥ÀÌÅͺ£À̽º¸¦ Àü¿ª(global) ºñÈ°¼ºÈ
# srvctl disable database -d ORACLE
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽºÀÇ ºñÈ°¼ºÈ
# srvctl disable instance -d ORACLE -i TEST01, TEST02
- ¼ºñ½º¸¦ Àü¿ª(global) ºñÈ°¼ºÈ
# srvctl disable service -d ORACLE -s ERP, CRM
- À̸§ÀÌ ºÎ¿©µÈ ÀνºÅϽº»óÀÇ ¼ºñ½º¸¦ ºñÈ°¼ºÈ
# srvctl disable service -d ORACLE -s CRM -i TEST03, RAC04
3. RAC Áø´Ü ¹× ¸ð´ÏÅ͸µ
1) RAC Áø´ÜÀ̶õ
2) Åë°èÄ¡¸¦ ÀÌ¿ëÇÑ ºÐ¼®
=> Åë°èÄ¡¸¦ ÀÌ¿ëÇÑ ºÐ¼®À̶õ
- ¿À¶óŬÀÇ Åë°èÁ¤º¸¸¦ ÀÌ¿ëÇÏ¿© Áø´ÜÇÏ´Â ¹æ¹ý
- ¿À¶óŬÀº ³»ºÎÀûÀÎ Åë°èÁ¤º¸¸¦ ÀÚµ¿À¸·Î »ý¼ºÇÏ°Ô µÊ
- Åë°èÄ¡
: µ¥ÀÌÅͺ£À̽º°¡ ¿î¿µµÇ´Â µ¿¾È¿¡ ¿©·¯°¡Áö Áß¿äÇÑ °ªÀ» ÀúÀå, ±â·ÏÇÑ°Í
: InterConnect¿¡ ´ëÇÑ Á¤º¸ Æ÷ÇÔ
- Metric
: Metric ¿¡´Â ÀûÀýÇÑ ±âÁØ°ªÀÌ ÀÖ¾î¼ Áø´Ü ÁßÀÎ ½Ã½ºÅÛÀÇ Metric°ª¿¡ µû¶ó ±âÁØ¿¡ ÀûÇÕÇÑÁö
È®ÀÎÇÏ¿© ½Ã½ºÅÛÀÇ ¾ÈÁ¤¼ºÀ» Á¡°ËÇÏ°Ô µÊ
=> AVG CR BLOCK RECEIVE TIME
- AVG CR BLOCK RECEIVE TIMEÀ̶õ ÇÑ NODE¿¡¼ ´Ù¸¥ NODE·Î ºÎÅÍ ¹«°á¼º Àб⸦ Çϱâ
À§ÇØ ºí·°À» ¹Þ±â ±îÁöÀÇ ÀÀ´ä½Ã°£À» ÀǹÌÇϴµ¥, º¸ÅëÀÇ °æ¿ì 15ms ÀÌÇÏÀÇ°ªÀÌ ³ª¿Í¾ß ÇÔ
- ¸¸¾à ½ºÅ©¸³Æ® ¼öÇà°á°ú°¡ 15msº¸´Ù ³ôÀº °ªÀÌ ³ª¿Â´Ù¸é CPUÀÇ ¿ë·®ÀÌ ºÎÁ·Çϰųª
Long-runnig SQL ÀÌ ¼öÇàµÇ°í ÀÖÀ½À» ¾Ë ¼ö ÀÖÀ½
select b1.inst_id,
b2.value "CR BLOCKS RECEIVED" ,
b1.value "CR BLOCKS RECEIVE TIME" ,
((b1.value/b2.value)*10) "AVG CR BLOCK RECEIVE TIME(ms)"
from gv$sysstat b1, gv$sysstat b2
where b1.name = 'global cache cr block receive time'
and b2.name = 'global cache cr blocks received'
and b1.inst_id = b2.inst_id;
- Long-runnig SQLÀº ¸¹Àº µ¥ÀÌÅÍ ºí·°µéÀ» NODE°£¿¡ ÁÖ°í¹Þ°Ô µÇ¹Ç·Î InterConnect¿¡ ºÎÇϸ¦
°¡ÁßÇÏ¿© ½Ã°£ÀÌ ±æ¾îÁö°Ô µÊ
=> global cache lock performance
- global cache lock performance ¶õ RACÀÇ Ä³½Ã¿¡ ´ëÇÑ LOCKÀ» ȸ±âµæÇÒ ¶§ÀÇ ÀÀ´ä½Ã°£À»
ÀǹÌÇϸç, 20~30ms ÀÌÇÏÀÇ °ªÀ» °¡Á®¾ß ÇÔ
- ¸¸¾à ÀÌ°ªÀÌ 20~30ms º¸´Ù Å©´Ù¸é ½Ã½ºÅÛ ÀüüÀÇ ´ë±â À̺¥Æ® Áß »óÀ§ 10À§¿¡´Â
'WATING SESSIONS', 'PCM LOCK BLOCKERS', 'PCM LOCK WAITERS' ÀÌ ÀÖÀ»°ÍÀÓ
- µû¶ó¼ Application ÆÄƼ¼Å´×À» ÇؾßÇÔ
select b1.inst_id,
(b1.value + b2.value) "GLOBAL LOCK GETS",
b3.value "GLOBAL LOCK GET TIME",
(b3.value / (b1.value +b2.value)*10) "AVG GLOBAL LOCK GET TIME(ms)"
from gv$sysstat b1, gv$sysstat b2, gv$sysstat b3
where b1.name = 'global lock sync gets'
and b2.name = 'global lock async gets'
and b3.name = 'global lock get time'
3) RAC¿¡ °ü·ÃµÈ ´ë±âÁ¤º¸¸¦ ÀÌ¿ëÇÑ ºÐ¼®
=> RAC¿¡ °ü·ÃµÈ ´ë±âÁ¤º¸¸¦ ÀÌ¿ëÇÑ ºÐ¼®
- ½Ã½ºÅÛÀÇ »óÅÂ¿Í Waiting À» ÀÌ¿ëÇÑ ºÐ¼®
- v$session_waitÀ̳ª v$system_wait ÀÇ ´ë±â À̺¥Æ®¸¦ ÀÌ¿ëÇÏ¿© ¹®Á¦µÇ´Â ºÎºÐÀ» ÁßÁ¡ÀûÀ¸·Î
ã¾Æ Áø´ÜÇÏ´Â ¹æ¹ý
- RAC¿¡ °ü·ÃµÇ´Â ´ë±â À̺¥Æ® : 'global cache cr requests', 'buffer busy global CR',
'gets inquiry response'
=> ½Ã½ºÅÛ ³»¿¡ ÇöÀç ¾î¶² ´ë±â À̺¥Æ®°¡ Àִ°¡¸¦ È®ÀÎÇÏ´Â ¹æ¹ý
select sw.inst_id, sw.sid, sw.state, sw.event. sw.seconds_in_wait seconds, sw.p1,
sw.p2, sw.p3, sa.sql_text last sql
from gv$session_wait sw, gv$session s, gv$sqlarea sa
where sw.event no in('rdbms ipc message','smon timer','pmon timer',
'SQL*Net message from client','lock manager wait for remote message',
'get remote message','gcs remote message','gcs for action',
'client message','pipe get','Null event','PX Idle Wait',
'single-task message','PX Deq:Execution Msg',
'KXFQ:kxfqdep - normal deqeue','listen endpoint status',
'slave wait','wakeup time manager' )
and seconds_in_wait > -
and (sw.inst_id = s.inst_id and sw.sid = s.sid)
and (s.inst_id = sa.inst_id and s.sql_address = sa.address)
order by seconds desc;
4) ¿ÀºêÁ§Æ®ÀÇ ÇÎ Á¤º¸¸¦ ÀÌ¿ëÇÑ ºÐ¼®
v$lock_activity ¸¦ 1ºÐÀÇ ½Ã°£Â÷¸¦ µÎ¾î Á¶È¸ÇÑ ÈÄ
±× °ªµéÀÇ Â÷ÀÌ°¡ 5000 ÀÌ»óÀ̸é ÇÎÀÌ ¸¹ÀÌ ¹ß»ýÇÑ´Ù°í º¼¼ö ÀÖ´Ù
[Ãâó] [¿À¶óŬ10g] RAC±¸¼º ¹× °ü¸®|ÀÛ¼ºÀÚ »ç¹«¿¤
|