Oracle Tuning
¡¡ ¹ØÓÚOracleµÄÐÔÄܵ÷Õû£¬Ò»°ã°üÀ¨Á½¸ö·½Ã棬һÊÇÖ¸OracleÊý¾Ý¿â±¾ÉíµÄµ÷Õû£¬±ÈÈçSGA¡¢PGAµÄÓÅ»¯ÉèÖ㬶þÊÇÁ¬½ÓOracleµÄÓ¦ÓóÌÐòÒÔ¼°SQLÓï¾äµÄÓÅ»¯¡£×öºÃÕâÁ½¸ö·½ÃæµÄÓÅ»¯£¬¾Í¿ÉÒÔʹһÌ×ÍêÕûµÄOracleÓ¦ÓÃϵͳ´¦ÓÚÁ¼ºÃµÄÔËÐÐ״̬¡£
¡¡¡¡ ±¾ÎÄÖ÷ÒªÊǰÑһЩOracle TuningµÄÎÄÕÂ×÷ÁËÒ»¸ö¼òµ¥µÄ×ܽᣬÁ¦ÇóÒÔʵ¼Ê¿É²Ù×÷ΪĿµÄ£¬ÅäºÏ½²½â²¿·ÖÀíÂÛ֪ʶ£¬Ê¹´ó²¿·Ö¾ßÓÐÒ»°ãOracle֪ʶµÄʹÓÃÕßÄܹ»¶ÔOracle TuningÓÐËùÁ˽⣬²¢ÇÒÄܹ»¸ù¾Ýʵ¼ÊÇé¿ö¶ÔijЩ²ÎÊý½øÐе÷Õû¡£¹ØÓÚ¸ü¼Ó¾ßÌåµÄ֪ʶ£¬Çë²Î¼û±¾ÎĽáÊø²¿·ÖËùÌá¼°µÄÍÆ¼öÊé¼®£¬Í¬Ê±ÓÉÓڸû°ÌâÄÚÈÝÌ«¶àÇÒ¸´ÔÓ£¬±¾Îıض¨ÓÐʧ֮ƫÆÄÉõÖÁ´íÎóµÄµØ·½£¬Çë²»Áߴͽ̣¬²¢¹²Í¬½ø²½¡£
¡¡¡¡1. SGAµÄÉèÖÃ
¡¡¡¡ ÔÚOracle TuningÖУ¬¶ÔSGAµÄÉèÖÃÊÇÒªº¦¡£SGA£¬ÊÇÖ¸Shared Global Area , »òÕßÊÇ System Global Area , ³ÆÎª¹²ÏíÈ«¾ÖÇø»òÕßϵͳȫ¾ÖÇø£¬½á¹¹ÈçÏÂͼËùʾ¡£
¡¡¡¡ ¶ÔÓÚSGAÇøÓòÄÚµÄÄÚ´æÀ´Ëµ£¬Êǹ²ÏíµÄ¡¢È«¾ÖµÄ£¬ÔÚUNIX ÉÏ£¬±ØÐëΪoracle ÉèÖù²ÏíÄÚ´æ¶Î£¨¿ÉÒÔÊÇÒ»¸ö»òÕß¶à¸ö£©£¬ÒòΪoracle ÔÚUNIXÉÏÊÇ¶à½ø³Ì£»¶øÔÚWINDOWSÉÏoracleÊǵ¥½ø³Ì£¨¶à¸öỊ̈߳©£¬ËùÒÔ²»ÓÃÉèÖù²ÏíÄÚ´æ¶Î¡£
¡¡¡¡1.1 SGAµÄ¸÷¸ö×é³É²¿·Ö
¡¡¡¡ÏÂÃæÓà sqlplus ²éѯ¾ÙÀý¿´Ò»Ï SGA ¸÷¸ö×é³É²¿·ÖµÄÇé¿ö£º
¡¡¡¡SQL> select * from v$sga;
¡¡¡¡NAME VALUE
¡¡¡¡-------------------- ----------
¡¡¡¡Fixed Size 104936
¡¡¡¡Variable Size 823164928
¡¡¡¡Database Buffers 1073741824
¡¡¡¡Redo Buffers 172032
¡¡¡¡»òÕß
¡¡¡¡SQL> show sga
¡¡¡¡Total System Global Area 1897183720 bytes
¡¡¡¡Fixed Size 104936 bytes
¡¡¡¡Variable Size 823164928 bytes
¡¡¡¡Database Buffers 1073741824 bytes
¡¡¡¡Redo Buffers 172032 bytes
¡¡¡¡Fixed Size
¡¡¡¡ oracle µÄ²»Í¬Æ½Ì¨ºÍ²»Í¬°æ±¾Ï¿ÉÄܲ»Ò»Ñù£¬µ«¶ÔÓÚÈ·¶¨»·¾³ÊÇÒ»¸ö¹Ì¶¨µÄÖµ£¬ÀïÃæ´æ´¢ÁËSGA ¸÷²¿·Ö×é¼þµÄÐÅÏ¢£¬¿ÉÒÔ¿´×÷Òýµ¼½¨Á¢SGAµÄÇøÓò¡£
¡¡¡¡Variable Size
¡¡¡¡ °üº¬ÁËshared_pool_size¡¢Java_pool_size¡¢large_pool_size µÈÄÚ´æÉèÖÃ
¡¡¡¡Database Buffers
¡¡¡¡ Ö¸Êý¾Ý»º³åÇø£¬ÔÚ8i Öаüº¬db_block_buffer*db_block_size¡¢buffer_pool_keep¡¢buffer_pool_recycle Èý²¿·ÖÄÚ´æ¡£ÔÚ9i Öаüº¬db_cache_size¡¢db_keep_cache_size¡¢db_recycle_cache_size¡¢ db_nk_cache_size¡£
¡¡¡¡Redo Buffers
¡¡¡¡ Ö¸ÈÕÖ¾»º³åÇø£¬log_buffer¡£ÔÚÕâÀïÒª¶îÍâ˵Ã÷Ò
Ïà¹ØÎĵµ£º
OracleʵÏÖ×ÔÔöÖ÷¼ü
oracleûÓÐORACLE×ÔÔö×Ö¶ÎÕâÑùµÄ¹¦ÄÜ£¬µ«ÊÇͨ¹ý´¥·¢Æ÷(trigger)ºÍÐòÁÐ(sequence)¿ÉÒÔʵÏÖ¡£
create table t_client (id number(4) primary key,
pid number(4) not null,
name varchar2(30) not null,
client_id varchar2(10),
client_level char(3),
bank_acct_no varchar2(30),
contact_tel&n ......
select owner,sum(bytes)/1024/1024 sum_MB
from dba_segments
where tablespace_name='USERS' and owner like 'ZJ%'
group by owner
order by 2 desc;
SET NEWPAGE NONE HEADING OFF SPACE 0 PAGESIZE 0 TRIMOUT ON TRIMSPOOL ON LINESIZE 25 ......
¡¡ SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO   ......
¼¸¸ö¼òµ¥µÄ²½Öè´ó·ùÌá¸ßOracleÐÔÄÜ--ÎÒÓÅ»¯Êý¾Ý¿âµÄÈý°å¸«¡£
Êý¾Ý¿âÓÅ»¯µÄÌÖÂÛ¿ÉÒÔ˵ÊÇÒ»¸öÓÀºãµÄÖ÷Ìâ¡£×ÊÉîµÄOracleÓÅ»¯ÈËԱͨ³£»áÒªÇóÌá³öÐÔÄÜÎÊÌâµÄÈ˶ÔÊý¾Ý¿â×öÒ»¸östatspack£¬Ìù³öÊý¾Ý¿âÅäÖõȵȡ£»¹ÓеÄÈËÈÏΪҪץ³öÖ´ÐÐ×îÂýµÄÓï¾äÀ´½øÐÐÓÅ»¯¡£µ«Êµ¼ÊÇé¿öÊÇ£¬Ìá³öÒÉÎʵÄÈ˺ܿÉÄܸù±¾²»¶®Ö´Ðмƻ®£¬¸ü²»ÒªËµstatspac ......
OracleÖÐÓÃRowid²éÕÒºÍɾ³ýÖØ¸´¼Ç¼
¡¡¡¡Æ½Ê±¹¤×÷ÖпÉÄÜ»áÅöµ½µ±ÊÔͼ¶Ô¿â±íÖеÄijһÁлò¼¸Áд´½¨Î¨Ò»Ë÷Òýʱ£¬ÏµÍ³Ìáʾ ORA-01452 £º²»ÄÜ´´½¨Î¨Ò»Ë÷Òý£¬·¢ÏÖÖØ¸´¼Ç¼¡£
¡¡¡¡ÏÂÃæ×ܽáһϼ¸ÖÖ²éÕÒºÍɾ³ýÖØ¸´¼Ç¼µÄ·½·¨£¨ÒÔ±íCZΪÀý£©£º
¡¡¡¡±íCZµÄ½á¹¹ÈçÏ£º
¡¡¡¡SQL> desc cz
¡¡¡¡Name Null? Type
¡¡¡¡---------- ......