- 浏览: 684899 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
yzs5273:
没什么用。都试过了
WIN7下CS不能全屏的解决方法 -
di1984HIT:
不错,学习了
读取本地计算机中的安装程序列表 -
ffedu:
[flash=200,200][url][img][list] ...
linux/unix中如何用find命令详解,非常详细的介绍,比man find强100倍(转) -
lintghi:
...
Log4j使用相对路径指定log文件及使用总结 -
nick.s.ni:
唉,Java中引用的包没有介绍啊,如果数据库用UTF-8的格式 ...
Oracle 中Java 对象与PL/SQL类型的映射及使用(转)
Oracle性能优化基本方法包括一下几个步骤,包括:
1)设立合理的Oracle性能优化目标。
2)测量并记录当前的Oracle性能。
3)确定当前Oracle性能瓶颈(Oracle等待什么、哪些SQL语句是该等待事件的成分)。
4)把等待事件记入跟踪文件。
5)确定当前的OS瓶颈。
6)优化所需的成分(应用程序、数据库、I/O、争用、OS等)。
7)跟踪并实施更改控制过程。
8)测量并记录当前性能
9)重复步骤3到7,直到满足优化目标
下面来一一详述。
1.设立合理的Oracle性能优化目标
重点:关于设立目标的最重要的一点是它们必须是可量化和可达到的。
方法:目标必须是当前性能和所需性能的的陈述形式的语句。
2.测量并记录当前Oracle性能重点:
1)需要在峰值活动时间获得当前系统性能快照
2)关键是要在出现性能问题的时间段内采集信息
3)必须在合理的时间段上采集,一般在峰值期间照几个为期15分钟的快照
3.确定当前Oracle性能瓶颈重点:从Oracle 等待接口v$system_event、v$session_event和v$session_wait中获得等待事件,进而找出影响性能的对象和sql 语句。方法如下:
1)首先,利用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');
2)接着,利用下面对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;
3)使用下面查询找到与所连接的会话有关的当前等待事件。这些信息是动态的,为了查看一个会话的等待最多的事件是什么,需要多次执行此查询。
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;
4)查询会话等待事件的详细信息
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%';
5)利用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;
6)获得操作该段的sql语句:
1. select sid, getsqltxt(sql_hash_value,sql_address)
2. from v$session
3. where sid = &sid_in;
7)getsqltxt函数
8)至此已经找到影响性能的对象和sql语句,可以有针对性地优化
4.把等待事件记入跟踪文件
重点:如果在跟踪系统上的等待事件时,由于某种原因遇到了麻烦,则可以将这些等待事件记入一个跟踪文件。方法如下:
1)对于当前会话:
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';
2)执行应用程序,然后在USER_DUMP_DEST指出的目录中找到跟踪文件。
3)查看文件中以词WAIT开始的所有行。
4)对于其它的会话
5)确定会话的进程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%';
6)以sysdba进入sqlplus执行
1. alter session set timed_statistics=true;
2. alter session set max_dump_file_size=unlimited;
3. oradebug setospid
4. oradebug unlimit
5. oradebug event 10046 trace name context forever, level X /* Where X = (1,4,8,12) */
7)跟踪某个时间间隔得会话应用程序。
8)在USER_DUMP_DEST 的值指出的目录中利用SPID查看跟踪文件
9)查看文件中以词WAIT开始的所有行。
5.确定当前OS瓶颈1)Windows NT上的监控
使用控制面板-〉管理工具-〉性能即可
2)UNIX上的监控
使用通用性的工具,包括sar、iostat、cpustat、mpstat、netstat、top、osview等。
6.Oracle性能优化所需的成分(应用程序、数据库、I/O、争用、OS等)。
7.跟踪并实施更改控制过程。
8.测量并记录当前Oracle性能
9.重复步骤3到7,直到满足优化目标
发表评论
-
Mongo vs. Couchbase
2017-07-05 22:21 0https://www.couchbase.com/com ... -
Backup DDL on Oracle DB
2016-03-01 10:31 726set trimspool on lines 500 pa ... -
Identifying Relationship vs. Non-identifying Relationship
2015-10-20 23:49 1191Identifying vs non-identifying ... -
Re-post: DBMS_XPLAN : Display Oracle Execution Plans
2014-07-23 16:14 997DBMS_XPLAN : Display Oracle Ex ... -
Optimistic Locking with Concurrency in Oracle
2014-04-16 11:37 617A very good document about opti ... -
SQL*PLUS - SET Statement
2012-10-24 19:38 903Syntax: SET option value ... -
Get DDL via SQLPLUS
2012-10-24 19:36 944set pagesize 0 -- The height of ... -
Oracle 子程序参数模式,IN,OUT,NOCOPY ( 转)
2012-03-06 14:54 1814Oracle 子程序参数模式主 ... -
TNSNAMES配置中空格导致的bug(转)
2011-12-29 21:55 1094发现一个很有趣的bug ... -
Oracle 中Java 对象与PL/SQL类型的映射及使用(转)
2011-11-05 23:45 4674一、Jpublisher概述 Oracle JPu ... -
Refresh statistics for all tables
2011-11-03 14:10 869select 'analyze table '||tab ... -
What's blocking my lock?(Reposted)
2011-10-31 13:44 989If you've ever gotten a phone c ... -
Oracle exp direct(Reposted)
2011-06-15 14:55 2142使用直接导出模式 direct=y exp 比传统模式导 ... -
深入了解oracle的高水位(HWM)
2011-05-12 09:23 1123转自http://tolywang.itpub.net ... -
Oracle 聚簇(收集)
2011-05-11 22:02 18571. 什么是聚簇 聚簇是 ... -
怎样正确显示oracle异常行数(转)
2011-01-20 16:17 2581在oracle中的存储过程中,使用的EXCEPTION并用 ... -
Oracle function translate(Reposted)
2011-01-08 22:51 1597一、语法: TRANSLATE(string,f ... -
Oracle用Start with...Connect By子句递归查询(转)
2011-01-07 11:39 4177一、语法 大致写法:sel ... -
Spool和SQLLDR--Oracle数据导出导入(传)
2010-12-02 14:58 4439对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直 ... -
TNS:listener could not find instance with matching protocol stack
2010-09-27 15:41 1377When the listener believes the ...
相关推荐
oracle性能优化的基本方法之读懂执行计划,能够把执行计划读懂,算是做好性能优化的第一步。在读懂执行计划的基础上,再去谈论性能优化,才能有理有据。
oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是sql性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖oracle sql优化与调优技术,主要内容包括: 第一篇“执行计划...
高清完整版 Oracle 高性能SQL引擎剖析SQL优化与调优机制详解
oracle10G数据库性能监控与优化详解
Oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是SQL性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖Oracle SQL优化与调优技术,主要内容包括: 第一篇“执行计划”...
Oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能的一个重要因素就是SQL性能问题。本书是作者十年磨一剑的成果之一,深入分析与解剖OracleSQL优化与调优技术,主要内容包括: 第一篇“执行计划”...
Oracle+高性能SQL引擎剖析:SQL优化与调优机制详解
内有两份文档:Oracle语句优化,数据库优化总结,SQL优化,常见优化案例分析技术及优化规则详解。(大公司内部资料)
Oracle sql 性能优化调整优化53个规则详解
Oraclesql 性能优化调整 1.选用适合的ORACLE优化器 ORACLE的优化器共有3种: a.RULE(基于规则) b.COST(基于成本) c.CHOOSE(选择性) 设置缺省的优化器,可以通过对init.ora 文件中OPTIMIZER_MODE参数的各种声明...
oracle性能优化详解+oracle编程艺术,熟悉数据库必经之路
SQL性能调优之-Oracle语句优化53个规则详解
Oracle 高性能SQL引擎剖析SQL优化与调优机制详解(黄玮)。
工作当中总结出来优化方法,确实可以提高Oracle的性能,但是设置各参数的值需要根据服务器实际情况来做调整。
最完整的oracle动态性能视图详解,供DBA对数据库进行优化或者排错等很有好处,是oracle的老师给的哦~
ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c.... 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER... 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高.
Oracle高性能SQL引擎剖析 SQL优化与调优机制,很不错的书,推荐给大家。
Hint.pdf Oracle中rowid与rownum的使用.pdf Oracle优化 之 索引.pdf Oracle优化器.pdf STATSPACK详解.pdf 学用ORACLE_AWR和ASH特性.pdf 执行计划.pdf
Oracle语句优化规则详解,ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用。
Oracle高性能SQL引擎剖析:SQL优化与调优机制详解