µ±LGWR´¦ÓÚ¿ÕÏÐ״̬ʱ£¬ËüÒÀÀµÓÚrdbms rpc messageµÈ´ýʼþ£¬´¦ÓÚÐÝÃß״̬£¬Ö±µ½ÈýÃëʱ¼äµ½£¬Èç¹ûÕâ¸öʱºòLGWR·¢ÏÖÓÐRedoÐÅÏ¢ÐèҪд³öµÄ»°£¬ÄÇôLGWR½«Ö´ÐÐдµÄ²Ù×÷£¬log file parallel writeµÈ´ýʼþ½«»á³öÏÖ¡£
¡¡¡¡×ܽáÒ»ÏÂRedoдµÄ´¥·¢Ìõ¼þ£º
¡¡¡¡1£¬Ã¿ÈýÃëÖÓ³¬Ê±(timeout)£º
µ±LGWR´¦ÓÚ¿ÕÏÐ״̬ʱ£¬ËüÒÀÀµÓÚrdbms rpc messageµÈ´ýʼþ£¬´¦ÓÚÐÝÃß״̬£¬Ö±µ½ÈýÃëʱ¼äµ½£¬Èç¹ûÕâ¸öʱºòLGWR·¢ÏÖÓÐRedoÐÅÏ¢ÐèҪд³öµÄ»°£¬ÄÇôLGWR½«Ö´ÐÐдµÄ²Ù×÷£¬log file parallel writeµÈ´ýʼþ½«»á³öÏÖ¡£
¡¡¡¡2.·§ÖµµÄ´ïµ½£º
¡¡¡¡Redo log buffer 1/3 Âú;
¡¡¡¡Redo log buffer ÓµÓÐ 1MB µÄÔàÊý¾Ý;
²ÎÊý_log_io_sizeµÄÉèÖúÜÖØÒª£¬Ò»°ãΪlog_bufferµÄ1/3´óС
¡¡¡¡3.Óû§Ìá½»£º
µ±Ò»¸ötransactionÌá½»µÄʱºò£¬ÔÚRedo streamÖн«¼Ç¼һ¸öÌá½»±êÖ¾¡£ÔÚÕâЩRedo±»Ð´µ½´ÅÅÌÉÏ֮ǰ£¬Õâ¸ötransactionÊDz»Äָܻ´µÄ¡£ËùÒÔ£¬ÔÚtransaction·µ»Ø³É¹¦±ê־֮ǰ£¬±ØÐëµÈ´ýLGWRдµÄÍê³É¡£½ø³Ì֪ͨLGWRд£¬²¢ÇÒÒÔlog file syncʼþ¿ªÊ¼ÐÝÃß¡£³¬Ê±Îª1Ãë
¡¡¡¡4.ÔÚDBWnд֮ǰ£º
¡¡¡¡Èç¹ûDBWR½«ÒªÐ´³öµÄÊý¾ÝµÄ¸ßRBA³¬¹ýLGWRµÄon-disk RBA£¬ÔòDBWR½«Í¨ÖªLGWRÖ´ÐÐдµÄ²Ù×÷£¬ ......
itpubÂÛ̳ÖÐÔøÓÐÐÖµÜ˵¹ýmaterialized viewÊÇÒԿռ任ʱ¼ä£¬ÎÒÈÏΪ·Ç³£ÌùÇС£ÎﻯÊÓͼʵ¼Ê¾ÍÊÇ»ùÓÚ²éѯµÄÊý¾Ý¿½±´£¬ÆäÐÎʽ
¼òµ¥Àí½âµÄ»°¿ÉÒÔ¿´³ÉÊÇcreate table table_name as select * from table¡£
ºÇºÇ£¬ÈËÃÇ×ÜÊÇÏ£ÍûÊÂÇéÔ½¼òµ¥Ô½ºÃÂÓÚÊǵ±°³¿´µ½Õâ¸ö¶«Î÷Õâô¼òµ¥£¬Í·ÄÔÒ»·¢ÈÈÒ²ÆÈ²»¼°´ý³åÁ˹ýÔÆ£¬ÏÂÃæÎҾ;ßÌåÃèÊöÒ»
ÏÂÎÒµÄÒ»´Îʵʩ¹ý³Ì¡£
ÎÒÃǵÄÒµÎñ±íÖÐÓÐÒ»¸öÓû§±íusers,¼Ç¼¹ýǧÍò£¬ÆäÖÐÓÐÒ»¸ö״ֵ̬isbestÒÔ´ËÅжÏÊÇ·ñÊÇÍÆ¼öÓû§£¬ÔÚǰ¶ËÓÐÒ³ÃæÓÃÀ´²éÑ¯ÍÆ¼ö
Óû§¡£Èç¹ûÖ±½Ó²éѯusers±í£¬¼ÓÉÏÀ´»Ø·Ò³µÈµÈ£¬Ð§ÂÊÍêÈ«ÎÞ·¨ÈÌÊÜ£¬ÎÒÃÇ×î³õµÄ·½°¸ºÜ´«Í³¡£
Ê×ÏÈ£º
create table users_best as select * from users where isbest=1;
È»ºó£º
create or replace procedure RUN_DAYBACKUPBESTUSER is
begin
execute immediate 'truncate table users_best';
Insert Into users_best Select * from select * from users where isbest=1;
commit;
end RUN_DAYBACKUPBESTUSER;
×îºó£º´´½¨job¶¨ÆÚÖ´ÐÐRUN_DAYBACKUPBESTUSER¡£Âß¼ºÜ¼òµ¥£¬ÊµÊ©ÍêÖ®ºóЧ¹û»¹²»´í£¬µ«µ±¿´µ½ÎﻯÊÓͼ֮ºó¸Ð¾õÎﻯÊÓͼ·Â·ð
ʵÏÖ»á¸ü¼òµ¥£¬ÓÚÊÇ¡£¡£¡£¡£¡£¡£
Ê×ÏÈ£ºdrop tabl ......
oracle¶ÏµçºóÖØÆô³öÏÖµÄÎÊÌâÒѾ½â¾ö·½·¨
Ò»¡¢ORA-00132
ÎÊÌâÃèÊö £ºsyntax error or unresolved network name ''
µÚ1²½£º¸´ÖÆÒ»·Ýpfile²ÎÊýÎļþ£¨×¢Ò⣺oracleÖеÄpfileÖ¸µÄ¾ÍÊÇinit<sid>.oraÎļþ£©
$sqlplus '/as sysdba';
SQL> create pfile from spfile='/u01/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora';
µÚ2²½£ºÐÞ¸Äpfile²ÎÊýÎļþ£¨ÐÞ¸Äinit<sid>.oraÎļþ£©
¾¹ýµÚÒ»²½ÒÔºó£¬Äã¾Í»áÔÚ$ORACLE_HOME/dbsĿ¼Ï·¢ÏÖÓÐÕâôһ¸öÎļþinit<sid>.ora£¬Õâ¾ÍÊÇÄãµÚÒ»²½´´½¨µÄÎļþ¡£
ÕÒµ½local_listenerÕâÒ»ÐУ¬È»ºó½«ÆäÖµÐÞ¸ÄΪ£º
(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))
ÆäÖеÄyour_hostnameΪÄãµÄÖ÷»úÃû£¬Æäʵµ¼ÖÂORA-00119ºÍORA-00132´íÎóµÄÔÒò¾ÍºÜ¿ÉÄÜÊÇÄãÐÞ¸ÄÁËÄãµÄhostname
µÚ3²½£ºÒÔpfile´´½¨spfile
ʹÓÃÒÔÏÂÃüÁî´´½¨spfile
SQL> create spfile from pfile='/u01/oracle/product/10.2.0/db_1/dbs/initorcl.ora';
µÚ4²½£ºÆô¶¯Êý¾Ý¿â
SQL> startup;
¶þ¡¢ORA-00214
ÎÊÌâÃèÊö £ºORA-00214: control file '' version ** inconsistent with file '' version **
ÿ¸öÃèÊö² ......
oracleµÄÕýÔò±í´ïʽ(regular expression)¼òµ¥½éÉÜ
Ŀǰ£¬ÕýÔò±í´ïʽÒѾÔںܶàÈí¼þÖеõ½¹ã·ºµÄÓ¦Ó㬰üÀ¨*nix£¨Linux, UnixµÈ£©£¬HPµÈ²Ù×÷ϵͳ£¬PHP£¬C#£¬JavaµÈ¿ª·¢»·¾³¡£
Oracle 10gÕýÔò±í´ïʽÌá¸ßÁËSQLÁé»îÐÔ¡£ÓÐЧµÄ½â¾öÁËÊý¾ÝÓÐЧÐÔ£¬ ÖØ¸´´ÊµÄ±æÈÏ, Î޹صĿհ׼ì²â£¬»òÕß·Ö½â¶à¸öÕýÔò×é³É
µÄ×Ö·û´®µÈÎÊÌâ¡£
Oracle 10gÖ§³ÖÕýÔò±í´ïʽµÄËĸöк¯Êý·Ö±ðÊÇ£ºREGEXP_LIKE¡¢REGEXP_INSTR¡¢REGEXP_SUBSTR¡¢ºÍREGEXP_REPLACE¡£
ËüÃÇʹÓÃPOSIX ÕýÔò±í´ïʽ´úÌæÁËÀϵİٷֺţ¨%£©ºÍͨÅä·û£¨_£©×Ö·û¡£
ÌØÊâ×Ö·û£º
'^' Æ¥ÅäÊäÈë×Ö·û´®µÄ¿ªÊ¼Î»Öã¬ÔÚ·½À¨ºÅ±í´ïʽÖÐʹÓ㬴ËʱËü±íʾ²»½ÓÊܸÃ×Ö·û¼¯ºÏ¡£
'$' Æ¥ÅäÊäÈë×Ö·û´®µÄ½áβλÖá£Èç¹ûÉèÖÃÁË RegExp ¶ÔÏóµÄ Multiline ÊôÐÔ£¬Ôò $ ҲƥÅä 'n' »ò 'r'¡£
'.' Æ¥Åä³ý»»Ðзû nÖ®ÍâµÄÈκε¥×Ö·û¡£
'?' Æ¥ÅäÇ°ÃæµÄ×Ó±í´ïʽÁã´Î»òÒ»´Î¡£
'*' Æ¥ÅäÇ°ÃæµÄ×Ó±í´ïʽÁã´Î»ò¶à´Î¡£
'+' Æ¥ÅäÇ°ÃæµÄ×Ó±í´ïʽһ´Î»ò¶à´Î¡£
'( )' ±ê¼ÇÒ»¸ö×Ó±í´ïʽµÄ¿ªÊ¼ºÍ½áÊøÎ»Öá£
'[]' ±ê¼ÇÒ»¸öÖÐÀ¨ºÅ±í´ïʽ¡£
'{m,n}' Ò»¸ö¾«È·µØ³öÏÖ´ÎÊý·¶Î§£¬m=<³öÏÖ´ÎÊý<=n£¬'{m}'±íʾ³öÏÖm´Î£¬'{m,}'±íʾÖÁÉÙ³öÏÖm´Î¡£
'|' Ö¸Ã÷Á½ÏîÖ®¼äµÄÒ»¸öÑ¡Ôñ¡ ......
DECODEº¯ÊýÏ൱ÓÚÒ»Ìõ¼þÓï¾ä(IF).Ëü½«ÊäÈëÊýÖµÓ뺯ÊýÖеIJÎÊýÁбíÏà±È½Ï£¬¸ù¾ÝÊäÈëÖµ·µ»ØÒ»¸ö¶ÔÓ¦Öµ¡£º¯ÊýµÄ²ÎÊýÁбíÊÇÓÉÈô¸ÉÊýÖµ¼°Æä¶ÔÓ¦½á¹ûÖµ×é³ÉµÄÈô¸ÉÐòżÐÎʽ¡£µ±È»£¬Èç¹ûδÄÜÓëÈκÎÒ»¸öʵ²ÎÐòżƥÅä³É¹¦£¬Ôòº¯ÊýÒ²ÓÐĬÈϵķµ»ØÖµ¡£Çø±ðÓÚSQLµÄÆäËüº¯Êý£¬DECODEº¯Êý»¹ÄÜʶ±ðºÍ²Ù×÷¿ÕÖµ.
Æä¾ßÌåµÄÓï·¨¸ñʽÈçÏ£º
DECODE(input_value,value,result[,value,result…][,default_result]);
ÆäÖУº
input_value ÊÔͼ´¦ÀíµÄÊýÖµ¡£DECODEº¯Êý½«¸ÃÊýÖµÓëһϵÁеÄÐòżÏà±È½Ï£¬ÒÔ¾ö¶¨×îºóµÄ·µ»Ø½á¹û
value ÊÇÒ»×é³ÉÐòżµÄÊýÖµ¡£Èç¹ûÊäÈëÊýÖµÓë֮ƥÅä³É¹¦£¬ÔòÏàÓ¦µÄ½á¹û½«±»·µ»Ø¡£¶ÔÓ¦Ò»¸ö¿ÕµÄ·µ»ØÖµ£¬¿ÉÒÔʹÓùؼü×ÖNULLÓÚÖ®¶ÔÓ¦
result ÊÇÒ»×é³ÉÐòżµÄ½á¹ûÖµ
default_result δÄÜÓëÈκÎÒ»ÐòżƥÅä³É¹¦Ê±£¬º¯Êý·µ»ØµÄĬÈÏÖµ
ÏÂÃæµÄÀý×Ó˵Ã÷ÁË£¬ÈçºÎ¶ÁÈ¡Óû§CHECKUP±íSEAPARKÖеÄBLOOD_TEST_FLAGÁÐϵÄÏîÄ¿£¬×÷ΪDECODEº¯ÊýµÄʵ²ÎÖ§³ÖÖµ¡£
SELECT checkup_type,
DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’)
from checkup;
Note: Decode ......
http://www.anysql.net/oracle/query_rewrite_01.html
Query Rewrite ÔÚÊý¾Ý²Ö¿âÊÇÊÇÒ»¸ö·Ç³£ÓÐÓõļ¼Êõ, TomÔÚ<<Effective Oracle by Design>>Ò»ÊéÖн«ÊµÌ廯ÊÓͼ(MView)³ÆÎªÊÇÊý¾Ý²Ö¿âµÄË÷Òý, ÕâÊÇÔÙÌùÇв»¹ýµÄÁË, ÔÚOLTPÖе±SELECTÓï¾äµÄËùÓеÄ×ֶζ¼ÔÚË÷ÒýÖÐʱ, Oracle¿ÉÒÔ²»´Ó±í¶ÁÊý¾Ý, ¶øÖ±½Ó´ÓË÷ÒýÖлñµÃÈ«²¿ÐÅÏ¢, ¶øQuery RewriteÔòÊÇͨ¹ý´´½¨Öмä±í, ÈÃOracle×Ô¶¯´Ó´´½¨µÄÖмä±í¶ÁÈ¡Êý¾Ý, ¶ø²»ÐèÒª´ÓÔ±í¶ÁÈ¡ÁË, Õâ¸öÖмä±í¿ÉÒÔÊÇÔ¤ÏÈjoinºÃµÄ»òÔ¤ÏȼÆËãºÃµÄÖмä½á¹û. ËûµÄʹÓþͺÍÒ»°ãµÄË÷ÒýͬÀíÁË, ËäÈ»ÄãÖ¸¶¨µÄ»¹ÊÇÄǸö´ó±í, µ«oracle¿ÉÒÔΪÄã×Ô¶¯Ê¶±ð¿ÉÒÔ´ÓÄǸö"Êý¾Ý²Ö¿âË÷Òý"ÖжÁÈ¡Êý¾Ý. ÏÂÃæÎÒÃÇ¿ÉÒÔÀ´¿´Ò»ÏÂ×î¼òµ¥µÄÀý×Ó:
SQL> CREATE TABLE DETAIL_TABLE
2 AS SELECT OWNER,OBJECT_NAME from sys.dba_objects;
Table created.
SQL> DESC DETAIL_TABLE
Na ......