ÆäÊµÄØ£¬¾õµÃÿ´ÎÓõ½Êý¾Ý¿âµÄµØ·½£¬¶¼Òª¿ª¾É»úÆ÷£¬¸Ð¾õ¶¼ºÜ²»Ë¬µÄ¡£
¼ÈÈ»²»Ë¬£¬»¹ÓÌÔ¥Ê²Ã´ÄØ£¿ ×Ô¼ºÕûÀíÏÂÁËÐÂÂòµÄµçÄÔ£¬¿ªÊ¼°²×°oracle 9i2 °æ±¾µÄ£¬Õâ¸ö°æ±¾ÎÒ»¹ÊǵÚÒ»´Î°²×°£¬×°ÆðÀ´»¹ÕæÊDz»Ë³ÊÖ~
¼òµ¥ËµÏ°²×°¹ý³Ì°É£º
1¡¢ ÕÒ¸öÐéÄâ¹âÇý£¬µ±È»Äã»úÆ÷×°µÄÓÐ×îºÃÁË£¬Ã»Óеϰ¾ÍÈ¥×°¸ö°É¡£È»ºóÆô¶¯ÐéÄâ¹âÇý£¬ÒÀ´Î×°ÔØ£º
oracle 9i2_Disk1 for windows.iso
oracle 9i2_Disk2 for windows.iso
oracle 9i2_Disk3 for windows.iso
¾ÍºÃÁË~
°²×°Ê±£¬¾¡Á¿²»Òª³öÏÖÖÐÎÄĿ¼£¬µ±È»ÕâÑùÒ²²»ºÃ¡£ d:/ÖÐÎÄĿ¼/oracle/.. ÕâÑùoracleÆô¶¯»á³öÏÖÎÊÌâµÄ~
°²×°½áÊøÊ±£¬²»ÒªÍüÁ˽«·þÎñ£¨ÓÖ»÷ÎҵĵçÄÔ£¬µã¹ÜÀí£¬µã·þÎñ£©ÖеÄOracleOraHome92TNSListener ºÍOracleServiceORACLEÉèÖóÉÊÖ¶¯Æô¶¯µÄ¡£Òª²»Äãÿ´Î¿ª»ú£¬¿ÉÒªµÈ°ëÌìÁË¡£¡£¹þ¹þ
È»ºóÄØ£¬oracle×Ô¼º±¾ÉíÓõÄÒ²ºÜ²»Ë¬£¬ÎÒÕâÓÃÁËpl/sql developer£¬½âѹÏ£¬ÐèÒª°²×°µÄ¾Í°²×°ÏÂ~ ok~
Èç¹û£¬Ä㲻ϰ¹ßÓ¢ÎĵÄpl/sql developer ¿ÉÒÔÓøöÖÐÎĵIJå¼þ£¬°ÑËü·ÅÔÚ pl/sql developerĿ¼ÀïÖ±½Ó°²×°¾ÍºÃÁË
----- ......
´´½¨OracleÁÙʱ±í£¬¸ù¾ÝÉúÃüÆÚ£¬¿ÉÒÔ·ÖΪÓÐÁ½ÖÖÀàÐ͵ÄÁÙʱ±í£º
Ò»¡¢¸ÅÄ
1¡¢»á»°¼¶ÁÙʱ±í
2¡¢ÊÂÎñ¼¶ÁÙʱ±í
»á»°¼¶µÄÁÙʱ±íÉúÃüÆÚÊÇsession£¬µ±Ä㵱ǰsessionδÍ˳öµÄÇé¿öÏ£¬ÁÙʱ±íµÄÊý¾Ý»¹´æÔÚ£¬¶øµ±Í˳öµ±Ç°sessionµÄʱ£¬¸ÃsessionÀïÁÙʱ±íµÄÊý¾Ý¾ÍÏûÍöÁË£¬ÊÇsession¼¶±ð¡£
ÊÂÎñ¼¶µÄÁÙʱ±íÉúÃüÆÚÊÇtransaction£¬µ±ÄãµÄtransactoinûÓÐÏûÍöʱ£¬¼ÈûÓÐrollback»òÕßÊÇcommitʱ£¬ÁÙʱ±íµÄÊý¾ÝÈÔÈ»´æÔÚ£¬Ö»Óе±ÄãµÄÊÂÎñÏûÍö£¬¼Èrollback»òcommitºó£¬ÄãÁÙʱ±íµÄÊý¾Ý¾Í»áÏûÍö¡£ÊÇtransaction¼¶±ð¡£
¶þ¡¢¶¨Ò壺
»á»°¼¶ÁÙʱ±í£ºCreate Global Temporary Table tableanme (col1 type1, col2 type2) On Commit Preserve Rows£»
ÊÂÎñ¼¶ÁÙʱ±í£ºCreate Global Temporary Table tableanme (col1 type1, col2 type2) On Commit Delete Rows£»
Èý¡¢×ܽ᣺
ÁÙʱ±í²»Õ¼ÓÃÓû§±í¿Õ¼ä£¬Êǽ¨Á¢ÔÚtemporary tablespaceÉϵģ¬ÁÙʱ±íÓëÕý³£±íÒ»Ñù¿ÉÒÔ½¨Á¢index£¬view£¬triggerµÈ¡£ ......
»Ø¹Ë
Óαê --- ´¦Àí¶àÐмǼ
´æ´¢¹ý³Ì
º¯Êý
ORACLEÖеijÌÐò°ü
PACKAGE
ÓÃ;: <1>Ä£¿é»¯
<Àý×Ó> --¹«Ë¾µÄÔ±¹¤µÄ¹ÜÀí
1.Ôö¼ÓÒ»¸öÔ±¹¤
2.Ô±¹¤ÀëÖ°
Óô洢¹ý³ÌºÍº¯ÊýÀ´ÊµÏÖ
1.Ôö¼ÓÒ»¸öÔ±¹¤
create sequence seq1 start with 7935;
create or replace function insert_emp(
enm emp.ename%type, --Ô±¹¤µÄÃû×Ö
ejob varchar2, --Ö°Îñ
mgr number, --Éϼ¶
ehiredate date,--²Î¼Ó¹¤×÷ʱ¼ä
esal number, --¹¤×Ê
ecomm number, --½òÌù
dno number)
return number
as
a number;
begin
--¹¤ºÅÀ´×ÔÐòÁÐ
select seq1.nextval into a
from dual;
--Ôö¼ÓÁËÒ»¸öÔ±¹¤
insert into emp values (
a,enm,ejob,m ......
ÎÒÃÇÒ»°ãÔÚLinux Éϰ²×°ÉèÖÃOracle Êý¾Ý¿â»òÕßÔÚ¸ü»»»òÉý¼¶Ó²¼þµÄʱºò¶¼ÐèÒªÅäÖÃLinux ϵͳµÄºËÐIJÎÊý, È»ºó²ÅÊǵ÷ÕûOracle ϵͳ²ÎÊý ¡£
kernel.shmallΪÎïÀíÄÚ´æ³ýÒÔpagesize;
kernel.shmmaxΪÎïÀíÄÚ´æµÄÒ»°ë;
fs.file-maxΪ512 ³ËÒÔ processes (Èç128¸öprocessÔòΪ 65536);
net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_maxÈý¸ö²ÎÊýÉèÖú͹ٷ½Îĵµ²»Ò»Ñù, ÕâÊǸù¾Ýmetalink 343431.1 ×îÐÂÒªÇó¸ü¸ÄµÄ;
net.ipv4.tcp_rmem/net.ipv4.tcp_wmemÁ½¸ö²ÎÊýÒ»°ãÇé¿öÏÂÎÞÐèÉèÖÃ, ³ý·ÇÊÇÔÚDataguard/StreamsµÈÐèºÜ¶àÍøÂç´«ÊäÇé¿öÏÂ;
ÆäËü²ÎÊý¸ù¾Ý¹Ù·½ÎĵµÒªÇóÉèÖü´¿É.
²é¿´osϵͳҳµÄ´óС
#getconf PAGESIZE
4096
1. Linux ϵͳϵĺËÐIJÎÊý£º
# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
ÐÞ¸ÄÒÔºóÈòÎÊýÉúЧ:
# /sbin/sysctl -p
2. Linux ϺËÐIJÎÊýµ÷ ......
ÎÒÃÇÒ»°ãÔÚLinux Éϰ²×°ÉèÖÃOracle Êý¾Ý¿â»òÕßÔÚ¸ü»»»òÉý¼¶Ó²¼þµÄʱºò¶¼ÐèÒªÅäÖÃLinux ϵͳµÄºËÐIJÎÊý, È»ºó²ÅÊǵ÷ÕûOracle ϵͳ²ÎÊý ¡£
kernel.shmallΪÎïÀíÄÚ´æ³ýÒÔpagesize;
kernel.shmmaxΪÎïÀíÄÚ´æµÄÒ»°ë;
fs.file-maxΪ512 ³ËÒÔ processes (Èç128¸öprocessÔòΪ 65536);
net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_maxÈý¸ö²ÎÊýÉèÖú͹ٷ½Îĵµ²»Ò»Ñù, ÕâÊǸù¾Ýmetalink 343431.1 ×îÐÂÒªÇó¸ü¸ÄµÄ;
net.ipv4.tcp_rmem/net.ipv4.tcp_wmemÁ½¸ö²ÎÊýÒ»°ãÇé¿öÏÂÎÞÐèÉèÖÃ, ³ý·ÇÊÇÔÚDataguard/StreamsµÈÐèºÜ¶àÍøÂç´«ÊäÇé¿öÏÂ;
ÆäËü²ÎÊý¸ù¾Ý¹Ù·½ÎĵµÒªÇóÉèÖü´¿É.
²é¿´osϵͳҳµÄ´óС
#getconf PAGESIZE
4096
1. Linux ϵͳϵĺËÐIJÎÊý£º
# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
ÐÞ¸ÄÒÔºóÈòÎÊýÉúЧ:
# /sbin/sysctl -p
2. Linux ϺËÐIJÎÊýµ÷ ......
¼ò½é
¡¡¡¡±¾ÎĽ²ÊöMS SQL ServerºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ£¬ÒÔ¼°OracleÈçºÎ¶ÔÊÂÎñ´¦ÀíµÄʵÏÖ¡£
¡¡¡¡Ê²Ã´ÊÇÊÂÎñ
¡¡¡¡Êý¾Ý¿âÊÂÎñ(Database Transaction)ÊÇÒ»×éÊý¾Ý¿â²Ù×÷µÄ´¦Àíµ¥Ôª¡£ÊÂÎñ·ûºÏACIDµÄÌØÐÔ£º
¡¡¡¡Atomic:Ô×ÓÐÔ£¬ÒªÃ´È«²¿ÒªÃ´Ò»ÎÞËùÓС£All or None.
¡¡¡¡Consistent:Ò»ÖÂÐÔ£¬ËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»Ö¡£
¡¡¡¡Isolated:·ÖÀëÐÔ£¬²»Í¬ÊÂÎñ²»»¥ÏàÓ°Ïì¡£
¡¡¡¡Durable:³Ö¾ÃÐÔ£¬Ìá½»ÊÂÎñµÄÊý¾ÝÐèÒª³Ö¾Ã»¯¡£
¡¡¡¡ÎªÊ²Ã´ÒªÊ¹ÓÃÊÂÎñ
¡¡¡¡ÊµÏÖÊÂÎñÖ÷ÒªÓÐÁ½´ó¹¦ÄÜ£º
¡¡¡¡1.±£Ö¤Êý¾Ý¿âµÄconsistent(Ò»ÖÂÐÔ״̬)£¬±£³ÖËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»ÖÂ)¡£ÄÄÅÂÊý¾Ý¿â¹ÜÀíϵͳ³öÏÖ¹ÊÕÏʱ(ÀýÈç¶Ïµç)£¬Ò²Äָܻ´µ½Ò»ÖÂÐÔ״̬¡£ÀýÈçÒ»¸öÒøÐÐתÕÊϵͳ£¬ÕÅÈý¸øÀîËÄת3000Ô²RMB£¬ÕÅÈýÕʺÅÉϼõ3000ºÍÀîËÄÕʺÅÉϼÓ3000ÐèҪͬʱÍê³É£¬·ñÔòϵͳµÄÕʾͲ»Æ½ÁË¡£Ò²ÀýÈçÓÐЩÏúÊÛϵͳµÄ»ã×ܱíºÍÃ÷ϸ±í£¬ÊÇÒ»¸öÖ÷±íºÍÒ»¸ö´Ó±í£¬ÐèҪͬ²½¸üС£
¡¡¡¡2.²¢·¢Ê±·ÖÀ벻ͬÊÂÎñ²Ù×÷¡£ÀýÈç±à¼¹ý³ÌÖеÄÊý¾Ý²»¸øÆäËûÊÂÎñ²éѯµ½¡£ÕâÒ²ÊÇÏà¶ÔµÄ£¬ÔÚÌØÐ§ÐèÇóÏ¿ÉÄÜÒªÖ§³Ödirty read(Ôà¶Á)£¬µ«²»ÊÇÕâÀïÌÖÂ۵ķ¶Î§ÁË¡£
¡¡¡¡SQL Server 2008 µÄÊÂÎñÀàÐÍ
¡¡¡¡1.×Ô¶¯Ìá½ ......
¼ò½é
¡¡¡¡±¾ÎĽ²ÊöMS SQL ServerºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ£¬ÒÔ¼°OracleÈçºÎ¶ÔÊÂÎñ´¦ÀíµÄʵÏÖ¡£
¡¡¡¡Ê²Ã´ÊÇÊÂÎñ
¡¡¡¡Êý¾Ý¿âÊÂÎñ(Database Transaction)ÊÇÒ»×éÊý¾Ý¿â²Ù×÷µÄ´¦Àíµ¥Ôª¡£ÊÂÎñ·ûºÏACIDµÄÌØÐÔ£º
¡¡¡¡Atomic:Ô×ÓÐÔ£¬ÒªÃ´È«²¿ÒªÃ´Ò»ÎÞËùÓС£All or None.
¡¡¡¡Consistent:Ò»ÖÂÐÔ£¬ËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»Ö¡£
¡¡¡¡Isolated:·ÖÀëÐÔ£¬²»Í¬ÊÂÎñ²»»¥ÏàÓ°Ïì¡£
¡¡¡¡Durable:³Ö¾ÃÐÔ£¬Ìá½»ÊÂÎñµÄÊý¾ÝÐèÒª³Ö¾Ã»¯¡£
¡¡¡¡ÎªÊ²Ã´ÒªÊ¹ÓÃÊÂÎñ
¡¡¡¡ÊµÏÖÊÂÎñÖ÷ÒªÓÐÁ½´ó¹¦ÄÜ£º
¡¡¡¡1.±£Ö¤Êý¾Ý¿âµÄconsistent(Ò»ÖÂÐÔ״̬)£¬±£³ÖËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»ÖÂ)¡£ÄÄÅÂÊý¾Ý¿â¹ÜÀíϵͳ³öÏÖ¹ÊÕÏʱ(ÀýÈç¶Ïµç)£¬Ò²Äָܻ´µ½Ò»ÖÂÐÔ״̬¡£ÀýÈçÒ»¸öÒøÐÐתÕÊϵͳ£¬ÕÅÈý¸øÀîËÄת3000Ô²RMB£¬ÕÅÈýÕʺÅÉϼõ3000ºÍÀîËÄÕʺÅÉϼÓ3000ÐèҪͬʱÍê³É£¬·ñÔòϵͳµÄÕʾͲ»Æ½ÁË¡£Ò²ÀýÈçÓÐЩÏúÊÛϵͳµÄ»ã×ܱíºÍÃ÷ϸ±í£¬ÊÇÒ»¸öÖ÷±íºÍÒ»¸ö´Ó±í£¬ÐèҪͬ²½¸üС£
¡¡¡¡2.²¢·¢Ê±·ÖÀ벻ͬÊÂÎñ²Ù×÷¡£ÀýÈç±à¼¹ý³ÌÖеÄÊý¾Ý²»¸øÆäËûÊÂÎñ²éѯµ½¡£ÕâÒ²ÊÇÏà¶ÔµÄ£¬ÔÚÌØÐ§ÐèÇóÏ¿ÉÄÜÒªÖ§³Ödirty read(Ôà¶Á)£¬µ«²»ÊÇÕâÀïÌÖÂ۵ķ¶Î§ÁË¡£
¡¡¡¡SQL Server 2008 µÄÊÂÎñÀàÐÍ
¡¡¡¡1.×Ô¶¯Ìá½ ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯ÔÚʱ¼ä³É±¾ºÍ·çÏÕÉϵĴú¼Û¶¼ºÜµÍ£»
¿ÉÒÔÓв»Í¬µÄд·¨£»Ò×ѧ£¬ÄѾ«Í¨¡£
SQLÓÅ»¯£º
¹Ì¶¨µÄSQLÊéдϰ¹ß£¬ÏàͬµÄ²éѯ¾¡Á¿±£³ÖÏàͬ£¬´æ´¢¹ý³ÌµÄЧÂʽϸߡ£
Ó¦¸Ã±àдÓëÆä¸ñʽһÖµÄÓï¾ä£¬°üÀ¨×ÖĸµÄ´óСд¡¢±êµã·ûºÅ¡¢»»ÐеÄλÖõȶ¼ÒªÒ»ÖÂ
ORACLEÓÅ»¯Æ÷£º
ÔÚÈκοÉÄܵÄʱºò¶¼»á¶Ô±í´ïʽ½øÐÐÆÀ¹À£¬²¢ÇÒ°ÑÌØ¶¨µÄÓï·¨½á¹¹×ª»»³ÉµÈ¼ÛµÄ½á¹¹£¬Õâô×öµÄÔÒòÊÇ
Ҫô½á¹û±í´ïʽÄܹ»±ÈÔ´±í´ïʽ¾ßÓиü¿ìµÄËÙ¶È
ҪôԴ±í´ïʽֻÊǽá¹û±í´ïʽµÄÒ»¸öµÈ¼ÛÓïÒå½á¹¹
²»Í¬µÄSQL½á¹¹ÓÐʱ¾ßÓÐͬÑùµÄ²Ù×÷£¨ÀýÈ磺= ANY (subquery) and IN (subquery)£©£¬ORACLE»á°ÑËûÃÇÓ³Éäµ½Ò»¸öµ¥Ò»µÄÓïÒå½á¹¹¡£
1 ³£Á¿ÓÅ»¯£º
³£Á¿µÄ¼ÆËãÊÇÔÚÓï¾ä±»ÓÅ»¯Ê±Ò»´ÎÐÔÍê³É£¬¶ø²»ÊÇÔÚÿ´ÎÖ´ÐÐʱ¡£ÏÂÃæÊǼìË÷ÔÂн´óÓÚ2000µÄµÄ±í´ïʽ£º
sal > 240 ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ»¯ÔÚʱ¼ä³É±¾ºÍ·çÏÕÉϵĴú¼Û¶¼ºÜµÍ£»
¿ÉÒÔÓв»Í¬µÄд·¨£»Ò×ѧ£¬ÄѾ«Í¨¡£
SQLÓÅ»¯£º
¹Ì¶¨µÄSQLÊéдϰ¹ß£¬ÏàͬµÄ²éѯ¾¡Á¿±£³ÖÏàͬ£¬´æ´¢¹ý³ÌµÄЧÂʽϸߡ£
Ó¦¸Ã±àдÓëÆä¸ñʽһÖµÄÓï¾ä£¬°üÀ¨×ÖĸµÄ´óСд¡¢±êµã·ûºÅ¡¢»»ÐеÄλÖõȶ¼ÒªÒ»ÖÂ
ORACLEÓÅ»¯Æ÷£º
ÔÚÈκοÉÄܵÄʱºò¶¼»á¶Ô±í´ïʽ½øÐÐÆÀ¹À£¬²¢ÇÒ°ÑÌØ¶¨µÄÓï·¨½á¹¹×ª»»³ÉµÈ¼ÛµÄ½á¹¹£¬Õâô×öµÄÔÒòÊÇ
Ҫô½á¹û±í´ïʽÄܹ»±ÈÔ´±í´ïʽ¾ßÓиü¿ìµÄËÙ¶È
ҪôԴ±í´ïʽֻÊǽá¹û±í´ïʽµÄÒ»¸öµÈ¼ÛÓïÒå½á¹¹
²»Í¬µÄSQL½á¹¹ÓÐʱ¾ßÓÐͬÑùµÄ²Ù×÷£¨ÀýÈ磺= ANY (subquery) and IN (subquery)£©£¬ORACLE»á°ÑËûÃÇÓ³Éäµ½Ò»¸öµ¥Ò»µÄÓïÒå½á¹¹¡£
1 ³£Á¿ÓÅ»¯£º
³£Á¿µÄ¼ÆËãÊÇÔÚÓï¾ä±»ÓÅ»¯Ê±Ò»´ÎÐÔÍê³É£¬¶ø²»ÊÇÔÚÿ´ÎÖ´ÐÐʱ¡£ÏÂÃæÊǼìË÷ÔÂн´óÓÚ2000µÄµÄ±í´ïʽ£º
sal > 240 ......