Oracle LOB×ֶβÙ×÷µÄÒ»µã½Ìѵ
½ñÌìÓиö¹¦ÄÜÐèÒª¶ÔCLOB×ֶνøÐвÙ×÷£¬ÆÚ¼äÓöµ½¼¸¸öÎÊÌ⣬ÀÏÌì¾ì¹Ë£¬¶¼ËãÊǽâ¾öÁË£¬¼Çһϣ¬ÃâµÃÈÕºóÖØµ¸¸²ÕÞ¡£
´íÎóÒ»£º
ORA-22920: Î´Ëø¶¨º¬ÓÐ LOB ÖµµÄÐÐ
³öÏÖÕâ¸öÎÊÌâµÄÔÒò£¬ÊÇÓÉÓÚselect³öLOB×Ö¶Îʱδ¼Ó for update£¬ORACLE¹Ù·½Îĵµ¶Ô¸Ã´íÎóµÄ˵Ã÷£º
ÒýÓÃÎÄ×Ö´úÂë
ORA-22920 row containing the LOB value is not locked
Cause: The row containing the LOB value must be locked before updating the LOB value.
Action: Lock the row containing the LOB value before updating the LOB value.
ORA-22920 row containing the LOB value is not locked
Cause: The row containing the LOB value must be locked before updating the LOB value.
Action: Lock the row containing the LOB value before updating the LOB value.
ÓÚÊǼÓÉÏfor updateÔٲ⣬·¢ÏÖ´íÎóÌáʾ±äÁË£¬±ä³ÉÏÂÃæµÄ£º
´íÎó¶þ£º
ORA-01002: ¶ÁȡΥ·´Ë³Ðò
³öÏÖÕâ¸öÎÊÌâµÄÔÒòÊÇConnection µÄ autoCommitÊôÐÔֵΪtrue£¬¸Ä³É
Sql´úÂë conn.setAutoCommit(false);
......
LOB²Ù×÷
.....
conn.commit();
conn.setAutoCommit(true);
conn.setAutoCommit(false);
......
LOB²Ù×÷
.....
conn.commit();
conn.setAutoCommit(true);
¾Í¿ÉÒÔÁË¡£
ÁíÍ⣬עÒâµÚÒ»²½µÄselectʱ£¬²»Òªselect³ö·ÇLOBµÄ×ֶΣ¬²¢ÇÒ£¬Èç¹ûÒ»ÕűíÓжà¸öLOB×ֶΣ¬²Ù×÷˳ÐòÒ²×îºÃ°´ÕÕ±íÀïµÄ×Ö¶Î˳ÐòÀ´²Ù×÷£¬·ñÔòÒ²¿ÉÄܳö´í¡£
Ïà¹ØÎĵµ£º
µ±ÄãÔÚÊý¾Ý¿âÖд´½¨Êý¾Ý±íµÄʱºò£¬ÄãÐèÒª¶¨Òå±íÖÐËùÓÐ×ֶεÄÀàÐÍ¡£ORACLEÓÐÐí¶àÖÖÊý¾ÝÀàÐÍÒÔÂú×ãÄãµÄÐèÒª¡£Êý¾ÝÀàÐÍ´óÔ¼·ÖΪ£ºcharacter, number, date, LOB, ºÍRAWµÈÀàÐÍ¡£ËäÈ»ORACLE8iÒ²ÔÊÐíÄã×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬µ«ÊÇËüÃÇÊÇ×î»ù±¾µÄÊý¾ÝÀàÐÍ¡£
ÔÚÏÂÃæµÄÎÄÕÂÖÐÄ㽫Á˽⵽ËûÃÇÔÚoracle ÖеÄÓ÷¨¡¢ÏÞÖÆÒÔ¼°ÔÊÐíÖµ¡£
¡¡¡¡
......
ÎÒÃǶ¼ÖªµÀORACLE²»»á·¢ÉúËøÉý¼¶£¬Ëø¶ÔÓÚORACLEÀ´Ëµ²¢²»ÊÇϡȱ×ÊÔ´£¬ÎªÊ²Ã´DML lock¶ÔÓÚORACLEÀ´Ëµ²»ÊÇϡȱ×ÊÔ´£¬ÏÂÃæÀ´Ñ°ÕҴ𰸡£
SQL> select * from emp where sal>2999;
EMPNO ENAME JOB MGR HIREDATE ......
Ò»¡¢ÏµÍ³µÄĬÈÏÓû§
Java´úÂë
sys;//ϵͳ¹ÜÀíÔ±£¬ÓµÓÐ×î¸ßȨÏÞ
system;//±¾µØ¹ÜÀíÔ±£¬´Î¸ßȨÏÞ
scott;//ÆÕͨÓû§£¬ÃÜÂëĬÈÏΪtiger,ĬÈÏδ½âËø
¶þ¡¢µÇ½
Java´úÂë
sqlplus conn / as sysdba;//µÇ½sysÕÊ»§ ......
. ´´½¨job
jobÊÇÊ²Ã´ÄØ? ¼òµ¥µÄ˵¾ÍÊǼƻ®(schedule)¼ÓÉÏÈÎÎñ˵Ã÷. ÁíÍ⻹ÓÐһЩ±ØÐëµÄ²ÎÊý.
ÕâÀïÌáµ½µÄ"ÈÎÎñ"¿ÉÒÔÊÇÊý¾Ý¿âÄÚ²¿µÄ´æ´¢¹ý³Ì,ÄäÃûµÄPL/SQL¿é,Ò²¿ÉÒÔÊDzÙ×÷ϵͳ¼¶±ðµÄ½Å±¾.
¿ÉÒÔÓÐÁ½ÖÖ·½Ê½À´¶¨Òå"¼Æ»®":
1) ʹÓÃDBMS_SCHDULER.CREATE_SCHEDULE ¶¨ÒåÒ»¸ö¼Æ»®;
2) µ÷ÓÃDBMS_SCHDULER.CREATE_JOBE¹ý³ÌÖ±½ÓÖ¸¶ ......
OracleÊÚȨ
Ò»¡¢ÊÚȨÓï·¨
GRANT Óï·¨£º
1.ÏÔʽÊÚȨ(Ö±½Ó½«¶ÔÏóÊÚȨ¸øÓû§)
GRANT privilege [, ...] ON object [, ...] TO { Public| Group | Username|role} [WITH GRANT OPTION ]
2.ÒþʽÊÚȨ(ͨ¹ý½«½ÇÉ«ÊÚȨ¸øÓû§)
GRANT role TO { Public| Group | Use ......