¡¡¡¡×öÁËÒ»´ó°ëÄêµÄÒµÎñÊý¾Ý¿âÓÅ»¯ÁË£¬ÓÐÒ»µã¸ÐÏ룬д³öÀ´×ÔÀøһϡ£
¡¡¡¡¹«Ë¾¿ª·¢µÄ²úÆ·»ù±¾É϶¼Ê¹ÓÃORACLEÊý¾Ý¿â£¬¶øÇÒÒµÎñϵͳÖд洢ºÍʹÓõÄÊý¾ÝÁ¿ºÜ´ó£¬Ê¹ÓÃÒµÎñϵͳµÄÓû§Ò²ºÜ¶à¡£ÔÚϵͳæʱ£¬´óÔ¼»áÓÐһǧ¸öÓû§Í¬Ê·ÃÎÊÊý¾Ý¿âϵͳ£¬Òò´Ë¾³£»áÓÐÓû§±§Ô¹ÏµÍ³Âý£¬µã»÷²éѯºó£¬ÏµÍ³³öÏÖ¼ÙËÀ»úÏÖÏ󣬺ǫ́ÔËÐÐORACLEϵͳµÄСÐÍ»úµÄIDLEֵƫµÍ(ÉõÖÁ³öÏÖIDLEΪ0µÄÇé¿ö£¬ÕâʱÓû§»á¾ªºôÊý¾Ý¿âϵͳ»á̱µô£¬ËäȻСÐÍÐÍ»úÔÚIDLEֵΪ0µÄÇé¿öÏÂÒ²²»Ò»¶¨»á̱»ú£¬µ«ÕâÎÞÒÉ»áÔö¼ÓÓû§µÄµ£ÓÇ)£¬ÏµÍ³ÔËÐÐÔÚÒ»¸ö²»°²È«µÄ״̬µÈµÈ¡£
¡¡¡¡¶ÔÓÚÎÒÏÖÔÚËù×öµÄORACLEÓÅ»¯£¬Æäʵ»¹Í£ÁôÔÚSQLÓÅ»¯µÄ²ã´Î(ÒÔÇ°ÎÒµÄÇ°±²Ôø¸øÎÒ˵¹ØÓÚÊý¾Ý¿âÓÅ»¯µÄÈý¸ö²ã´Î:Ò»ÊÇÕë¶ÔSQLµÄÓÅ»¯£¬ÈçʹÓÃÕýÈ·ÊÇË÷Òý£¬Ê¹ÓÃORACLEÌáʾµÈ;¶þÊÇÕë¶ÔÊý¾Ý¿â¶ÔÏóµÄÓÅ»¯£¬ÈçÔö¼ÓË÷Òý£¬Î¢µ÷±í½á¹¹µÈ;ÈýÕë¶ÔÒµÎñµÄÓÅ»¯£¬ÐèÒª¸ü¸ÄÒµÎñÂß¼»òÕß±í½á¹û£¬´ËÀàÓÅ»¯Ò»°ã´ú¼Û±È½Ï´ó£¬Ò»°ãºÜÉÙÕë¶ÔÕýÔÚÔËÐеÄϵͳ×öÀàËƵIJÙ×÷)¡£
¡¡¡¡¹«Ë¾µÄ¿Í»§ºÜ¶à£¬´ó¶àÊýÇé¿ö»áÔÚ¹«Ë¾Ô¶³Ì´¦Àí¿Í»§µÄÊý¾Ý¿âÎÊÌâ¡£×÷ΪÎÊÌâµÄ¶¨Î»Õߣ¬Ò»¶¨Òª¸ãÇå³þʵ¼ÊÔËÐеÄÊý¾Ý¿âϵͳµ½µ×³öÏÖÁËʲôÎÊÌâ¡£ÏÖ³¡µÄά»¤ÈËÔ±ºÍÓû§×îϲ»¶Ê¹ÓõÄÐÎÈÝ´ÊÊÇ:ϵͳºÜÂý;Êý¾Ý¿âËø±íÁ˵ȵȡ£Óû§ÏòÍâÃæ´«´ïµÄÐÅÐÄÍùÍùÊǷdz£Ä£ºýµÄ£¬ÔÚ¿ªÊ¼½Ó´¥Õâ¸öÎÊÌâʱºòÆð£¬ÎÒÃǾÍÒªÒýµ¼Óû§È¥°ïÍâÃæÁ˽âϵͳÕæʵµÄÇé¿ö¡£Óм¸¸ö¶«Î÷ÊÇÒ»¶¨Òª¿´¿´µÄ£¬Ò»¸öÊÇORACLEϵͳµÄ¾¯¸æÈÕÖ¾Îļþ£¬ÔÚϵͳÔËÐеÄÓÐÎÊÌâ»òÕßÊÇæʱµÄ¼¸·ÝSTATSPACK±¨¸æ(Ò»°ã¼ä¸ôʱ¼ä10µ½15·ÖÖÓ)£¬UNIXÏÂSARÃüÁîµÄÊäÈë½á¹û(¸ÃÃüÁî¿ÉÒÔ°´¼È¶¨µÄʱ¼ä¼ä¸ôÊÕ¼¯Ð¡ÐÍ»úϵͳCPUµÄʹÓÃÇé¿ö)¡£Í¨¹ýÕâÈý¸ö´ÓÏÖ³¡ÊÕ¼¯µÄ½á¹û£¬ÎÒÃÇ»ù±¾¿ÉÒÔÁ˽âÏÖ³¡Êý¾Ý¿âµÄÔËÐÐÇé¿ö¡£
¡¡¡¡ÆäÖÐORACLEϵͳµÄ¾¯¸æÈÕÖ¾ÎļþÄÜÈÃÎÒÃÇÁ˽âORACLEϵͳÔËÐÐÓÐûÓÐһЩÖØ´óµÄÎÊÌâ¡£
¡¡¡¡STATSPACK±¨¸æÖиÅÀ¨ÁËÊý¾Ý¿âϵͳµÄÔËÐлù±¾Çé¿ö£¬ÆäÖйØÓÚÈçºÎ½â¶Á±¨¸æ¿ÉÒÔдһ±¾ÊéÁË£¬²»¹ýÎÒÃÇÊ×ÏÈÒª¹Ø×¢µÄÊDZ¨¸æÖÐÓÐÒ»¶Î¡°Top 5 Timed Events¡±£¬ÕâÒ»¶ÎÃèÊöÁ˵±Ç°ORACLEÖ÷ÒªµÄµÈ´ýʼþÊÇʲô(¹ØÓÚORACLEµÈ´ýʼþµÄ¸ÅÄî¿ÉÒԲο¼Ïà¹ØµÄ×ÊÁÏ)¡£
¡¡¡¡SARÃüÁîµÄÊäÈëÎÒÃÇÒª¹Ø×¢Èý¸öÊä³öµÄ·Ö²¼Çé¿öUSR¡¢WIO¡¢IDLE¡£ÆäÖÐSYS+USR+WIO+IDLEÓ¦¸ÃµÈÓÚ100%£¬USRÕ¼µÄ±ÈÀý¸ß£¬Ò»°ã˵Ã÷SQLÓï¾äÖ´ÐÐЧÂÊÓÐÎÊÌ⣬ÕâÖÖÎÊÌâÒ»°ãÊÇÓÉÓÚË÷ÒýÑ¡ÔñÐÔ²»¸ß¡¢±íÁ¬½Ó˳ÐòºÍ·½Ê½²»¶ÔµÈµÈ;WIO¸ßÒ»°ã˵Ã÷SQLÓï¾äƵ·±½øÐÐI/O²Ù×÷¡£¶ÔÓÚ¾ßÌåµÄÎÊÌ⣬ÔòÐèÒª¶Ô¾ßÌåµÄSQLÓï¾ä½øÐзÖÎö£¬ÔÚ·ÖÎö¹ý³ÌÖУ¬ÔĶÁÖ´Ðмƻ®ÊÇÎÒÃǵÄÒ»¸öÖØÒªµÄ¹¤¾ß¡£
¡¡¡¡ÔÚ¶ÔORACLEϵͳµÄÕûÌåÇé¿öÓÐÁËÒ»¶¨µÄÁ˽âÖ®ºó£¬ÏÂÒ»²½ÐèÒª·ÖÎöµÄ¾ÍÊÇϵͳÔËÐйý³ÌЧÂʲ»¸ßµÄSQL£¬ÕâÊǶÔÒµÎñÓÅ»¯µÄÒ»¸öÆðµã¡£Èç¹ûÕâʱ²»Äܹ»ÔÚʵ¼ÊϵͳÖвÙ×÷£¬Á˽âSQLµÄÔËÐйý³ÌÊÇÒ»¸ö±È½Ï·ÑʱµÄ¹ý³ÌµÄ¡£²»¹ÜÔõôÑù£¬¶ÔÓÚÎÒÃÇ»³ÒÉÓÐÎÊÌâµÄSQL£¬Ê×ÏÈÒªÔĶÁµÄ¾ÍÊǸÃSQLµÄÔÚʵ¼ÊϵͳÖеÄÖ´Ðмƻ®£¬Óï¾äÉæ¼°µ½µÄ±íµÄÊý¾ÝÁ¿£¬·ÃÎʱíʹÓÃË÷ÒýµÄÑ¡ÔñÐÔÈçºÎ£¬±íÁ¬½ÓµÄ˳Ðò£¬¶à±íÖ®¼äµÄ¹ØÁª¹ØϵµÈµÈ¡£
¡¡¡¡¶ÔÓÚORACLEÓ¦ÓÃϵͳµÄÓÅ»¯£¬´ó·½ÏòÉÏÓÐÒ»¸ö˳Ðò£¬Ê×ÏÈ¿¼ÂÇÓÅ»¯ÒµÎñϵͳ¡¢ÔÙ¿¼ÂÇÓÅ»¯ORACLEϵͳ±¾ÉíµÄ²ÎÊý(ÈçÄÚ´æ·ÖÅäµÈ)£¬ÔÙ¿¼ÂDzÙ×÷ϵͳ±¾ÉíµÄÓÅ»¯;ÔÚÓÅ»¯ÒµÎñϵͳÖУ¬Ê×ÏÈÊÇÊ×ÏÈÏà¹ØµÄSQL£¬ÒÔSQLÈëÊÖ·ÖÎö±íÊÇ·ñȱÉÙË÷Òý£¬±íÁ¬½Ó˳ÐòÊÇ·ñÕýÈ·£¬Ê¹ÓõÄË÷ÒýÊÇ·ñÕýÈ·µÈ£¬È»ºóÔÙ¿¼Âǵ÷Õû±í½á¹¹£¬µ÷ÕûÒµÎñÂß¼µÈµÈ¡£Òò´Ë£¬SQLÓï¾äÊÇÎÒÃǶÔÒ»¸öORACLEÒµÎñϵͳ½øÐÐÓÅ»¯µÄÇÃÃÅש¡£
¡¡¡¡¶ÔÓÚSQLÓÅ»¯£¬Ç°ÃæÌáµ½ÁË£¬ORACLEµÄÖ´Ðмƻ®ÊÇÎÒÃDZØÐëʹÓõŤ¾ß¡£±¾À´°´ORACLEϵͳ±¾ÉíÌṩµÄ·½·¨»ñÈ¡Ö´Ðмƻ®ÊÇÒ»¼þ·Ç³£Âé·³µÄÊÂÇ飬²»¹ýÏÖÔڵĿÉÊÓ»¯¹¤¾ß±ÈÈçPL/SQL DEVELOP»òÕßTOADµÈ¶¼¸øÎÒÃÇÌṩÁ˷dz£·½±ãµÄÊÖ¶ÎÀ´»ñÈ¡SQLÓï¾äµÄÖ´Ðмƻ®£¬²»¹ýÎÒÈÏΪORACLE±¾ÉíÌṩµÄ·½·¨»¹ÊÇÓбØÒª»áµÄ£¬ÌرðÊÇÔÚÔ¶³Ì´¦ÀíÎÊÌâµÄʱºò(ÎÒÒ²²»»á£¬Ò»¶¨ÒªÑ§Ï°Ò»ÏÂ)¡£
¡¡¡¡»ñÈ¡ÓÐÐÔÄÜÎÊÌâµÄSQLÓï¾ä£¬ÎÒÃÇÖ÷ÒªÓÐÁ½¸ö;¾¶£¬Ò»¸öÊÇͨ¹ýSTATSPACK±¨¸æ¡£±¨¸æÖÐÓÐÁ½½ÚÊÇÎÒÃÇÐèÒªÖصã¹Ø×¢µÄ:¡¶SQL ordered by Gets for¡·ºÍ¡¶SQL ordered by Reads for DB¡·£¬ÕâÁ½½ÚÖзֱð°´Óï¾ä¶ÁÈ¡ÄÚ´æÊý¾Ý¿â¿éºÍ¶ÁÈ¡µÄÎïÀíÊý¾Ý¿â¿é(Êý¾Ý¿â¿éÊÇÖ¸ORACLEµÄ¿é´óС£¬Ò»°ãÊDzÙ×÷ϵͳ×îС¿éµÄÕûÊý±¶)µÄÊýÁ¿µ¹ÐòÅÅÁУ¬Èç¹ûÆäÖеÄÓï¾ä²»È«(Ì«³¤)£¬¿Éͨ¹ýHASH_VALUEÖµµ½ORACLEµÄ¶¯Ì¬ÊÓͼV$SQLTEXTÖлñÈ¡¸ÃSQLµÄÈ«²¿Óï¾ä¡£µÚ¶þ¸öÊÇͨ¹ýORACLEϵͳµÄ¶¯Ì¬ÊÓͼ£¬V$SQL£¬¸ÃÊÓͼ¼Ç¼ÁËÿ¸öSQLÓï¾äµÄÖ´ÐдÎÊý£¬ÎïÀí¶ÁºÍÄÚ´æ¶Á¡¢Ö´ÐÐʱ¼äµÈµÈºÜ¶àSQLÓï¾äµÄÖ´ÐÐÐÅÏ¢£¬¿ÉÒÔͨ¹ýÈçÏÂÓï¾äÑ¡ÔñÒ»ÏÂÎïÀí¶ÁºÍÄÚ´æ¶Á½Ï¸ßµÄÓï¾ä: SELECT
t.HASH_VALUE,
t.EXECUTIONS,
t.DISK_READS,
round(t.DISK_READS/t.EXECUTIONS) AS perDiskReads,
t.BUFFER_GETS,
round(t.BUFFER_GETS/t.EXECUTIONS) AS perBufferReads,
t.ELAPSED_TIME,
round(t.ELAPSED_TIME/t.EXECUTIONS) AS perElayTime,
t.CPU_TIME,
round(t.CPU_TIME/t.EXECUTIONS) AS perCpuTime,
t.FIRST_LOAD_TIME,
t.SQL_TEXT
FROM v$sql t
WHERE (t.DISK_READS/t.EXECUTIONS > 500 OR t.BUFFER_GETS/t.EXECUTIONS > 20000)
AND t.EXECUTIONS > 0
ORDER BY 6 DESC;
¡¡¡¡Õâ¸öÓï¾ä²éѯ³öÀ´µÄSQL¿ÉÄÜÒ²²»È«£¬Ò²¿ÉÒÔͨ¹ýHASH_VALUEÔÚV$SQLTEXTÖÐÕÒµ½ÆäÈ«²¿µÄSQL¡£
¡¡¡¡¶ÔÓÚÕÒµ½µÄSQLÓï¾äÎÒÃÇ¿ÉÒÔÖðÒ»·ÖÎöÆäÖ´Ðмƻ®£¬½áºÏÉæ¼°µ½µÄ±íµÄÊý¾ÝÁ¿£¬ÎÒÃÇ¿ÉÒÔ¹ÀËã»òÕß²âÊÔ¸ÃÓï¾äµÄÖ´ÐÐЧÂÊ£¬·ÖÎö±íWHEREÌõ¼þÖÐÉæ¼°µÄ×Ö¶Î(ÊõÓï½Ð×öν´Ê)£¬¸Ã×Ö¶ÎÊý¾Ý·Ö²¼ÈçºÎ£¬Ñ¡ÔñÐÔÊÇ·ñºÃ£¬ÊÇ·ñÓÐË÷Òý¡£ÕâÊÇÒ»¸ö·Ç³£·±ÔÓºÍËöËéµÄ¹¤×÷£¬µ«´ÓÕâЩËöËéµÄ¹¤×÷ÖУ¬ÎÒÃÇÄÜ·¢ÏÖÄÇЩSQLÖ´ÐÐʱѡÔñµÄË÷Òý²»¶Ô£¬ÄÄЩ±íȱÉÙÏàÓ¦µÄË÷Òýµ¼ÖÂÁËÈ«±íɨÃ裬ÄÄЩÓï¾äÌõ¼þ²»¹»µ¼Ö¶ԷÖÇø±í½øÐÐÁËÈ«±íɨÃè¡£×ÜÖ®£¬¶ÔÓÚÒ»¸ö¸ø¶¨µÄSQL£¬ÎÒÃǽáºÏÆä±íÊý¾ÝÁ¿µÄ´óСºÍ·Ö²¼£¬SQLÖÐʹÓõIJéѯÌõ¼þ£¬Äܹ»ÕÒµ½Ò»¸öÐÔÄÜ×îÓŵÄÖ´Ðз½Ê½£¬Í¨¹ýµ÷ÕûË÷Òý¡¢Ê¹ÓÃORACLEÌáʾ£¬Ê¹ORACLEϵͳ°´ÕÕ×îÓŵķ½Ê½À´Ö´ÐÐSQL¡£ÈçºÎÈ¥·ÖÎöºÍÈ·¶¨ORACLEµÄÖ´Ðз½Ê½£¬Ò»¸ö×îÆÕ±éµÄÔÔò¾ÍÊǾ¡Á¿¸ù¾ÝÆäν´Ê(²éѯÌõ¼þ)£¬Ê¹ÓÃÑ¡ÔñÐÔ×îºÃµÄË÷Òý(µ±È»£¬¶ÔÓÚһЩС±í£¬¿ÉÒÔ¿¼ÂÇʹÓÃÈ«±íɨÃèµÄ·½Ê½ÐÔÄÜ»á¸üºÃ)¡£¶ÔÓÚSQLµÄÖ´Ðз½Ê½£¬ÐèÒªÔÚ¹¤×÷Öв»¶Ï»ýÀÛ¾Ñ飬±ÈÈçÔø¾ÔÚÒ»´ÎÓÅ»¯Öз¢ÏÖ¶ÔÒ»¸ö±í°²Èý¸ö×ֶβéѯµÄ·Ç³£¶à£¬Òò´Ë¾ö¶¨½¨Á¢¸ÃÈý¸ö×ֶεĸ´ºÏË÷Òý£¬µ«½á¹ûÆäÓï¾äÖ´ÐÐЧÂÊÈ´¸ü²î¡£
¡¡¡¡ºÇºÇ£¬½ñÌìÏÈдÕâô¶àÁË£¬Ï£Íû´ó¼Ò¶à¶àÖ¸½Ì¡£