¡¾×ª¡¿¼òµ¥ËµÒ»Ëµ Oracle¿âµÄHang
·Ç³£ÉÙµÄÇé¿öÏ£¬ÎÒÃÇ»á¸Ð¾õÎÒÃǵĿ⡱Hang¡±ÁË£¬¼ÓÁËÒþºÅµÄÒâ˼ÊÇ˵ÓÐÊ±ÕæµÄÊÇHangÁË£¬ÓÐһЩÔò²»ÊÇ£¬ÊÇÓÉÓÚÐÔÄܵÄÎÊÌâÒýÆðµÄ¡£ÎÒÓöµ½¹ý¼¸´ÎHangµÄÇé¿ö£¬½áºÏ×ÅÍøÉÏһЩÎÄÕ£¬°Ñ¿ÉÄܵÄÔÒò¡¢µ±Ê±ÎÒÃÇÓ¦¸Ã×öµÄһЩ²Ù×÷½øÐÐÁËÈçϵÄ×ܽᣬ²»¶ÔµÄµØ·½´ó¼Ò¿ÉÒÔ·¢Mail¸øÎÒ:crane@storren.net ¡£
Ò»¡¢Êý¾Ý¿âHangʱ¿ÉÄܵÄÏÖÏó
1¡¢×îÖ±¹ÛµÄÊÇÄãµÄ´ó²¿·ÖµÄÒµÎñ²Ù×÷£¬±ÈÈç˵һ¸ö²éѯ¶¼Ê¹Óúó¤µÄʱ¼ä£¬»ò¸ù±¾¾Í·µ»Ø²»³ö½á¹û¡£ÕâºÍ¼òµ¥ÄÇÖÖËø±íÊÇÓÐÇø±ðµÄ¡£
2¡¢ÔÚ²Ù×÷ϵͳÉÏÓÃHp-unixÓÃglance¡¢AixÓÃnmon¼°ÓÃsar×ö¼à²â»á³öÏÖϵͳ¿ÕÏеļÙÏ󣬱íÃæ¿´ÆðÀ´ÏµÍ³ºÜÏУ¬Êµ¼ÊÉÏϵͳÒѾHangÁË¡£
3¡¢²év$session_wait»á³öÏÖ´óÁ¿µÄ¡±latch free¡±¡¢¡±enqueue¡±¡¢¡± free buffer waits¡±µÈµÈ´ýʼþ£¬ÓÐʱºǫ́»á³öÏÖ´óÁ¿µÄ.trcÎļþ£¬ÁíÍâÐèÒª¹Û×¢Ò»ÏÂ$ORACLE_HOME/rdbms/logÕâ¸öλÖã¬ÓÐһЩʱºîtraceÎļþ»áÉú³Éµ½ÕâÀï¡£
¶þ¡¢Oracle¿âHangʱһЩÓÐÓõIJÙ×÷ºÍ²éѯ
1¡¢Èç¹ûҪѰÇóOracleµÄ¼¼ÊõÖ§³Ö£¬ÎÒÃÇÐèÒªdumpÒ»ÏÂOracleµÄsystemstate£¬²Ù×÷ÈçÏÂ
SQL> alter session set events 'immediate trace name SYSTEMSTATE level 10';
SQL>conn / as sysdba;
SQL>set pagesize 0
SQL> SELECT * from v$parameter;
SQL>SELECT sid, id1, id2, type, lmode, request from v$lock;
SQL>SELECT * from v$session_wait ORDER BY sid; --¸ô¼¸ÃëÖØ¸´Ö´ÐÐ3´Î¡£
µ±µÃµ½OracleµÄ¿âÆæÂý»òHangʱ±£³ÖÀä¾²µÄÍ·ÄÔºÜÖØÒªµÄ£¬¿ÉÒÔ°´ÈçÏµķ½·¨½øÐÐһЩ´¦Àí£º
1¡¢Ê×ÏÈÒªµ½²Ù×÷ϵͳÉÏÈ¥£¬ÓÃglanceµÈ¹¤¾ß½øÐÐһϹ۲죬¿´Ò»ÏÂcpu¡¢ÄÚ´æ¡¢½»»»Çø¡¢´ÅÅ̵ķ±Ã¦³Ì¶ÈÓëÆ½Ê±ÊDz»ÊÇÏàËÆµÄ£¬Í¬Ê±¿´Ò»¿´ÓÐûÓÐռϵͳ×ÊÔ´ÌØ±ð´óµÄ½ø³Ì£¬ÓÐЩʱºîÊÇÕâЩ½ø³ÌÒýÆðµÄ£¬Í¨¹ýv$processºÍv$sessionÁ½¸öÊÓͼÕÒµ½ÕâOracle½ø³ÌµÄsid,serial#,°ÑËüÓÃAlter system kill session ¡®sid,serial#¡¯;ɱµô¾ÍÐÐÁË¡£Èç¹ûƽʱͬÑùµÄʱ¶ÎÄãµÄ´ÅÅ̵ķ±Ã¦³Ì¶ÈÊÇ95%£¬¶øÐ©Ê±ËüΪ20%£¬µ±È»ÊǼÙÉèÁË£¬ËµÃ÷OracleµÄ¿âÃ»×¼ÕæµÄhangÁË¡£
2¡¢Ê±¼äÀ´µÃ¼°µÄ»°Ö´ÐÐһϡ±¶þ¡±ÖеÄÓï¾äÊǺܱØÒªµÄ£¬ÕâÑù¿ÉÒÔ°ÑÕâЩÐÅÏ¢Ìá½»¸øOracleµÄsupporter£¬ÈÃÄãÃǸøÄã·ÖÎöһϣ¬²éÒ»ÏÂÔÒò¡£
3¡¢Èç¹ûÄãµÄ¿â¿ª¹éµµÁË£¬³öÏÖHangµÄʱºîÒ»¶¨Òª¿´Ò»Ï¹鵵ÈÕÖ¾µÄÎļþϵͳÊDz»ÊÇÂúÁË£¬×öÒ»¸öÍ걸һЩµÄÍø¹ÜϵͳÊǺܱØÒªµÄ¡£
4¡¢ÔÚHPϵͳÉÏ´ò¿ªÒì²½IOʱһ¶¨²»ÒªÍü¼ÇΪdbaÕâ¸ö×é¼ÓÉÏMLOCKµÄȨÏÞ£¬ÎÒ¾
Ïà¹ØÎĵµ£º
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
extent--×îС¿Õ¼ä·ÖÅ䵥λ --tablespace management
block --×îСi/oµ¥Î» --segment management
create tablespace james
datafile '/export/home/oracle/oradata/james.dbf'
size 100M ¡¡¡¡¡¡¡¡¡¡¡¡--³õʼµÄÎļþ´óС¡¡
autoextend On¡¡¡¡¡¡¡¡ --×Ô¶¯Ôö³¤
next 10M¡ ......
ÔÎĵØÖ·£ºhttp://www.cnblogs.com/yf520gn/archive/2009/01/12/1374359.html
EXISTSµÄÖ´ÐÐÁ÷³Ì
select * from t1 where exists ( select null from t2 where y = x )
¿ÉÒÔÀí½âΪ:
for x in ( select * from t1 )
loop
if ( exists ( select null from ......
Oracle 11gÓÚ2007Äê7ÔÂ11ÈÕÃÀ¹ú¶«²¿Ê±¼ä11ʱ£¨±±¾©Ê±¼ä11ÈÕ22ʱ£©Õýʽ·¢²¼£¬11gÊǼ׹ÇÎĹ«Ë¾30ÄêÀ´·¢²¼µÄ×îÖØÒªµÄÊý¾Ý¿â°æ±¾£¬¸ù¾ÝÓû§µÄÐèÇóʵÏÖÁËÐÅÏ¢ÉúÃüÖÜÆÚ¹ÜÀí£¨Information Lifecycle Management£©µÈ¶àÏС£
Ò»£®ÐÂÌØÐÔÌá¸Ù
1.Êý¾Ý¿â¹ÜÀí²¿·Ö
¡ôÊý¾Ý¿âÖØÑÝ(Database Replay)&nb ......
1¡¢Ê¹ÓÃ%TYPE
ÔÚÐí¶àÇé¿öÏ£¬PL/SQL±äÁ¿¿ÉÒÔÓÃÀ´´æ´¢ÔÚÊý¾Ý¿â±íÖеÄÊý¾Ý¡£ÔÚÕâÖÖÇé¿öÏ£¬±äÁ¿Ó¦¸ÃÓµÓÐÓë±íÁÐÏàͬµÄÀàÐÍ¡£ÀýÈ磬students±íµÄfirst_nameÁеÄÀàÐÍΪVARCHAR2(20),ÎÒÃÇ¿ÉÒÔ°´ÕÕÏÂÊö·½Ê½ÉùÃ÷Ò»¸ö±äÁ¿
DECLARE
v_FirstName VARCHAR2(20);
µ«ÊÇÈç¹ûfirst_nameÁе͍Òå¸Ä±äÁ˻ᷢÉúʲô£¨±ÈÈç˵±í¸Ä±äÁË£¬first ......