ORACLEËøµÄ¹ÜÀí
ORACLEÀïËøÓÐÒÔϼ¸ÖÖģʽ:
0£ºnone
1£ºnull ¿Õ
2£ºRow-S Ðй²Ïí(RS)£º¹²Ïí±íËø£¬sub share
3£ºRow-X ÐжÀÕ¼(RX)£ºÓÃÓÚÐеÄÐ޸ģ¬sub exclusive
4£ºShare ¹²ÏíËø(S)£º×èÖ¹ÆäËûDML²Ù×÷£¬share
5£ºS/Row-X ¹²ÏíÐжÀÕ¼(SRX)£º×èÖ¹ÆäËûÊÂÎñ²Ù×÷£¬share/sub exclusive
6£ºexclusive ¶ÀÕ¼(X)£º¶ÀÁ¢·ÃÎÊʹÓã¬exclusive
Êý×ÖÔ½´óËø¼¶±ðÔ½¸ß, Ó°ÏìµÄ²Ù×÷Ô½¶à¡£
1¼¶ËøÓУºSelect£¬ÓÐʱ»áÔÚv$locked_object³öÏÖ¡£
2¼¶ËøÓУºSelect for update,Lock For Update,Lock Row Share
select for updateµ±¶Ô»°Ê¹ÓÃfor update×Ó´®´ò¿ªÒ»¸öÓαêʱ£¬ËùÓзµ»Ø¼¯ÖеÄÊý¾ÝÐж¼½«´¦ÓÚÐм¶(Row-X)¶ÀÕ¼Ê½Ëø¶¨£¬ÆäËû¶ÔÏóÖ»ÄܲéѯÕâЩÊý¾ÝÐУ¬²»ÄܽøÐÐupdate¡¢delete»òselect for update²Ù×÷¡£
3¼¶ËøÓУºInsert, Update, Delete, Lock Row Exclusive
ûÓÐcommit֮ǰ²åÈëͬÑùµÄÒ»Ìõ¼Ç¼»áûÓз´Ó¦, ÒòΪºóÒ»¸ö3µÄËø»áÒ»Ö±µÈ´ýÉÏÒ»¸ö3µÄËø, ÎÒÃDZØÐëÊͷŵôÉÏÒ»¸ö²ÅÄܼÌÐø¹¤×÷¡£
4¼¶ËøÓУºCreate Index, Lock Share
locked_modeΪ2,3,4²»Ó°ÏìDML(insert,delete,update,select)²Ù×÷, µ«DDL(alter,dropµÈ)²Ù×÷»áÌáʾora-00054´íÎó¡£
00054, 00000, "resource busy and acquire with NOWAIT specified"
// *Cause: Resource interested is busy.
// *Action: Retry if necessary.
5¼¶ËøÓУºLock Share Row Exclusive
¾ßÌåÀ´½²ÓÐÖ÷Íâ¼üÔ¼ÊøÊ±update / delete ... ; ¿ÉÄÜ»á²úÉú4,5µÄËø¡£
6¼¶ËøÓУºAlter table, Drop table, Drop Index, Truncate table, Lock Exclusive
ÒÔDBA½ÇÉ«, ²é¿´µ±Ç°Êý¾Ý¿âÀïËøµÄÇé¿ö¿ÉÒÔÓÃÈçÏÂSQLÓï¾ä£º
col owner for a12
col object_name for a16
select b.owner,b.object_name,l.session_id,l.locked_mode
from v$locked_object l, dba_objects b
where b.object_id=l.object_id
/
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time
/
Èç¹ûÓг¤ÆÚ³öÏÖµÄÒ»ÁУ¬¿ÉÄÜÊÇûÓÐÊͷŵÄËø¡£ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæSQLÓï¾äɱµô³¤ÆÚûÓÐÊÍ·Å·ÇÕý³£µÄËø£º
alter system kill session 'sid,serial#';
Èç¹û³öÏÖÁËËøµÄÎÊÌâ, ij¸öDML²Ù×÷¿ÉÄܵȴýºÜ¾ÃûÓз´Ó¦¡£
µ±Äã²ÉÓõÄÊÇÖ±½ÓÁ¬½ÓÊý¾Ý¿âµÄ·½Ê½£¬Ò²²»ÒªÓÃOSϵͳÃüÁî $kill process_num »òÕß $kill -9 process_numÀ´ÖÕÖ¹Óû§Á¬½Ó£¬ÒòΪһ¸öÓû§½ø³Ì¿ÉÄܲúÉúÒ»¸öÒÔÉϵÄËø, ɱOS½ø³Ì²¢²»Äܳ¹µ×Çå
Ïà¹ØÎĵµ£º
Ö»ÊÇsqlserver ÌṩµÄÔ¶³ÌÊý¾Ý·ÃÎʺ¯Êý; ÔÚ±¾µØsqlserver ÖÐÈ¡ÍⲿÊý¾ÝÔ´Êý¾Ýʱºò¿ÉÓÃ;
¶ÔÁ¬½Ó±¾µØ oracle ²Ù×÷Ô¶³Ì oracle ²»ÄÜʹÓÃ; ²âÊÔ: pl/sql ÖÐʹÓÃ:
select * from openrowset(................); ÎÞЧ!!!!!!!!!!!!!!
ÔÚoracle ÖÐÐèÒª·ÃÎÊÔ¶³ÌÊý¾Ý,ÐèÒª½¨Á¢Ò»Á¬½ÓÔ¶³Ìoracle µÄ dblink ;
ÔÙÓÃÈçÏ·½ ......
1 ²Ù×÷ϵͳ±¸·Ý
²Ù×÷ϵͳ±¸·ÝºÍ»Ö¸´ÊµÊ©ÆðÀ´±È½Ï¼òµ¥£¬µ±È»Ò²±È½Ï·Ñʱ£¬ÒªÇóϵͳֹͣʹÓ㬴˹ý³Ì°üÀ¨¹Ø±ÕÊý¾Ý¿â²¢´ÓϵͳÉÏ×¢ÏúËùÓÐÓû§¡£ËùÓзÃÎʱ»½â³ýÖ®ºó£¬ÏµÍ³¹Ø±Õ²¢ÒÔµ¥Óû§·½Ê½ÖØÐÂÆô¶¯£¬¿ØÖÆÈ¨½»¸øÏµÍ³¹ÜÀíÔ±£¬ÕâÒ»²½È·±£Ã»ÓÐÓû§Ó¦ÓóÌÐòÈí¼þÔËÐУ¬±ÜÃâÐÞ¸ÄÓ²ÅÌÉϵÄÊý¾Ý¡£Èç¹ûÕâ¸ö±¸·ÝÓÃÓÚ»Ö¸´Êý¾Ý¿âϵͳ£¬ÄÇôϵ ......
Oracle ´¥·¢Æ÷ÓÐÓï¾ä¼¶´¥·¢Æ÷ºÍÐм¶´¥·¢Æ÷
Óï¾ä¼¶´¥·¢Æ÷ µ±É¾³ý²¿ÃűíÖеIJ¿ÃźÅʱ£¬Í¬Ê±É¾³ýµôÔ±¹¤±íÖв¿ÃźÅΪ£ºold.deptnoµÄ¼Ç¼
create or replace trigger del_dept_id
after delete on dept
for each row
begin
delete from emp where deptno=:old.deptno;
end;
µ±Íù²¿Ãűí²åÈëʱ£¬Í¬Ê±ÔÚÔ±¹¤±íÖ ......
oracle ÖУ¬¶ÔÓÚÒ»¸öÌá½»µÄsqlÓï¾ä,´æÔÚÁ½ÖÖ¿ÉÑ¡µÄ½âÎö¹ý³Ì, Ò»ÖÖ½Ð×öÓ²½âÎö,Ò»ÖÖ½Ð×öÈí½âÎö.
Ò»¸öÓ²½âÎöÐèÒª¾½âÎö,ÖÆ¶¨Ö´Ðз¾¶,ÓÅ»¯·ÃÎʼƻ®µÈÐí¶àµÄ²½Öè.Ó²½âÊͲ»½ö½öºÄ·Ñ´óÁ¿µÄcpu£¬¸üÖØÒªµÄÊÇ»áÕ¼¾ÝÖØÒªµÄÃÇãÅ£¨latch£©×ÊÔ´£¬ÑÏÖØµÄÓ°ÏìϵͳµÄ¹æÄ£µÄÀ©´ó£¨¼´ÏÞÖÆÁËϵͳµÄ²¢·¢ÐУ©£¬ ¶øÇÒÒýÆðµÄÎÊÌâ ......
Èç¹ûweb·½Ê½µÄem£¬isqlplus·ÃÎʲ»ÁË¡£
1. ¼ì²éÖ÷»úÃû/IP¡¢¶Ë¿ÚÊÇ·ñÕýÈ·
°²×°Ê±µÄÖ÷»úÃû/IP¡¢¶Ë¿Ú¼Ç¼ÔÚ$ORACLE_HOME/install/portlist.ini ÎļþÖС£
ȱʡÊÇ£º
Ò»°ãÓû§ http://ip:5560/isqlplus
DBAÓû§ &nb ......