ʹÓÃOracle sql_trace ¹¤¾ß
ǰÑÔ£º
sql_trace ÊÇÎÒÔÚ¹¤×÷Öо³£ÒªÓõ½µÄµ÷ÓŹ¤¾ß£¬Ïà±È½Ïstatspack ÎÒ¸üÔ¸ÒâÓÃÕâ¸ö¹¤¾ß¡£
ÒòΪÊý¾Ý¿âÂýÔÒòµÄ85%ÒÔÉÏÊÇÓÉÓÚsqlÎÊÌâÔì³ÉµÄ£¬statspackûÓÐsqlµÄÖ´Ðмƻ®¡£ÏÔʾûÓÐËüÖ±¹Û£¬·½±ã£¬¶ÔÏëÒªÕë¶ÔÐÔ²»Ç¿£¬
1£¬½éÉÜÊý¾Ý¿âµ÷ÓÅÐèÒª¾³£»áÓõ½µÄ¹¤¾ß£¬¿ÉÒԺܾ«È·µØ¸úץȡÏà¹ØsessionÕýÔÚÔËÐеÄsql¡£ÔÙͨ¹ýtkprof·ÖÎö³öÀ´sqlµÄÖ´Ðмƻ®µÈÏà¹ØÐÅÏ¢£¬´Ó¶øÅжÏÄÇЩsqlÓï¾ä´æÔÚÎÊÌâ¡£
ͳ¼ÆÈçÏÂÐÅÏ¢£¨Õª×Ö¹Ù·½Îĵµ£©£º
Parse, execute, and fetch counts
CPU and elapsed times
Physical reads and logical reads
Number of rows processed
Misses on the library cache
Username under which each parse occurred
Each commit and rollback
2£¬Ê¹ÓÃ
ʹÓÃǰÐèҪעÒâµÄµØ·½
1,³õʼ»¯²ÎÊýtimed_statistics=true ÔÊÐísql trace ºÍÆäËûµÄһЩ¶¯Ì¬ÐÔÄÜÊÓͼÊÕ¼¯Óëʱ¼ä£¨cpu£¬elapsed£©ÓйصIJÎÊý¡£Ò»¶¨Òª´ò¿ª£¬²»È»Ïà¹ØÐÅÏ¢²»»á±»ÊÕ¼¯¡£ÕâÊÇÒ»¸ö¶¯Ì¬µÄ²ÎÊý£¬Ò²¿ÉÒÔÔÚsession¼¶±ðÉèÖá£
SQL>alter session set titimed_statistics=true
2,MAX_DUMP_FILE_SIZE¸ú×ÙÎļþµÄ´óСµÄÏÞÖÆ£¬Èç¹û¸ú×ÙÐÅÏ¢½Ï¶à¿ÉÒÔÉèÖóÉunlimited¡£¿ÉÒÔÊÇKB,MBµ¥Î»£¬9I¿ªÊ¼Ä¬ÈÏΪunlimitedÕâÊÇÒ»¸ö¶¯Ì¬µÄ²ÎÊý£¬Ò²¿ÉÒÔÔÚsession¼¶±ðÉèÖá£
SQL>alter system set max_dump_file_size=300
SQL>alter system set max_dump_file_size=unlimited
3,USER_DUMP_DESTÖ¸¶¨¸ú×ÙÎļþµÄ·¾¶,ĬÈÏ·¾¶ÊµÔÚ$ORACLE_BASE/admin/ORA_SID/udumpÕâÊÇÒ»¸ö¶¯Ì¬µÄ²ÎÊý£¬Ò²¿ÉÒÔÔÚsession¼¶±ðÉèÖá£
SQL>alter system set user_dump_dest=/oracle/trace
Êý¾Ý¿â¼¶±ð
ÉèÖÃslq_trace²ÎÊýΪtrue»á¶ÔÕû¸öʵÀý½øÐиú×Ù£¬°üÀ¨ËùÓнø³Ì£ºÓû§½ø³ÌºÍºǫ́½ø³Ì£¬»áÔì³É±È½ÏÑÏÖØµÄÐÔÄÜÎÊÌ⣬Éú²ú»·¾³Ò»¶¨ÒªÉ÷Óá£
SQL>alter system set sql_trace=true;
Session¼¶±ð£º
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
--Óû§Óë½ÇÉ«¹ØÏµ
select a.uid as uid,a.status as uStatus,a.name as uName,
b.uid as rId,b.status as rStatus,b.name as rName
from sysusers a inner join sysusers b on a.gid = b.uid
where a.issqlrole = 0 and a.isapprole = 0 and a.hasdbaccess = 1 and (b.issqlrole = 1 or b.isapprole = 1)
......
¸ÄÉÆSQLÓï¾ä
¡¡¡¡ºÜ¶àÈ˲»ÖªµÀSQLÓï¾äÔÚSQL SERVERÖÐÊÇÈçºÎÖ´Ðеģ¬ËûÃǵ£ÐÄ×Ô¼ºËùдµÄSQLÓï¾ä»á±»SQL SERVERÎó½â¡£±ÈÈ磺
select * from table1 where name=''zhangsan'' and tID > 10000
ºÍÖ´ÐÐ:
select * from table1 where tID > 10000 and name=''zhangsan''
¡¡¡¡Ò»Ð©È˲»ÖªµÀÒÔÉÏÁ½ÌõÓï¾äµÄÖ´ÐÐЧÂÊÊÇ·ñÒ» ......
Oracle PGA²ÎÊý
PGA: ³ÌÐòÈ«¾ÖÇø£¬·þÎñÆ÷½ø³ÌʹÓõÄÄÚ´æÇøÓò£¬°üÀ¨Ìض¨·þÎñÆ÷½ø³ÌµÄÊý¾ÝºÍ¿ØÖÆÐÅÏ¢£¬ÀýÈçʹÓõIJÙ×÷ϵͳ×ÊÔ´µÈ¡£
UGA: Óû§È«¾ÖÇø£¬Ìض¨SessionʹÓõÄÄÚ´æÇøÓò£¬ÀýÈçSessionµÄSQL¹¤×÷Çø¡¢µÇ½ÈÏÖ¤ÐÅÏ¢µÈ¡£SessionµÄSQL¹¤×÷Çø´óС¶Ô²éѯÐÔÄܵÄÓ°Ïì±È½Ï¹Ø¼ü£¬shared serverģʽʱUGA´ÓSGAµÄlarge pool£¨Èç¹ ......