OracleµÄÓÅ»¯Æ÷ÓÐÁ½ÖÖÓÅ»¯·½Ê½(Ò»)
OracleµÄÓÅ»¯Æ÷ÓÐÁ½ÖÖÓÅ»¯·½Ê½(ÕûÀí), 2010-04-13
RBO·½Ê½£º»ùÓÚ¹æÔòµÄÓÅ»¯·½Ê½(Rule-Based Optimization£¬¼ò³ÆÎªRBO)
ÓÅ»¯Æ÷ÔÚ·ÖÎöSQLÓï¾äʱ,Ëù×ñѵÄÊÇOracleÄÚ²¿Ô¤¶¨µÄһЩ¹æÔò¡£±ÈÈçÎÒÃdz£¼ûµÄ£¬µ±Ò»¸öwhere×Ó¾äÖеÄÒ»ÁÐÓÐË÷Òýʱȥ×ßË÷Òý¡£
CBO·½Ê½£º»ùÓÚ´ú¼ÛµÄÓÅ»¯·½Ê½(Cost-Based Optimization£¬¼ò³ÆÎªCBO)
ËüÊÇ¿´Óï¾äµÄ´ú¼Û(Cost),ÕâÀïµÄ´ú¼ÛÖ÷ÒªÖ¸CpuºÍÄÚ´æ¡£ÓÅ»¯Æ÷ÔÚÅжÏÊÇ·ñÓÃÕâÖÖ·½Ê½Ê±,Ö÷Òª²ÎÕÕµÄÊÇ±í¼°Ë÷ÒýµÄͳ¼ÆÐÅÏ¢¡£Í³¼ÆÐÅÏ¢¸ø³ö±íµÄ´óС¡¢ÓÐÉÙÐС¢Ã¿Ðеij¤¶ÈµÈÐÅÏ¢¡£ÕâЩͳ¼ÆÐÅÏ¢Æð³õÔÚ¿âÄÚÊÇûÓеģ¬ÊÇ×öanalyzeºó²Å³öÏֵģ¬ºÜ¶àʱºò¹ýÆÚͳ¼ÆÐÅÏ¢»áÁîÓÅ»¯Æ÷×ö³öÒ»¸ö´íÎóµÄÖ´Ðмƻ®,Òò´ËÓ¦¼°Ê±¸üÐÂÕâЩÐÅÏ¢¡£
ËùÒÔhintÒ²²»ÀýÍ⣬³ýÁË/*+rule*/ÆäËûµÄ¶¼ÊÇCBOÓÅ»¯·½Ê½
ÓÅ»¯Ä£Ê½°üÀ¨Rule¡¢Choose¡¢First rows¡¢All rowsËÄÖÖ·½Ê½£º
Rule£º»ùÓÚ¹æÔòµÄ·½Ê½¡£
Choose£ºÄ¬ÈϵÄÇé¿öÏÂOracleÓõıãÊÇÕâÖÖ·½Ê½¡£Ö¸µÄÊǵ±Ò»¸ö±í»òË÷ÒýÓÐͳ¼ÆÐÅÏ¢£¬Ôò×ßCBOµÄ·½Ê½£¬Èç¹û±í»òË÷Òýûͳ¼ÆÐÅÏ¢£¬±íÓÖ²»ÊÇÌØ±ðµÄС£¬¶øÇÒÏàÓ¦µÄÁÐÓÐË÷Òýʱ£¬ÄÇô¾Í×ßË÷Òý£¬×ßRBOµÄ·½Ê½¡£
PS: ÓÅ»¯Ä£Ê½ÊÇCHOOSEµÄÇé¿öÏ£¬¿´Cost²ÎÊýÊÇ·ñÓÐÖµÀ´¾ö¶¨²ÉÓÃCBO»¹ÊÇRBO£º
SELECT STATEMENT [CHOOSE] Cost=1234 --CostÓÐÖµ£¬²ÉÓÃCBO
SELECT STATEMENT [CHOOSE] Cost= --CostΪ¿Õ£¬²ÉÓÃRBO
PSµÄÐÅÏ¢ÊÇ´ÓÁíÍâÆªÌû×ÓÀï¿´µ½µÄ,COSTÓÐÖµÓ¦¸ÃÊÇÖ¸“ÓÐͳ¼ÆÐÅÏ¢”µÄº¬Òå,ÔÝʱÈç´ËÀí½â.
First Rows£ºËüÓëChoose·½Ê½ÊÇÀàËÆµÄ£¬Ëù²»Í¬µÄÊǵ±Ò»¸ö±íÓÐͳ¼ÆÐÅϢʱ£¬Ëü½«ÊÇÒÔ×î¿ìµÄ·½Ê½·µ»Ø²éѯµÄ×îÏȵļ¸ÐУ¬´Ó×ÜÌåÉϼõÉÙÁËÏìӦʱ¼ä¡£
All Rows:Ò²¾ÍÊÇÎÒÃÇËù˵µÄCostµÄ·½Ê½£¬µ±Ò»¸ö±íÓÐͳ¼ÆÐÅϢʱ£¬Ëü½«ÒÔ×î¿ìµÄ·½Ê½·µ»Ø±íµÄËùÓеÄÐУ¬´Ó×ÜÌåÉÏÌá¸ß²éѯµÄÍÌÍÂÁ¿¡£Ã»ÓÐͳ¼ÆÐÅÏ¢Ôò×ßRBOµÄ·½Ê½
OracleÈçºÎÅäÖÃĬÈϵÄÓÅ»¯¹æÔò
A¡¢Instance¼¶±ðÎÒÃÇ¿ÉÒÔͨ¹ýÔÚinitSID.oraÎļþÖÐÉ趨OPTIMIZER_MODE=RULE/CHOOSE/FIRST_ROWS/ALL_ROWSÈç¹ûûÉ趨OPTIMIZER_MODE²ÎÊýÔòĬÈÏÓõÄÊÇChoose·½Ê½¡£
B¡¢Sessions¼¶±ðͨ¹ýALTER SESSION SET OPTIMIZER_MODE=RULE/CHOOSE/FIRST_ROWS/ALL_ROWSÀ´É趨.
C¡¢Óï¾ä¼¶±ðÓÃHint£¨/*+ ... */£©À´É趨
Ϊʲô±íµÄij¸ö×Ö¶ÎÃ÷Ã÷ÓÐË÷Òý£¬µ«Ö´Ðмƻ®È´²»×ßË÷Òý£¿
1¡¢ÓÅ»¯Ä£Ê½ÊÇall_rowsµÄ·½Ê½
2¡¢±í×÷¹ýanalyze£¬ÓÐͳ¼ÆÐÅÏ¢
3
Ïà¹ØÎĵµ£º
--¶¨ÒåÊý¾Ý¿âÁ¬½Ó·Ö·¢Æ÷
alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=imapdb)(DISPATCHERS=5)(PROTOCOL=IPC)(DISPATCHERS=5)' scope=spfile;
--¶¨Òå¹²Ïí·þÎñÊý
alter system set shared_servers=20 scope=spfile;
--¶¨Òå¹²Ïí·þÎñµÄsessionÊý
alter system set shared_server_sessions=1024 scope=spfile;
......
oracleÌåϵ½á¹¹ÉîÈëѧϰBuffer Cache - Overview
oracle 2009-09-02 23:13:26 ÔĶÁ40 ÆÀÂÛ0 ×ֺţº´óÖÐС
ÌÎÌÎÉîÈëѧϰoracleÌåϵ½á¹¹
ÎÒ·¢¾õ£¬Ó¢ÎĵÄһЩ¼¼ÊõÎÄÕÂÔÚÃèÊöoracleÔÀí·Ç³£µÄÇ¡µ±µ½Î»£¬±í´ïµÄ·Ç³£µÄÃÀ£¬ºÇºÇ¡£Ó¢ÎIJ»ºÃ£¬Ï׳ó·Ò벢ѧϰÁË£¬ÈÏÕæ¿´ÁË£¬ÏàÐÅÄãÊÜÒæ·Ëdz¡£
oracleÌåϵ½á¹¹Ö®£ºBuffer Cache - O ......
1¡¢ORA£12541£ºTNS£ºÃ»ÓмàÌýÆ÷ ¡¡¡¡
ÔÒò£ºÃ»ÓÐÆô¶¯¼àÌýÆ÷»òÕß¼àÌýÆ÷Ë𻵡£Èç¹ûÊÇǰÕߣ¬Ê¹ÓÃÃüÁînet start OracleOraHome81TNSListener£¨Ãû×Ö¿ÉÄÜÓгöÈ룩¼´¿É£»Èç¹ûÊǺóÕߣ¬ÔòʹÓÓNet8 Configuration Assistant”¹¤¾ßÏòµ¼Ö®“¼àÌý³ÌÐòÅäÖÔÔö¼ÓÒ»¸ö¼àÌýÆ÷¼´¿É£¨»ù±¾²» ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬
DOSÖп ......