大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> ORACLE -> 对ORACLE性能调优的基本方案

对ORACLE性能调优的基本方案

时间: 2021-08-13 作者:daque

以次的作品主假如对oracle 本能优化基础计划的概括,oracle 本能优化基础计划在本质中的运用比率仍旧占为普遍的,即使你对这一本领,心存猎奇的话,以次的作品将会显现它的神奇面纱。

1)创造有理的oracle 本能优化目的。

2)丈量并记载暂时本能。

3)决定暂时oracle本能瓶颈(oracle等候什么、哪些sql语句是该等候事变的因素)。

4)把等候事变记入盯梢文献。

5)决定暂时的os瓶颈。

6)优化所需的因素(运用步调、数据库、i/o、争用、os等)。

7)盯梢并实行变动遏制进程。

8)丈量并记载暂时本能

9)反复办法3到7,直到满意优化目的

1.创造有理的oracle 本能优化目的

中心:对于创造目的的最要害的一点是它们必需是可量化和可到达的。

本领:目的必需是暂时本能和所需本能的的报告情势的语句。只需填写下列语句中的空格即可。

耗费了 (时/分/秒),但诉求它在 (时/分/秒)内实行。

运用了 (资源量),但它不许运用胜过 。

2. 丈量并记载暂时本能

中心:

(1)须要在峰值震动功夫赢得暂时体例本能快速照相

(2)要害是要在展示本能题目的功夫段内搜集消息

(3)必需在有理的功夫段上搜集,普遍在峰值功夫照几个为期15秒钟的快速照相

本领:实行statspack

创造oracle 本能快速照相表空间

1.sqlplus sys as sysdba

2.create tablespace perfstat datafile '/u02/oradata/dbnms/perfstat.dbf' size 500m extent management local;

安置statspack

1.@$oracle_home/rdbms/admin/spcreate.sql;

获得本能数据,不妨天生多个快速照相

1.sqlplus perfstat

2.execute statspack.snap;

天生本能快速照相的报表

1.sqlplus perfstat

2.select min(snap_id) snapid_min, max(snap_id) snapid_max from stats$snapshot;

3.@$oracle_home/rdbms/admin/spreport;

该汇报中相关于本能的要害消息,如前5位的等候事变、cache巨细、百般外存构造的掷中率、每秒及每工作论理、物理读写数据块数、本能最差的sql语句等

3. 决定暂时oracle本能瓶颈

中心:从oracle 等候接口v$system_event、v$session_event和v$session_wait中赢得等候事变,从而找到感化本能的东西和sql语句

本领:

开始,运用v$system_event视图实行底下的查问察看数据库中某些罕见的等候事变:

1.select * from v$system_event

2.where event in ('buffer busy waits',

3.'db file sequential read',

4.'db file scattered read',

5.'enqueue',

6.'free buffer waits',

7.'latch free',

8.'log file parallel write',

9.'log file sync');

接着,运用下面临v$session_event和v$session视图举行的查问,接洽具备对上头表露的实质有奉献的等候事变的对话:

1.select se.sid,s.username,se.event,se.total_waits,se.time_waited,se.average_wait

2.from v$session s,v$session_event se

3.where s.sid = se.sid

4.and se.event not like 'sql*net%'

5.and s.status = 'active'

6.and s.username is not null;

运用底下查问找到与所贯穿的对话相关的暂时等候事变。那些消息是动静的,为了察看一个对话的等候最多的事变是什么,须要屡次实行此查问。

1.select sw.sid,s.username,sw.event,sw.wait_time,sw.state,sw.seconds_in_wait sec_in_wait

2.from v$session s,v$session_wait sw

3.where s.sid = sw.sid

4.and sw.event not like 'sql*net%'

5.and s.username is not null

6.order by sw.wait_time desc;

查问对话等候事变的精细消息

1.select sid,event,p1text,p1,p2text,p2,p3text,p3

2.from v$session_wait

3.where sid between &1 and &2

4.and event not like '%sql%'

5.and event not like '%rdbms%';

运用p1、p2的消息,找到等候事变的关系的段

1.select owner,segment_name,segment_type,tablespace_name

2.from dba_extents

3.where file_id = &fileid_in

4.and &blockid_in between block_id and block_id + blocks - 1;

赢得操纵该段的sql语句:

1.select sid, getsqltxt(sql_hash_value,sql_address)

2.from v$session

3.where sid = &sid_in;

getsqltxt因变量

1.create or replace

2.function getsqltxt (hashaddr_in in v$sqltext.hash_value%type,

3.addr_in in v$sqltext.address%type)

4.return varchar2

5.is

6.temp_sqltxt varchar2(32767);

7.cursor sqlpiece_cur

8.is

9.select piece,sql_text

10.from v$sqltext

11.where hash_value = hashaddr_in

12.and address = addr_in

13.order by piece;

14.begin

15.for sqlpiece_rec in sqlpiece_cur

16.loop

17.temp_sqltxt := temp_sqltxt || sqlpiece_rec.sql_text;

18.end loop;

19.return temp_sqltxt;

20.end getsqltxt;

至此仍旧找到感化oracle 本能的东西和sql语句,不妨有对准性地优化

4. 把等候事变记入盯梢文献

中心:即使在盯梢体例上的等候事变时,因为那种因为遇到了烦恼,则不妨将那些等候事变记入一个盯梢文献。

本领:

对于暂时对话:

1.alter session set timed_statistics=true;

2.alter session set max_dump_file_size=unlimited;

3.alter session set events '10046 trace name context forever, level 12';

实行运用步调,而后在user_dump_dest指出的目次中找到盯梢文献。

察看文献中以词wait发端的一切行。

对于其它的对话

决定对话的过程id(spid)。底下的查问辨别出称呼以a发端的一切用户的对话过程id:

1.select s.username, p.spid from v$session s, v$process p

2.where s.paddr = p.addr and s.username like 'a%';

以 sysdba 加入sqlplus实行

1.alter session set timed_statistics=true;

2.alter session set max_dump_file_size=unlimited;

3.oradebug setospid <spid>

4.oradebug unlimit

5.oradebug event 10046 trace name context forever, level x /* where x = (1,4,8,12) */

盯梢某个功夫间隙得对话运用步调。

在user_dump_dest 的值指出的目次中运用spid察看盯梢文献

察看文献中以词wait发端的一切行。

5. 决定暂时os瓶颈

(1)windows nt上的监察和控制

运用遏制面板-〉处置东西-〉oracle 本能即可

(2)unix上的监察和控制

运用通用性的东西,囊括sar、iostat、cpustat、mpstat、netstat、top、osview等。

1) cpu运用情景

sar -u 5 1000

%sys和%wio的数值该当小于百分之10到15

2) 摆设运用情景

sar -d 5 1000

在%busy胜过60%时,最好摆设运用率发端贬低;在具备充满磁盘高速缓存的体例上,觉得avserv为100毫秒的值特殊高。

3) 假造外存运用情景

vmstat -s 5 1000

实行部队(r)该当精确的平衡小于(2*cpu数量)

6.优化所需的因素(运用步调、数据库、i/o、争用、os等)。

7.盯梢并实行变动遏制进程。

8.丈量并记载暂时oracle 本能

9.反复办法3到7,直到满意优化目的

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.