- 浏览: 557936 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (340)
- Spring (4)
- Hibernate (2)
- Linux (34)
- Oracle (145)
- Eclipse (1)
- UML (1)
- HTML&&JAVASCRIPT (11)
- JAVA (33)
- 设计模式 (1)
- 版本控制 (1)
- wrap框架 (3)
- IBATIS (5)
- Ruby (1)
- DWR (1)
- MINA (11)
- JBPM (2)
- 缓存技术 (4)
- 网络 (3)
- 应用服务器 (1)
- GWT (5)
- 杂谈 (2)
- ICE (4)
- XML (2)
- ArcGis (2)
- Flex (8)
- junit单元测试 (1)
- SNMP (1)
- 存储 (1)
- office (1)
- MongoDB (0)
- Greenplum (3)
- 管理点滴 (1)
- C++ (6)
- 网络入门 (3)
- Tomcat (7)
- JMX (0)
- webservice (1)
- Oracle的10046事件 (1)
- Library cache内部机制详解 (1)
- expdp通过dblink来导入 (1)
最新评论
-
yuanliangding:
有没有关于mock的更多知识。
基于mock对象和JUnit框架简化Spring Web组件单元测试 -
saup007:
ssh端口不是22,怎么搞呢?
Greenplum 学习笔记 -
springmvc-freemarker:
java开源项目源码实例下载
Apache上全部JAVA开源项目简介 -
bobbell:
哇塞,你真厉害,整理的非常全面。我是一个java barcod ...
Greenplum 学习笔记 -
wsj55133245513324:
这不是bug,你将日志级别从debug提升到INFO 就好了 ...
Spring,smppapi,apache mina, ssl快速实现安全的smpp(5)
-- Oracle性能监控和性能调优 ---
By LXM. 2009-07-17
1. 使用StatsPack: 性能监控和统计工具包。
a. 安装:
- 用oracle帐号进入$ORACLE_HOME/rdbms/admin目录,然后运行sqlplus "/ as sysdba" (用SYSDBA权限登录)
- SQL> @spcreate
这个脚本会创建perfstat账户,生成监控和统计相关的表。提示输入默认表空间和默认临时表空间,可以使用TOOLS和TEMP。输入perfstat用户的秘密并记住这个密码。
b. 使用
之后可以运行应用程序访问数据库。然后可以在TOAD或SQLPLus下生成监控快照(SNAP),并根据各个快照输出统计结果。
注意,使用之前,确保timed_statistics参数为true。
SQL> alter system set timed_statistics=true;
- 在TOAD下,用perfstat用户登录:
选择“DataBase"-"Monitor"-"StatsPack Browser",在左下角“Charts & Data Grids”中选中复选框中的"Built-in"所有组件,然后点击左上角"New Snap Shot",以生成快照。每隔几分钟生成一次。结果会显示在右边的图形中。
- SQLPLus,先进入到$ORACLE_HOME/rdbms/admin目录,然后登录到Oracle服务器(不是客户端):
- 用perfstat用户登录,执行生成快照的过程语句:
SQL> connect perfstat/perfstat
SQL> execute STATSPACK.SNAP
- 多执行几次。然后使用以下命令查看报表(注意先进入rdms/admin目录):
- 查看SNAP表,以确定snap_id:
SQL> select snap_id,TO_CHAR(snap_time,'yyyymmddhhmmss') from STATS$SNAPSHOT;
SNAP_ID TO_CHAR(SNAP_T
---------- --------------
21 20090722040736
22 20090722050748
SQL>@spreport
注意,使用@spreport需要输入起始snap_id。即使在TOAD中生成的快照,也可以使用这个语句进行查看。
Report中,以下是要关注的:
- Instance Activity Stats(实例活动):
-sorts (disk): 磁盘排序,这个值应该低。否则应提高sort_area_size值。
-sorts (memory) :内存排序,这个值应该高。
-table scans (long tables) : 大表扫描,这个值应该低。否则应查看是否未使用索引,是否有聚合语句(Group by, sum,count等)
- Library Cache Activity for DB (库缓存)
SQL_Area,Index等Pct Miss要低!
注意,对于上线产品,监控完成后,应该将timed_statistics设成false.
SQL> alter system set timed_statistics=false;
2. TOAD的"DataBase"-"Monitor"-"Top Session Finder"工具
使用Toad的Top Session Finder,可以找到最耗资源的Session,然后查看此Session所在的机器/进程、执行的SQL语句等信息。
从而判断哪个进程的哪个SQL语句比较耗数据库资源。
进入"Top Session Finder"后,点击左上角绿色的“三角”运行按钮(List Sessions),列出所有的Sessions.
然后点击右边的"Weighted sum"进行排序,也就是按权重的从高到低排序(这个权重按照CPU占用率、磁盘访问率等参数综合计算,越高表示资源耗用越大)。
然后选中排在前面的一些SID(SessionID), 单击右键,选择“Find Selected session in session browser":
双击相应的SID,在右侧会列出各项具体参数,例如:
-”Current Statements"会列出这个Session当前的SQL语句。可以判断哪个SQL语句比较耗资源。
-"Open Cursors"会列出游标情况,点中"Sql txt",则下侧的"Explain Plan"中,会给出执行计划。执行计划可以看到是否有全表扫描、是否按索引操作等关键信息。
3. ORACLE Enterprise Manager Console 自带的Top SQL 工具
进入Tools-"Diagnostic Pack"-"Top Sql“.
利用这个工具,也可以找到最耗资源的SQL语句情况。
4. 执行计划:使用Explain Plan确定SQL访问路径。
- 安装. 先进入oracle服务器的rdbms/admin目录,然后在SQLPlus下运行:
SQL> connect emsp_v3/emsp
Connected.
SQL> @utlxplan
此脚本会创建PLAN_TABLE,创建在emsp_v3用户下。这样,可以在这个用户下执行计划。
- 用上述用户登录后,执行计划,如下:
explain plan
set Statement_Id = 'TEST'
for
select * from smshistory where submittime>'20090717' and rownum<2;
commit;
for后面是需要解释查询的语句。这个语句不会实际执行,而是解释查询的执行计划。
- 查看结果:
select ID, Parent_ID,operation,options,cost,cardinality,io_cost,bytes,filter_predicates from plan_table;
(在TOAD中看方便一些)
如果出现TABLE ACCESS FULL,表示进行了全表或Partition扫描。
SQL> connect username/userpass@dbservicename
另一种查看执行计划的方法是自动跟踪:
- 第一步:登入sql/plus 执行命令(无先后顺序)
SQL> set time on; (说明:打开时间显示)
SQL> set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果)
SQL> set autotrace traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)二者选一个
第二步: 输入你要查看的sql 语句。
发表评论
-
expdp通过dblink来导入
2011-12-14 15:01 1789create.sql: spo create.log rem ... -
Library cache内部机制详解
2011-12-14 14:55 893Library cache内部机制详解 http://www ... -
Oracle的10046事件
2011-12-14 14:53 2098Oracle的10046事件,可以跟踪应用程序所执行的SQL语 ... -
REDO LOG MEMBER STATUS 和 REDO LOG GROUP STATUS
2011-12-14 14:51 928V$LOG 中列出的是REDO LOG GROUP STA ... -
oracle的exp/imp使用方法学习(转)
2011-08-30 08:54 964exp/imp两个命令可以说是oracle中最常用的命令了 ... -
oracle几个awr报告
2011-08-09 14:25 900工作中,碰到的数据库慢的几个awr报告 -
Oracle Profile 使用详解
2011-06-21 14:41 972一、目的: Oracle系统中的profile可以用来对 ... -
ORA-27013
2011-04-13 14:25 1516很新的一个bug,看下你的 memory_target是不是& ... -
ACLE表连接方式分析及常见用法
2011-03-23 09:14 1115摘要: 针对在数据仓库 ... -
ORACLE 外部表应用
2011-03-09 14:58 1068SQL> create or replace direc ... -
How to convert a 32-bit database to 64-bit database on Linux
2011-02-18 14:09 1216How to convert a 32-bit databas ... -
expdp impdp 数据库导入导出命令详解
2011-02-16 09:10 1957一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最 ... -
Oracle手工解/锁表
2011-01-25 14:15 2507手工锁表:lock table tbl_t1 in row ... -
oracle动态性能视图
2011-01-22 10:47 862Oracle动态性能视图个人整理 -
RBO规则介绍
2011-01-17 16:45 1082•无条件使用索引•使用内置的优先级别决定访问路径•比较难以 ... -
关于排序、sort_area_size、临时表空间
2011-01-13 15:30 1120简单陈述一下:针对每 ... -
创建索引ORACLE 需要做的工作
2011-01-13 14:53 1324一. 先来看一下创建索引要做哪些操作:1. 把inde ... -
表之间的连接
2011-01-13 10:42 798Join是一种试图将两个表结合在一起的谓词,一次只能连接2 ... -
重建索引的条件
2011-01-12 16:43 955如果索引存在碎片,那每个索引数据块上的索引数据就更少,会导致我 ... -
TKPROF使用学习
2011-01-10 17:38 726Tkprof工具可用来格式化sql trace产生的文件, ...
相关推荐
四、Oracle性能监控与调优 Oracle数据库系统的性能优化涵盖: 1. **物理结构优化**:合理设计表空间、段、区,避免全表扫描,使用索引。 2. **SQL优化**:使用`EXPLAIN PLAN`分析查询执行计划,调整SQL语句,避免全...
《Oracle性能调优最佳攻略(OCP版)》详细阐述了Oracle性能调优的策略与实践,包括调优方法论、基本调优工具和DB时间模型等关键知识点。 首先,调优方法论提出了性能调优的主体——谁来调优。数据库管理员(DBA)、...
总之,Oracle数据库性能调优和监控是一个复杂而细致的过程,需要结合硬件资源、数据库配置、SQL语句优化等多个维度进行综合考虑。通过持续监控和适时调整,可以确保数据库系统稳定高效地运行,为业务提供强有力的...
1. **性能监控**:使用Oracle提供的工具,如AWR(Automatic Workload Repository)报告和ASH(Active Session History),收集系统性能数据。 2. **性能问题识别**:分析收集到的数据,识别出导致性能下降的因素,如...
总的来说,Oracle性能调优不仅仅是数据库层面的操作,还需要结合操作系统层面的监控和分析。通过合理利用工具,及时识别和解决CPU、内存和IO等资源的瓶颈,可以显著提升数据库的运行效率。同时,定期审查和优化SQL...
EBS(Oracle E-Business Suite)性能调优是一项关键任务,它涉及多个层次的优化,包括存储设备、主机、数据库、应用系统、网络和客户端。此文档重点聚焦于应用系统和数据库层面的调优策略,同时也涵盖了一部分Linux...
Oracle性能调优是一个复杂而关键的过程,涉及到...总之,Oracle性能调优是一个系统性的工程,需要深入理解数据库的工作原理,并结合实际环境进行有针对性的分析和优化。持续监控和调整是保证数据库高效运行的关键。
Oracle性能监控是数据库管理系统中一个至关重要的环节,它有助于确保系统的高效运行,及时发现并解决潜在问题。在本文中,我们将深入探讨Oracle性能监控的一种工具——Quest公司的SPOTLIGHT ON ORACLE,它是一款专为...
### Oracle性能调优原理及具体手段 #### 一、Oracle结构与实例 ##### 1.1 Oracle实例(Instance) - **定义与作用**:Oracle实例是访问Oracle数据库的一个途径,它仅能打开一个数据库。 - **组成**:由SGA(系统...
性能调优可以分为三个主要的层面:应用调优、实例调优和操作系统调优。应用调优通常是DBA与开发人员合作,通过优化SQL语句和性能变化管理来实现。实例调优是DBA的职责,包括内存配置、数据库结构和实例配置等。而...
标题中提到的“ORACLE DBA工作笔记 运维数据迁移与性能调优”揭示了这本书籍主要围绕着Oracle数据库管理员(DBA)在日常工作中经常需要进行的两项关键任务:数据迁移和性能调优。作为一名Oracle DBA,不仅要负责...
LOadrunner进行压力测试时,需要对数据库进行监控,spotliht on oracle工具可以实时监控oracle数据库,定位耗时,执行效率低的sql,便于对数据库进行调优提供参考依据。
"Oracle性能调优向导"这本书旨在为读者提供全面而实用的Oracle性能优化策略和技巧。 一、Oracle性能优化基础 Oracle性能优化的基本原则包括:最小化磁盘I/O、合理分配系统资源、优化SQL查询和索引策略。这需要我们...
通过具体的案例分析和实践经验分享,可以帮助我们更好地理解和掌握Oracle性能调优的具体方法和技术。 **案例**: - **案例1**:某企业数据库因频繁执行大量复杂查询而出现性能下降现象。通过SQL语句优化和并行查询...
Oracle性能调优是一个复杂而关键的过程,涉及到数据库的多个层面,包括硬件配置、操作系统设置、数据库参数调整、SQL优化以及...Oracle性能调优是一个持续的过程,需要不断监控、测试和改进,以实现最优的系统性能。
Oracle Enterprise Manager(OEM)是一个全面的管理系统,包含诊断和性能监控工具;Statspack则用于收集和分析性能数据;v$xxx动态性能视图提供了实时数据库状态;dba_xxx字典视图用于查询数据库对象信息。 数据库...
8. **性能监控和诊断**:利用AWR(Automatic Workload Repository)、ASH(Active Session History)等工具,定期收集和分析性能数据,找出性能瓶颈。 9. **数据库升级和补丁应用**:保持数据库版本的最新,应用...
以上仅为Oracle 11g性能调优的部分要点,实际PPT可能会包含更详细的操作步骤和案例分析,帮助DBA们更有效地管理数据库,确保系统的稳定性和高性能。通过深入学习和实践这些知识,可以提升数据库的运行效率,减少响应...
总的来说,OTop作为一款强大的Oracle性能调优工具,它提供了一种直观、高效的手段来监控和优化数据库性能,对于维护数据库健康、提升业务效率至关重要。通过熟练掌握OTop的使用,DBA能够更好地管理和优化Oracle...