Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

30¸öOracleÓï¾äÓÅ»¯¹æÔòÏê½â

1.Ñ¡ÓÃÊʺϵÄOracleÓÅ»¯Æ÷
OracleµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ£º
a.RULE(»ùÓÚ¹æÔò)
b.COST(»ùÓڳɱ¾)
c.CHOOSE(Ñ¡ÔñÐÔ)
ÉèÖÃȱʡµÄÓÅ»¯Æ÷£¬¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊýµÄ
¸÷ÖÖÉùÃ÷£¬ÈçRULE¡¢COST¡¢CHOOSE¡¢ALL_ROWS¡¢FIRST_ROWS¡£Ä㵱ȻҲÔÚSQL¾ä¼¶»òÊǻỰ(session)¼¶¶ÔÆä½øÐи²
¸Ç¡£
ΪÁËʹÓûùÓڳɱ¾µÄÓÅ»¯Æ÷(CBO£¬Cost-Based
Optimizer)£¬Äã±ØÐë¾­³£ÔËÐÐanalyzeÃüÁÒÔÔö¼ÓÊý¾Ý¿âÖеĶÔÏóͳ¼ÆÐÅÏ¢(object statistics)µÄ׼ȷÐÔ¡£
Èç¹ûÊý¾Ý¿âµÄÓÅ»¯Æ÷ģʽÉèÖÃΪѡÔñÐÔ(CHOOSE)£¬ÄÇôʵ¼ÊµÄÓÅ»¯Æ÷ģʽ½«ºÍÊÇ·ñÔËÐÐ
¹ýanalyzeÃüÁîÓйء£Èç¹ûtableÒѾ­±»analyze¹ý£¬ÓÅ»¯Æ÷ģʽ½«×Ô¶¯³ÉΪCBO£¬·´Ö®£¬Êý¾Ý¿â½«²ÉÓÃRULEÐÎʽµÄÓÅ»¯Æ÷¡£
ÔÚȱʡÇé¿öÏ£¬Oracle²ÉÓÃCHOOSEÓÅ»¯Æ÷£¬ÎªÁ˱ÜÃâÄÇЩ²»±ØÒªµÄÈ«±íɨÃè
(full table scan)£¬Äã±ØÐ뾡Á¿±ÜÃâʹÓÃCHOOSEÓÅ»¯Æ÷£¬¶øÖ±½Ó²ÉÓûùÓÚ¹æÔò»òÕß»ùÓڳɱ¾µÄÓÅ»¯Æ÷¡£
2.·ÃÎÊTableµÄ·½Ê½Oracle²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½£º
a.È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼¡£Oracle²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é
(database block)µÄ·½Ê½ÓÅ»¯È«±íɨÃè¡£
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö£¬Ìá¸ß·ÃÎʱíµÄЧÂÊ£¬ROWID°üº¬Á˱íÖмǼµÄ
ÎïÀíλÖÃÐÅÏ¢……Oracle²ÉÓÃË÷Òý(INDEX)ʵÏÖÁËÊý¾ÝºÍ´æ·ÅÊý¾ÝµÄÎïÀíλÖÃ(ROWID)Ö®¼äµÄÁªÏµ¡£Í¨³£Ë÷ÒýÌṩÁË¿ìËÙ·ÃÎÊROWIDµÄ·½
·¨£¬Òò´ËÄÇЩ»ùÓÚË÷ÒýÁеIJéѯ¾Í¿ÉÒԵõ½ÐÔÄÜÉϵÄÌá¸ß¡£
3.¹²ÏíSQLÓï¾ä
ΪÁ˲»Öظ´½âÎöÏàͬµÄSQLÓï¾ä£¬ÔÚµÚÒ»´Î½âÎöÖ®ºó£¬Oracle½«SQLÓï¾ä´æ·ÅÔÚÄÚ´æ
ÖС£Õâ¿éλÓÚϵͳȫ¾ÖÇøÓòSGA(system global area)µÄ¹²Ïí³Ø(shared buffer
pool)ÖеÄÄÚ´æ¿ÉÒÔ±»ËùÓеÄÊý¾Ý¿âÓû§¹²Ïí¡£Òò´Ë£¬µ±ÄãÖ´ÐÐÒ»¸öSQLÓï¾ä(ÓÐʱ±»³ÆÎªÒ»¸öÓαê)ʱ£¬Èç¹ûËüºÍ֮ǰµÄÖ´ÐйýµÄÓï¾äÍêÈ«Ïà
ͬ£¬Oracle¾ÍÄܺܿì»ñµÃÒѾ­±»½âÎöµÄÓï¾äÒÔ¼°×îºÃµÄÖ´Ðз¾¶¡£OracleµÄÕâ¸ö¹¦ÄÜ´ó´óµØÌá¸ßÁËSQLµÄÖ´ÐÐÐÔÄܲ¢½ÚÊ¡ÁËÄÚ´æµÄʹÓá£
¿ÉϧµÄÊÇOracleÖ»¶Ô¼òµ¥µÄ±íÌṩ¸ßËÙ»º³å(cache buffering)
£¬Õâ¸ö¹¦Äܲ¢²»ÊÊÓÃÓÚ¶à±íÁ¬½Ó²éѯ¡£
Êý¾Ý¿â¹ÜÀíÔ±±ØÐëÔÚinit.oraÖÐΪÕâ¸öÇøÓòÉèÖúÏÊʵIJÎÊý£¬µ±Õâ¸öÄÚ´æÇøÓòÔ½´ó£¬¾Í
¿ÉÒÔ±£Áô¸ü¶àµÄÓï¾ä£¬µ±È»±»¹²ÏíµÄ¿ÉÄÜÐÔÒ²¾ÍÔ½´óÁË¡£
µ±ÄãÏòOracleÌá½»Ò»¸öSQLÓï¾ä£¬Oracle»áÊ×ÏÈÔÚÕâ¿éÄÚ´æÖвéÕÒÏàͬµÄÓï¾ä¡£
ÕâÀïÐèҪעÃ÷µÄÊÇ£¬Oracle¶ÔÁ½Õß²ÉÈ¡µÄÊÇÒ»ÖÖÑϸñÆ¥Å䣬Ҫ´ï³É¹²Ïí£¬SQLÓï¾ä±ØÐë
ÍêÈ«ÏàÍ


Ïà¹ØÎĵµ£º

oracleµÄescapeתÒå×Ö·û

¶¨Ò壺escape¹Ø¼ü×Ö¾­³£ÓÃÓÚÊ¹Ä³Ð©ÌØÊâ×Ö·û£¬ÈçͨÅä·û£º'%','_'תÒåΪËüÃÇÔ­
À´µÄ×Ö·ûµÄÒâÒ壬±»¶¨ÒåµÄתÒå×Ö·ûͨ³£Ê¹ÓÃ'\',µ«ÊÇÒ²¿ÉÒÔʹÓÃÆäËûµÄ·ûºÅ¡£
ʵÀý£º
SQL> select * from t11 where name like '%_%';
NAME
----------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';
NAME
......

Oracle ·ÖÎöº¯Êý·Ö×éÀÛ¼Ó£¡

Óû§ºÅÂë µÇ½ʱ¼ä
1300000000 2010-01-01
1300000001 2010-01-01
1300000002 2010-01-02
1300000001 2010-01-02
1300000003 2010-01-03
1300000002 2010-01-03
1300000004 2010-01-04
1300000003 2010-01-04
1300000004 2010-01-02
1300000006 2011-01-04
1300000001 2011-01-04
 ÌÞ³ýÖØ¸´µ ......

ORACLE LOGMINERʹÓüòµ¥²½Öè

±¾ÉíÕâ¸ö²½ÖèºÜ¶à¸ßÊÖ¶¼ÒѾ­Ìù¹ýÁË£¬Ö»ÊÇÎÒÔÚʹÓÃÖз¢ÏÖ´óÌåÉÏ´ó¼ÒдµÄ¶¼ÓÐЩ¸´ÔÓ£¬ÓÚÊÇ£¬ÎÒ×ܽáÁ˸ö³¬¼¶¼ò»¯°æµÄ£¬·½±ã´ó¼ÒʹÓãº
1.°²×°LOGMNR°ü£¬ÐèÒª±¾²½Öèûʲô¿É¶à˵µÄ£¬Ö»ÊÇÐèҪעÒâÔÚÁ¬½ÓÊý¾Ý¿âµÄʱºòĬÈÏ×îºÃʹÓñ¾µØÑéÖ¤·½Ê½
C:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> @D:\oracle\product\10 ......

¡¶Oracle DBAÊּǡ· 24СʱСÑùµ½ÊÖ


×÷Õߣºeygle |English Version ¡¾×ªÔØÊ±ÇëÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷¡¿
Á´½Ó£ºhttp://www.eygle.com/archives/2010/01/oracle_dba_notebook.html
½ñÌ죬ÊÕµ½Á˳ö°æÉç¿ìµÝ¶øÀ´µÄ¡¶Oracle DBAÊּǡ·Ò»ÊéµÄ24СʱСÑù£¬Õâ¸öСÑùͨ¹ýÖ®ºó£¬Êé¾Í¿ÉÒÔ³ÉÅúÓ¡Ë¢£¬Ö¸ÈÕ¿É´ýÁË¡£×î¿ìµÄ¹À¼ÆÊÇÏÂÖÜ¿ÉÒÔÉ ......

oracleÐòÁвÙ×÷

--  ÐòÁвÙ×÷ --
-- ´´½¨ÐòÁÐ
CREATE SEQUENCE u_sales_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1 NOCYCLE NOCACHE NOORDER;
-- ²é³öËùÓдæÔÚµÄÐòÁÐ
SELECT * from  user_sequences  
-- ɾ³ýÐòÁÐ
DROP  SEQUENCE  U_SALES_SEQ;
-- ²é³öÏÂÒ»¸öÐòÁÐID
SELECT  U_SALES_SEQ. ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ