ÉîÈëdz³öoracleËø ÔÀíÆª & Í£Ö¹ÎÞ·´Ó¦µÄsql»á»°
ÔÚÏÖ´úµÄ¶àÓû§¶àÈÎÎñϵͳÖУ¬±ØÈ»»á³öÏÖ¶à¸öÓû§Í¬Ê±·ÃÎʹ²ÏíµÄij¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó¿ÉÄÜÊÇ±í£¬ÐУ¬»òÕßÄÚ´æ½á¹¹£¬ÎªÁ˽â¾ö¶à¸öÓû§²¢·¢ÐÔ·ÃÎÊ´øÀ´µÄÊý¾ÝµÄ°²È«ÐÔ£¬ÍêÕûÐÔ¼°Ò»ÖÂÐÔÎÊÌ⣬±ØÐëÒªÓÐÒ»ÖÖ»úÖÆ£¬À´Ê¹¶ÔÕâЩ¹²Ïí×ÊÔ´µÄ²¢·¢ÐÔ·ÃÎÊ´®Ðл¯£¬oracleÖеÄËø¾Í¿ÉÒÔÌṩÕâÑùµÄ¹¦ÄÜ£¬µ±ÊÂÎñÔÚ¶Ôij¸ö¶ÔÏó½øÐвÙ×÷ǰ£¬ÏÈÏòϵͳ·¢³öÇëÇó£¬¶ÔÆä¼ÓÏàÓ¦µÄËø£¬¼ÓËøºó¸ÃÊÂÎñ¾Í¶Ô¸ÃÊý¾Ý¶ÔÏóÓÐÁËÒ»¶¨µÄ¿ØÖÆÈ¨ÏÞ£¬ÔÚ¸ÃÊÂÎñÊÍ·ÅËøÖ®Ç°£¬ÆäËûµÄÊÂÎñ²»ÄܶԴËÊý¾Ý¶ÔÏó½øÐиüвÙ×÷£¨¿ÉÒÔ×öselect¶¯×÷£¬µ«select ÀûÓõÄÊÇundoÖеÄǰ¾µÏñÊý¾ÝÁË£©.
OracleËøµÄ·ÖÀà
OracleËø»ù±¾ÉÏ¿ÉÒÔ·ÖΪ¶þÀà
a£º¹²ÏíËø£¨share locks£© Ò²³Æ¶ÁËø£¬sËø
b£ºÅÅËüËø (exclusive locks) Ò²³ÆÐ´Ëø£¬xËø
ÔÚÊý¾Ý¿âÖÐÓÐÁ½ÖÖ»ù±¾µÄËøÀàÐÍ£ºÅÅËüËø£¨Exclusive Locks£¬¼´XËø£©ºÍ¹²ÏíËø£¨Share Locks£¬¼´SËø£©¡£µ±Êý¾Ý¶ÔÏó±»¼ÓÉÏÅÅËüËøÊ±£¬ÆäËûµÄÊÂÎñ²»ÄܶÔËü¶ÁÈ¡ºÍÐ޸ġ£¼ÓÁ˹²ÏíËøµÄÊý¾Ý¶ÔÏó¿ÉÒÔ±»ÆäËûÊÂÎñ¶ÁÈ¡£¬µ«²»ÄÜÐ޸ġ£Êý¾Ý¿âÀûÓÃÕâÁ½ÖÖ»ù±¾µÄËøÀàÐÍÀ´¶ÔÊý¾Ý¿âµÄÊÂÎñ½øÐв¢·¢¿ØÖÆ¡£
°´Ëø±£»¤µÄÄÚÈÝ·ÖÀà
oracleÌṩ¶àÁ£¶È·âËø»úÖÆ£¬°´±£»¤¶ÔÏóÀ´·Ö£¬¾Ý´ËÓÖ¿ÉÒÔ·ÖΪ
a£ºdmlËø£¬ data locks Êý¾ÝËø£¬ÓÃÀ´±£»¤Êý¾ÝµÄÍêÕûÐÔºÍÒ»ÖÂÐÔ
b£ºddlËø£¬ dictionary locks ×ÖµäËø£¬ÓÃÀ´±£»¤Êý¾Ý¶ÔÏóµÄ½á¹¹£¬Èçtable£¬indexµÄ¶¨Òå
c£ºÄÚ²¿ËøºÍãÅ internal locks and latchs ÓÃÀ´±£»¤Êý¾Ý¿âÄÚ²¿½á¹¹£¬ÈçsgaÄÚ´æ½á¹¹
dmlËø
DMLËøÖ÷Òª°üÀ¨TMËøºÍTXËø£¬ÆäÖÐTMËø³ÆÎª±í¼¶Ëø£¬TMËøµÄÖÖÀàÓÐS,X,SR,SX,SRXÎåÖÖ£¬TXËø³ÆÎªÊÂÎñËø»òÐм¶Ëø¡£µ±OracleÖ´ÐÐdelete,update,insert,select for update DMLÓï¾äʱ£¬oracleÊ×ÏÈ×Ô¶¯ÔÚËùÒª²Ù×÷µÄ±íÉÏÉêÇëTMÀàÐ͵ÄËø¡£µ±TMËø»ñµÃºó£¬ÔÙ×Ô¶¯ÉêÇëTXÀàÐ͵ÄËø£¬²¢½«Êµ¼ÊËø¶¨µÄÊý¾ÝÐеÄËø±ê־λ(lb ¼´lock bytes)½øÐÐÖÃλ¡£ÔڼǼ±»Ä³Ò»»á»°Ëø¶¨ºó£¬ÆäËûÐèÒª·ÃÎʱ»Ëø¶¨¶ÔÏóµÄ»á»°»á°´ÏȽøÏȳöµÄ·½Ê½µÈ´ýËøµÄÊÍ·Å£¬¶ÔÓÚselect²Ù×÷¶øÑÔ£¬²¢²»ÐèÒªÈκÎËø£¬ËùÒÔ¼´Ê¹¼Ç¼±»Ëø¶¨£¬selectÓï¾äÒÀÈ»¿ÉÒÔÖ´ÐУ¬Êµ¼ÊÉÏ£¬ÔÚ´ËÇé¿öÏ£¬oracleÊÇÓõ½undoµÄÄÚÈݽøÐÐÒ»ÖÂÐÔ¶ÁÀ´ÊµÏֵġ£
ÔÚ OracleÊý¾Ý¿âÖУ¬µ±Ò»¸öÊÂÎñÊ״η¢ÆðÒ»¸öDMLÓï¾äʱ¾Í»ñµÃÒ»¸öTXËø£¬¸ÃËø±£³Öµ½ÊÂÎñ±»Ìá½»»ò»Ø¹ö¡£ÔÚÊý¾ÝÐÐÉÏÖ»ÓÐXËø£¨ÅÅËûËø£©£¬¾ÍÊÇ˵TXËøÖ»ÄÜÊÇÅÅËûËø£¬ÔڼǼÐÐÉÏÉèÖù²ÏíËøÃ»ÓÐÒâÒå¡£µ±Á½¸ö»ò¶à¸ö»á»°ÔÚ±íµÄͬһÌõ¼Ç¼ÉÏÖ´ÐÐDMLÓï¾äʱ£¬µÚÒ»¸ö»á»°ÔÚ¸ÃÌõ¼Ç¼ÉϼÓËø£¬ÆäËûµÄ»á»°´¦ÓÚµÈ
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ѧϰOracle DBAÒ²°ë¸ö¶àѧÆÚÁË£¬½ñÌìÃÍÈ»²Å·¢ÏÖ£¬ÔÀ´ÎÒµÄÊ黹ÊǺÜеģ¬ÉϿβÙ×÷ʱºòÒ²Ö»ÊÇÖªµÀ´ó¸ÅÔõô×ö£¬µ«ÊÇÒªÕæµÄÈ«²¿×Ô¼º×ö£¬¶ø²»È¥·Ê黹ÊÇÓÐÒ»¶¨µÄÄѶȵģ¬ËùÒÔÄØ£¬½ñÌ쿪ʼ½«DBA´ÓÍ·¸´Ï°Ò»±é£¬Í¬Ê±ÔÙ²Ù×÷Ò»±é¡£
µÚÒ»Õ£¬Ñ§µÄÊÇOracleµÄÌåϵ½á¹¹£ ......
ºÍÊý¾Ý¿â´ò½»µÀҪƵ·±µØÓõ½SQLÓï¾ä£¬³ý·ÇÄãÊÇÈ«²¿Óÿؼþ°ó¶¨µÄ·½Ê½£¬µ«²ÉÓÿؼþ°ó¶¨µÄ·½Ê½´æÔÚ×ÅÁé»îÐԲЧÂʵ͡¢¹¦ÄÜÈõµÈµÈȱµã¡£Òò´Ë£¬´ó¶àÊýµÄ³ÌÐòÔ±¼«ÉÙ»ò½ÏÉÙÓÃÕâÖְ󶨵ķ½Ê½¡£¶ø²ÉÓ÷ǰ󶨷½Ê½Ê±Ðí¶à³ÌÐòÔ±´ó¶¼ºöÂÔÁ˶Ե¥ÒýºÅµÄÌØÊâ´¦Àí£¬Ò»µ©SQLÓï¾äµÄ²éѯÌõ¼þµÄ±äÁ¿Óе¥ÒýºÅ³öÏÖ£¬Êý¾Ý¿âÒýÇæ¾Í»á±¨´íÖ¸³öSQLÓ ......
ÈçºÎ¿ªÆôSQL CLR
¿ªÆôSQL CLRÓÐÁ½²½²Ù×÷£¬ÈçÏÂËùʾ£º
1. ¿ªÆôSQLCLR£¬ÔÚsql server2005ÖÐÖ´ÐÐÈçϽű¾£¬¿ªÆôSQL CLR¹¦ÄÜ
EXEC sp_configure 'show advanced options' , '1';
go
reconfigure;
go
EXEC sp_configure 'clr enabled' , '1'
go
reconfigure;
-- Tu ......