ÔÎĵØÖ·£ºhttp://www.phontol.com/20090719_525808_1.html
1 LogMiner µÄÓÃ;
¡¡¡¡Oracle LogMiner ÊÇ Oracle¹«Ë¾´Ó²úÆ· 8iÒÔºóÌṩµÄÒ»¸öʵ¼Ê·Ç³£ÓÐÓõķÖÎö¹¤¾ß£¬Ê¹Óøù¤¾ß¿ÉÒÔÇáËÉ»ñµÃ OracleÖØ×÷ÈÕÖ¾Îļþ£¨¹éµµÈÕÖ¾Îļþ£©ÖеľßÌåÄÚÈÝ£¬ÌرðÊÇ£¬¸Ã ¹¤¾ß¿ÉÒÔ·ÖÎö³öËùÓжÔÓÚÊý¾Ý¿â²Ù×÷µÄ DML£¨insert¡¢update¡¢delete µÈ£©Óï¾ä£¬9iºó¿ÉÒÔ·ÖÎö DDLÓï¾ä£¬ÁíÍ⻹¿É·ÖÎöµÃµ½Ò»Ð©±ØÒªµÄ»Ø¹ö SQLÓï¾ä¡£ÆäÖÐÒ»¸ö×îÖØÒªµÄÓÃ;¾ÍÊDz» ÓÃÈ«²¿»Ö¸´Êý¾Ý¿â¾Í¿ÉÒÔ»Ö¸´Êý¾Ý¿âµÄij¸ö±ä»¯¡£¸Ã¹¤¾ßÌØ±ðÊÊÓÃÓÚµ÷ÊÔ¡¢É󼯻òÕß»ØÍËij ¸öÌØ¶¨µÄÊÂÎñ¡£
¡¡¡¡LogMiner ¹¤¾ß¼´¿ÉÒÔÓÃÀ´·ÖÎöÔÚÏߣ¬Ò²¿ÉÒÔÓÃÀ´·ÖÎöÀëÏßÈÕÖ¾Îļþ£¬¼´¿ÉÒÔ·ÖÎö±¾Éí ×Ô¼ºÊý¾Ý¿âµÄÖØ×÷ÈÕÖ¾Îļþ£¬Ò²¿ÉÒÔÓÃÀ´·ÖÎöÆäËûÊý¾Ý¿âµÄÖØ×÷ÈÕÖ¾Îļþ¡£ ×ܵÄ˵À´£¬LogMiner¹¤¾ßµÄÖ÷ÒªÓÃ;ÓУº
¡¡¡¡1£® ¸ú×ÙÊý¾Ý¿âµÄ±ä»¯£º¿ÉÒÔÀëÏߵĸú×ÙÊý¾Ý¿âµÄ±ä»¯£¬¶ø²»»áÓ°ÏìÔÚÏßϵͳµÄÐÔÄÜ¡£
¡¡¡¡2£® »ØÍËÊý¾Ý¿âµÄ±ä»¯£º»ØÍËÌØ¶¨µÄ±ä»¯Êý¾Ý£¬¼õÉÙ point-in-time recovery µÄÖ´ÐС£
¡¡¡¡3£® ÓÅ»¯ºÍÀ©Èݼƻ®£º¿Éͨ¹ý·ÖÎöÈÕÖ¾ÎļþÖеÄÊý¾ÝÒÔ·ÖÎöÊý¾ÝÔö³¤Ä£Ê½¡£
¡¡¡¡4.¡¡¡¡È·¶¨Êý¾Ý¿âµÄÂß¼Ëð»µÊ±¼ä£º×¼È·¶¨Î»²Ù×÷Ö´ÐеÄʱ¼äºÍ SCN¡¡ ==>» ......
ÔÎĵØÖ·£ºhttp://oracle.chinaitlab.com/induction/725752.html
Ò»¡¢logminerµÄÓÃ;
¡¡¡¡ÈÕÖ¾ÎļþÖдæ·Å×ÅËùÓнøÐÐÊý¾Ý¿â»Ö¸´µÄÊý¾Ý£¬¼Ç¼ÁËÕë¶ÔÊý¾Ý¿â½á¹¹µÄÿһ¸ö±ä»¯£¬Ò²¾ÍÊǶÔÊý¾Ý¿â²Ù×÷µÄËùÓÐDMLÓï¾ä¡£
¡¡¡¡logminer ¹¤¾ß¼´¿ÉÒÔÓÃÀ´·ÖÎöÔÚÏߣ¬Ò²¿ÉÒÔÓÃÀ´·ÖÎöÀëÏßÈÕÖ¾Îļþ£¬¼´¿ÉÒÔ·ÖÎö±¾Éí×Ô¼ºÊý¾Ý¿âµÄÖØ×÷ÈÕÖ¾Îļþ£¬Ò²¿ÉÒÔÓÃÀ´·ÖÎöÆäËûÊý¾Ý¿âµÄÖØ×÷ÈÕÖ¾Îļþ¡£
¡¡¡¡×ܵÄ˵À´£¬logminer¹¤¾ßµÄÖ÷ÒªÓÃ;ÓУº
¡¡¡¡¡¡1£® ¸ú×ÙÊý¾Ý¿âµÄ±ä»¯£º¿ÉÒÔÀëÏߵĸú×ÙÊý¾Ý¿âµÄ±ä»¯£¬¶ø²»»áÓ°ÏìÔÚÏßϵͳµÄÐÔÄÜ¡£
¡¡¡¡¡¡2£® »ØÍËÊý¾Ý¿âµÄ±ä»¯£º»ØÍËÌØ¶¨µÄ±ä»¯Êý¾Ý£¬¼õÉÙpoint-in-time recoveryµÄÖ´ÐС£
¡¡¡¡¡¡3£® ÓÅ»¯ºÍÀ©Èݼƻ®£º¿Éͨ¹ý·ÖÎöÈÕÖ¾ÎļþÖеÄÊý¾ÝÒÔ·ÖÎöÊý¾ÝÔö³¤Ä£Ê½¡£
¶þ¡¢°²×°logminer
¡¡¡¡Òª°²×°logminer¹¤¾ß£¬±ØÐëÊ×ÏÈÒªÔËÐÐÏÂÃæÕâÑùÁ½¸ö½Å±¾£¬
¡¡¡¡¡¡l¡¢ $ORACLE_HOME/rdbms/admin/dbmslm.sql
¡¡¡¡ 2 ¡¢$ORACLE_HOME/rdbms/admin/dbmslmd.sql
¡¡¡¡ 3¡¢ $ORACLE_HOME/rdbms/admin/dbmslms.sql
¡¡¡¡ÕâÁ½¸ö½Å±¾±ØÐë¾ùÒÔSYSÓû§Éí·ÝÔËÐС£ÆäÖеÚÒ»¸ö½Å±¾ÓÃÀ´´´½¨DBMS_LOGMNR°ü£¬¸Ã°üÓÃÀ´·ÖÎöÈÕÖ¾Îļþ¡£µÚ¶þ¸ö½Å±¾ÓÃÀ´´´½¨DBMS_LOGMNR_D°ü£¬¸Ã°üÓÃÀ´´´½¨ ......
ÓÐÁËÓα꣬¾Í¿ÉÒÔ²»ÓÃÿÌõÊý¾ÝÈ¥¼ì²éÊÇ·ñ·ûºÏÌõ¼þ£¬ÏÈ¿´Ò»ÏÂÏÂÃæµÄ£º
--ÓαêʹÓã¨ÓαêÆäʵÊÇÒ»¸ö·ÅÈëÄÚ´æÁÙʱ±í£©
declare
money cms3_simcard.card_fee%type :=0; --¶¨ÒåÓë±í×Ö¶ÎÏàͬÀàÐÍ
cursor mycursor is --¶¨ÒåÓαê
select * from cms3_simcard
where return_flag = 1 and msisdn like '138%';
my_record mycursor%rowtype; --¶¨ÒåÓαê¼Ç¼ÀàÐÍ
Counter int :=0;
begin
open mycursor; --´ò¿ªÓαê
if mycursor%isopen then --Åжϴò¿ª³É¹¦
loop --Ñ»·»ñÈ¡¼Ç¼¼¯
fetch mycursor into my_record; --»ñÈ¡ÓαêÖеļǼ
if mycursor%found then --ÓαêµÄfoundÊôÐÔÅжÏÊÇ·ñÓмǼ
dbms_output.put_line(my_record.card_fee);
......
ÔÚʹÓÃOracleÖÐʹÓÃRownum£¬»áÓÐЩÎó½â£¬ÏÖÕûÀíÏÂÍøÓÑÃǵÄÎÄÕ£¬Ï£ÍûÄÜÓÐËù°ïÖú£¬ºÇºÇ
¶ÔÓÚ Oracle µÄ rownum ÎÊÌ⣬ºÜ¶à×ÊÁ϶¼Ëµ²»Ö§³Ö>,>=,=,between...and£¬Ö»ÄÜÓÃÒÔÉÏ·ûºÅ(<¡¢<=¡¢!=)£¬²¢·Ç˵ÓÃ>,>=,=,between..and ʱ»áÌáʾSQLÓï·¨´íÎ󣬶øÊǾ³£ÊDz鲻³öÒ»Ìõ¼Ç¼À´£¬»¹»á³öÏÖËÆºõÊÇĪÃûÆäÃîµÄ½á¹ûÀ´£¬ÆäʵÄúÖ»ÒªÀí½âºÃÁËÕâ¸ö rownum αÁеÄÒâÒå¾Í²»Ó¦¸Ã¸Ðµ½¾ªÆæ£¬Í¬ÑùÊÇαÁУ¬rownum Óë rowid ¿ÉÓÐЩ²»Ò»Ñù£¬ÏÂÃæÒÔÀý×Ó˵Ã÷
¼ÙÉèij¸ö±í t1(c1) ÓÐ 20 Ìõ¼Ç¼
Èç¹ûÓà select rownum,c1 from t1 where rownum < 10, Ö»ÒªÊÇÓÃСÓںţ¬²é³öÀ´µÄ½á¹ûºÜÈÝÒ×µØÓëÒ»°ãÀí½âÔÚ¸ÅÄîÉÏÄÜ´ï³ÉÒ»Ö£¬Ó¦¸Ã²»»áÓÐÈκÎÒÉÎʵġ£
¿ÉÈç¹ûÓà select rownum,c1 from t1 where rownum > 10 (Èç¹ûдÏÂÕâÑùµÄ²éѯÓï¾ä£¬ÕâʱºòÔÚÄúµÄÍ·ÄÔÖÐÓ¦¸ÃÊÇÏëµÃµ½±íÖкóÃæ10Ìõ¼Ç¼)£¬Äã¾Í»á·¢ÏÖ£¬ÏÔʾ³öÀ´µÄ½á¹ûÒªÈÃÄúʧÍûÁË£¬Ò²ÐíÄú»¹»á»³ÒÉÊDz»ËɾÁËһЩ¼Ç¼£¬È»ºó²é¿´¼Ç¼Êý£¬ÈÔÈ»ÊÇ 20 Ìõ°¡£¿ÄÇÎÊÌâÊdzöÔÚÄÄÄØ£¿
ÏȺúÃÀí½â rownum µÄÒâÒå°É¡£ÒòΪROWNUMÊǶԽá¹û¼¯¼ÓµÄÒ»¸öαÁУ¬¼´ÏȲ鵽½á¹û¼¯Ö®ºóÔÙ¼ÓÉÏÈ¥µÄÒ»¸öÁÐ (Ç¿µ÷£ºÏÈÒªÓнá¹û¼¯)¡£¼òµ¥µÄ˵ rownum ÊǶԷûºÏÌõ¼þ½á ......
½ñÌìÔÚһ̨2003serverÉϰ²×° 9i¿Í»§¶Ë¡£
ÅäÖÃÁËtnsÖ®ºóÁ¬½Ó£¬±¨´í "ORA-06413 Á¬½Óδ´ò¿ª´íÎó".
°ÑÆäËü·þÎñÆ÷µÄtnsname.oraÖ±½Ó¿½±´¹ýÀ´Ò²²»ÐС£
ºóÀ´²éÁËÒ»ÏÂ×ÊÁÏ£¬ËµÓ¦ÓóÌÐò·¾¶Àï±ßÓÐÌØÊâ×Ö·û¡£
Õâ²Å»ÐÈ»´óÎò£¬Á½ÄêǰÕâ¸öÎÊÌâÒѾÕÛÄ¥¹ýÎÒÒ»´ÎÁË£¬ÄÔ×Ó²»ºÃ£¬¾¹È»¸øÍüÁË¡£
ÔÒò¾ÍÊÇ64λϵͳ»·¾³Ï°²×°oracle£¬oralceµÄÒ»²¿·ÖÎļþ»áдÈë program files(X86)£¬Õý³£Ó¦¸ÃдÈëprogram filesÎļþ¼Ð
¾ÍÊÇÒòΪÓÐÕâ¸öÀ¨ºÅ£¬oralce×Ô¼º¾Í²»ÈÏʶÁË¡£
×ÜÖ®ÎÒÈÏΪÕâÊÇoracleµÄÒ»¸öbug£¬»¹Ã»Ê±¼äÈ·ÈÏ10gÏÖÔÚÓÐûÓÐÕâ¸öÎÊÌâ¡£ ......
ÓÃϵͳ¹ÜÀíÔ±£¬²é¿´µ±Ç°Êý¾Ý¿âÓм¸¸öÓû§Á¬½Ó£º
SQL> select username,sid,serial# from v$session;
Èç¹ûҪͣij¸öÁ¬½ÓÓÃ
SQL> alter system kill session 'sid,serial#';
Èç¹ûÕâÃüÁî²»ÐÐ,ÕÒËüUNIXµÄ½ø³ÌÊý
SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr;
˵Ã÷£º21ÊÇij¸öÁ¬½ÓµÄsidÊý
È»ºóÓà kill ÃüÁîɱ´Ë½ø³ÌºÅ¡£
Îå¡¢SQL*PLUSʹÓÃ
a¡¢½üÈëSQL*Plus
$sqlplus Óû§Ãû/ÃÜÂë
Í˳öSQL*Plus
SQL>exit
b¡¢ÔÚsqlplusϵõ½°ïÖúÐÅÏ¢
ÁгöÈ«²¿SQLÃüÁîºÍSQL*PlusÃüÁî
SQL>help
Áгöij¸öÌØ¶¨µÄÃüÁîµÄÐÅÏ¢
SQL>h ......