Oracle ASM Ïê½â
ASM:Automatic Storage Management, ÊÇOracle Ö÷ÍÆµÄÒ»ÖÖÃæÏòOracleµÄ´æ´¢½â¾ö·½°¸£¬ ASM ºÍ RDBMS ·Ç³£ÏàËÆ£¬ASM Ò²ÊÇÓÉʵÀýºÍÎļþ×é³É£¬ Ò²¿ÉÒÔͨ¹ýsqlplus ¹¤¾ßÀ´Î¬»¤¡£
1. ASM ʵÀýÓÉSGA ºÍºǫ́½ø³Ì×é³É¡£
1.1 SGA ×é³É:
ASM ʵÀýµÄSGA°üÀ¨Buffer Cache£¬ Share Pool£¬ Large PoolµÈ¡£ ÐèҪעÒâµÄÊÇShare Pool£¬ ÒòΪExtent Map Òª·ÅÔÚÕⲿ·ÖµÄÄÚ´æÖУ¬ÐèÒª¸ü¾ßÊý¾ÝÁ¿À´¹À¼ÆExtent Map µÄ´óС×öÏàÓ¦µÄµ÷Õû¡£
Extent Map µÄ´óС¿ÉÒÔ¸ù¾ÝËùÓÐÎļþ´óСµÄºÍÀ´¹ÀË㣬ʹÓÃÏÂÃæµÄÓï¾äÀ´¼ÆËãËùÓÐÎļþºÍ£º
Select sum(bytes)/(1024*1024*1024) from v$datafile;
Select sum(bytes)/(1024*1024*1024) from v$logfile a, v$log b where a.Group#=b.Group#;
Select sum(bytes)/(1024*1024*1024) from v$tempfile where status='online';
Õâ3¸ösum µÄ×ܺͶÔÓ¦×ÅÊý¾Ý¿â´æ·ÅASMÖÐËùÓÐÎļþ´óС×ܺͣ¬ ¶ÔÓÚʹÓÃExternal Redundancy µÄ´ÅÅÌ×飬 ÿ100G ÐèÒª1MB µÄExtent Map£¬ ¸ù¾ÝÕâ¸ö±ÈÀý¼ÆËãExtent Map ËùÐèÒªµÄ¿Õ¼ä£¬ÔÚ¼ÓÉ϶îÍâµÄ2MB¾Í¿ÉÒÔÁË¡£ ÔÚʵ¼Ê¹¤×÷ÖÐÒ»°ã²»ÐèÒª¿¼ÂÇASM SGAµÄÅäÖ㬠ʹÓÃOracle ÌṩµÄȱʡֵ¾Í¿ÉÒÔÁË¡£
1.2 ºǫ́½ø³Ì
ASM ʵÀý±ÈRDBMS ʵÀý¶à2¸ö½ø³Ì£º RBAL ºÍ ABRn¡£
RBAL£º Õâ¸ö½ø³ÌÒ²½ÐRebalancer½ø³Ì£¬ ¸ºÔð¹æ»®ASM ´ÅÅÌ×éµÄReblance»î¶¯¡£
ABRn£ºÊÇRBAL½ø³ÌµÄ×Ó½ø³Ì£¬Õâ¸ö½ø³ÌÔÚÊýÁ¿ÉÏ¿ÉÒÔÓжà¸ö£¬ n´Ó1~9£¬ Õâ×é½ø³Ì¸ºÔðÕæÕý
Ïà¹ØÎĵµ£º
ÓбíA(×Ö¶ÎA1,A2)ºÍ±íB(×Ö¶ÎB1,B2).
×Ö¶ÎA2,B2É϶¼ÓÐË÷Òý.
A,B ±íÁª²é
sql1 Õâ¸ösql ·Ç³£¿ì 2ÃëµÄÑù×Ó
select * from A,B where A.A1=B.B1(+) and A2='Öµ1'
sql2 Õâ¸ösql Âýµ½ÈÃÈËÎÞ·¨ÈÌÊÜ
select * from A,B where A.A1=B.B1(+) and B2='Öµ1'
ÍâÁªÒÔºó ±íBÉϵÄË÷Òý²»Æð×÷ÓÃÁË.
Èç¹û»»³ÉÄÚÁª ËٶȺܿì.
sel ......
SQLµÄÓÅ»¯Ó¦¸Ã´Ó5¸ö·½Ãæ½øÐе÷Õû£º
1.È¥µô²»±ØÒªµÄ´óÐͱíµÄÈ«±íɨÃè
2.»º´æÐ¡ÐͱíµÄÈ«±íɨÃè
3.¼ìÑéÓÅ»¯Ë÷ÒýµÄʹÓÃ
4.¼ìÑéÓÅ»¯µÄÁ¬½Ó¼¼Êõ
5.¾¡¿ÉÄܼõÉÙÖ´Ðмƻ®µÄCost
SQLÓï¾ä£º
ÊǶÔÊý¾Ý¿â(Êý¾Ý)½øÐвÙ×÷µÄΩһ;¾¶£»
ÏûºÄÁË70%~90%µÄÊý¾Ý¿â×ÊÔ´£»¶ÀÁ¢ÓÚ³ÌÐòÉè¼ÆÂß¼£¬Ïà¶ÔÓÚ¶Ô³ÌÐòÔ´´úÂëµÄÓÅ»¯£¬¶ÔSQLÓï¾äµÄÓÅ» ......
select p.spid,
a.serial#,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$proces ......
ÔÚʵ¼Ê¿ª·¢ÖУ¬¾³£»áÐèÒª¶ÔÊý¾Ý¿â½øÐзÃÎÊ£¬×î³£¼ûµÄ¿ª·¢·½·¨¾ÍÀàËÆ£º
¡¡¡¡string sql = "select * from table1 where name = '" + name + "'";
¡¡¡¡ÕâÖÖ·½Ê½Óб»×¢Èë¹¥»÷µÄΣÏÕ
¡¡¡¡ËùÒÔ½â¾ö·½°¸ÓÐ2ÖÖ£º
¡¡¡¡1¡¢¸Ä³É£ºstring sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // Ìæ»»Ò» ......