10g RAC±¸¼º ÇÁ·Î¼¼½º ¹× CRS °ü·Ã
ÀÛ¼ºÀÚ °ü¸®ÀÚ ÀÛ¼º½Ã°£ 2016-02-17 11:21:54
 

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±¸¼º ¹× °ü¸®|ÀÛ¼ºÀÚ »ç¹«¿¤


¸ñ·Ï | ÀÔ·Â | ¼öÁ¤ | ´äº¯ | »èÁ¦