WEB开发网
开发学院数据库Oracle Oracle 性能优化的基本方法概述 阅读

Oracle 性能优化的基本方法概述

 2008-09-08 12:53:30 来源:WEB开发网   
核心提示: -- 查询会话等待事件的详细信息select sid,event,p1text,p1,p2text,p2,p3text,p3from v$session_waitwhere sid between &1 and &2and event not like '%SQL%'and

-- 查询会话等待事件的详细信息

select sid,event,p1text,p1,p2text,p2,p3text,p3
from v$session_wait
where sid between &1 and &2
and event not like '%SQL%'
and event not like '%rdbms%';

-- 利用P1、P2的信息,找出等待事件的相关的段

select owner,segment_name,segment_type,tablespace_name
from dba_extents
where file_id = &fileid_in
and &blockid_in between block_id and block_id + blocks - 1;

-- 获得操作该段的sql语句:

select sid, getsqltxt(sql_hash_value,sql_address)
from v$session
where sid = &sid_in;

-- getsqltxt函数

create or replace
function GetSQLtxt (hashaddr_in in v$sqltext.hash_value%type,
    addr_in in v$sqltext.address%type)
return varchar2
is
temp_sqltxt varchar2(32767);
cursor sqlpiece_cur
is
 select piece,sql_text
 from v$sqltext
 where hash_value = hashaddr_in
 and address = addr_in
 order by piece;
begin
for sqlpiece_rec in sqlpiece_cur
loop
 temp_sqltxt := temp_sqltxt || sqlpiece_rec.sql_text;
end loop;
return temp_sqltxt;
end GetSQLtxt;

-- 至此已经找到影响性能的对象和sql语句,可以有针对性地优化

4. 把等待事件记入跟踪文件

重点:如果在跟踪系统上的等待事件时,由于某种原因遇到了麻烦,则可以将这些等待事件记入一个跟踪文件。

上一页  1 2 3 4  下一页

Tags:Oracle 性能 优化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接