ORACLEÖ´Ðмƻ®µÄһЩ»ù±¾¸ÅÄî
Ò»£®Ïà¹ØµÄ¸ÅÄî
RowidµÄ¸ÅÄrowidÊÇÒ»¸öαÁУ¬¼ÈÈ»ÊÇαÁУ¬ÄÇôÕâ¸öÁоͲ»ÊÇÓû§¶¨Ò壬¶øÊÇϵͳ×Ô¼º¸ø¼ÓÉϵġ£¶Ôÿ¸ö±í¶¼ÓÐÒ»¸örowidµÄαÁУ¬µ«ÊÇ
±íÖв¢²»ÎïÀí´æ´¢ROWIDÁеÄÖµ¡£²»¹ýÄã¿ÉÒÔÏñʹÓÃÆäËüÁÐÄÇÑùʹÓÃËü£¬µ«ÊDz»ÄÜɾ³ý¸ÄÁУ¬Ò²²»ÄܶԸÃÁеÄÖµ½øÐÐÐ޸ġ¢²åÈë¡£Ò»µ©Ò»ÐÐÊý¾Ý²åÈëÊý¾Ý¿â£¬Ôò
rowidÔÚ¸ÃÐеÄÉúÃüÖÜÆÚÄÚÊÇΨһµÄ£¬¼´¼´Ê¹¸ÃÐвúÉúÐÐÇ¨ÒÆ£¬ÐеÄrowidÒ²²»»á¸Ä±ä¡£
Recursive
SQL¸ÅÄÓÐʱΪÁËÖ´ÐÐÓû§·¢³öµÄÒ»¸ösqlÓï¾ä£¬Oracle±ØÐëÖ´ÐÐһЩ¶îÍâµÄÓï¾ä£¬ÎÒÃǽ«ÕâЩ¶îÍâµÄÓï¾ä³ÆÖ®Îª'recursive
calls'»ò'recursive SQL statements'¡£Èçµ±Ò»¸öDDLÓï¾ä·¢³öºó£¬ORACLE×ÜÊÇÒþº¬µÄ·¢³öһЩrecursive
SQLÓï¾ä£¬À´ÐÞ¸ÄÊý¾Ý×ÖµäÐÅÏ¢£¬ÒÔ±ãÓû§¿ÉÒԳɹ¦µÄÖ´ÐиÃDDLÓï¾ä¡£µ±ÐèÒªµÄÊý¾Ý×ÖµäÐÅϢûÓÐÔÚ¹²ÏíÄÚ´æÖÐʱ£¬¾³£»á·¢ÉúRecursive
calls£¬ÕâЩRecursive calls»á½«Êý¾Ý×ÖµäÐÅÏ¢´ÓÓ²Å̶ÁÈëÄÚ´æÖС£Óû§²»±È¹ØÐÄÕâЩrecursive
SQLÓï¾äµÄÖ´ÐÐÇé¿ö£¬ÔÚÐèÒªµÄʱºò£¬ORACLE»á×Ô¶¯µÄÔÚÄÚ²¿Ö´ÐÐÕâЩÓï¾ä¡£µ±È»DMLÓï¾äÓëSELECT¶¼¿ÉÄÜÒýÆðrecursive
SQL¡£¼òµ¥µÄ˵£¬ÎÒÃÇ¿ÉÒÔ½«´¥·¢Æ÷ÊÓΪrecursive SQL¡£
Row Source(ÐÐÔ´)£ºÓÃÔÚ²éѯÖУ¬ÓÉÉÏÒ»²Ù×÷·µ»ØµÄ·ûºÏÌõ¼þµÄÐеļ¯ºÏ£¬¼´¿ÉÒÔÊDZíµÄÈ«²¿ÐÐÊý¾ÝµÄ¼¯ºÏ£»Ò²¿ÉÒÔÊDZíµÄ²¿·ÖÐÐÊý¾ÝµÄ¼¯ºÏ£»Ò²¿ÉÒÔΪ¶ÔÉÏ2¸örow source½øÐÐÁ¬½Ó²Ù×÷(ÈçjoinÁ¬½Ó)ºóµÃµ½µÄÐÐÊý¾Ý¼¯ºÏ¡£
Predicate(ν´Ê)£ºÒ»¸ö²éѯÖеÄWHEREÏÞÖÆÌõ¼þ
Driving Table(Çý¶¯±í)£º¸Ã±íÓÖ³ÆÎªÍâ²ã±í(OUTER TABLE)¡£Õâ¸ö¸ÅÄîÓÃÓÚǶÌ×ÓëHASHÁ¬½ÓÖС£Èç¹û¸Ãrow
source·µ»Ø½Ï¶àµÄÐÐÊý¾Ý£¬Ôò¶ÔËùÓеĺóÐø²Ù×÷ÓиºÃæÓ°Ïì¡£×¢Òâ´Ë´¦ËäÈ»·ÒëΪÇý¶¯±í£¬µ«Êµ¼ÊÉÏ·ÒëΪÇý¶¯ÐÐÔ´(driving row
source)¸üΪȷÇС£Ò»°ã˵À´£¬ÊÇÓ¦ÓòéѯµÄÏÞÖÆÌõ¼þºó£¬·µ»Ø½ÏÉÙÐÐÔ´µÄ±í×÷ΪÇý¶¯±í£¬ËùÒÔÈç¹ûÒ»¸ö´ó±íÔÚWHEREÌõ¼þÓÐÓÐÏÞÖÆÌõ¼þ(ÈçµÈÖµÏÞ
ÖÆ)£¬Ôò¸Ã´ó±í×÷ΪÇý¶¯±íÒ²ÊǺÏÊʵģ¬ËùÒÔ²¢²»ÊÇÖ»ÓнÏСµÄ±í¿ÉÒÔ×÷ΪÇý¶¯±í£¬Õýȷ˵·¨Ó¦¸ÃΪӦÓòéѯµÄÏÞÖÆÌõ¼þºó£¬·µ»Ø½ÏÉÙÐÐÔ´µÄ±í×÷ΪÇý¶¯±í¡£ÔÚÖ´ÐÐ
¼Æ»®ÖУ¬Ó¦¸ÃΪ¿¿ÉϵÄÄǸörow source£¬ºóÃæ»á¸ø³ö¾ßÌå˵Ã÷¡£ÔÚÎÒÃǺóÃæµÄÃèÊöÖУ¬Ò»°ã½«¸Ã±í³ÆÎªÁ¬½Ó²Ù×÷µÄrow source 1¡£
Probed Table(±»Ì½²é±í)£º¸Ã±íÓÖ³ÆÎªÄÚ²ã±í(INNER
TABLE)¡£ÔÚÎÒÃÇ´ÓÇý¶¯±íÖеõ½¾ßÌåÒ»ÐеÄÊý¾Ýºó£¬ÔڸñíÖÐѰÕÒ·ûºÏÁ¬½ÓÌõ¼þµÄÐС£ËùÒԸñíÓ¦µ±Îª´ó±í(ʵ¼ÊÉÏÓ¦¸ÃΪ·µ»Ø½Ï´órow
sourceµÄ±í)ÇÒÏàÓ¦µÄÁÐÉÏÓ¦¸ÃÓÐË÷Òý¡£Ô
Ïà¹ØÎĵµ£º
ºÃ¼¸´ÎÏëÓõ½ÍâÁ¬½ÓµÄʱºò¶¼ÍüÁ˾ßÌåµÄÓ÷¨ÊÇÔõÑùµÄ£¬±ÈÈç˵£¨+£©¸Ã¼ÓÔڵȺŵÄÄÄÒ»¶Ë£¬»òÕßLFET OUTER JOIN¸ÃÓÃÔÚÕûÌõÓï¾äÖеÄÄĸö²¿·Ö¡£½ñÌìÕýºÃÓÖÅöµ½Ò»¸öÏà¹ØµÄÎÊÌ⣬½è´Ë»ú»á×ܽáһϣ¬ÒÔºóÒ²·½±ã²éѯ£¬²»ÓÃÿ´Î¶¼È¥°Ù¶ÈÁË¡£
//table1ºÍtable2ΪÁ½¸ö²âÊÔ±í Ëæ±ã²åÈ뼸ÌõÊý¾Ý
SQL> select * from table1;
......
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLEµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄÇ ......
ÎÊÌâÃèÊö
=======
ÔÚÊÔͼÆô¶¯Êý¾Ý¿âµÄʱºò,Oracle±¨¸æÏÂÁдíÎó£º
ERROR:
ORA-27101 Shared memory realm does not exist
ORA-01034 ORACLE not available
»ù±¾½âÊÍ
=======
Error: ORA-27101
Text: shared memory realm does not exist
-------------------------------------------
Ca ......
OracleÊý¾Ýµ¼Èëµ¼³öimp/expÃüÁî
Oracle Êý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°Ñ dmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл ......
SQL> SQLPLUS / AS SYSDBA
SQL> exec dbms_workload_repository.create_snapshot
SQL> exec:snap_id:=dbms_workload_repository.create_snapshot
SQL> var snap_id number
SQL> print snap_id
SQL> @?/rdbms/admin/awrrpt.sql
OracleAWRËÙ²é
1.²é¿´µ±Ç°µÄAWR±£´æ²ßÂÔ
select * fro ......