Statspack之十四-"log file sync" 等待事件(转贴)
摘要:当一个用户提交(commits)或者回滚(rollback),session的redo信息需要写出到redo logfile中.用户进程将通知LGWR执行写出操作,LGWR完成任务以后会通知用户进程.这个等待事件就是指用户进程等待LGWR的写完成通知.对于回滚操作,该事件记录从用户发出rollback命令到回滚完成的时间.如果该等待过多,可能说明LGWR的写出效率低下,或者系统提交过于频繁.针对该问题,可以关注:log file parallel write等待事件user commits,user rollback等统计信息可以用于观察提交或回滚次数解决方案:1.提高LGWR性能尽量使用快速
阅读全文
posted @
2011-09-13 15:33
小光_520
阅读(277)
推荐(0)
Statspack之十三-Enqueue(转贴)
摘要:enqueue是一种保护共享资源的锁定机制。该锁定机制保护共享资源,如记录中的数据,以避免两个人在同一时间更新 同一数据。enqueue包括一个排队机制,即FIFO(先进先出)排队机制。 Enqueue等待常见的有ST、HW 、TX 、TM等ST enqueue,用于空间管理和字典管理的表空间(DMT)的区间分配,在DMT中典型的是对于uet$和fet$数据字典表的 争用。对于支持LMT的版本,应该尽量使用本地管理表空间. 或者考虑手工预分配一定数量的区(Extent),减少动态扩展时发生的严重队列竞争。 我们通过一个实例来看一下: DB Name DB Id Insta...
阅读全文
posted @
2011-09-13 15:22
小光_520
阅读(227)
推荐(0)
Statspack之十二-db file scattered read-DB文件分散读取(转帖)
摘要:这种情况通常显示与全表扫描相关的等待。当数据库进行全表扫时,基于性能的考虑,数据会分散(scattered)读入Buffer Cache。如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或者没有创建合适的索引,我们可能需要检查这些数据表已确定是否进行了正确的设置。然而这个等待事件不一定意味着性能低下,在某些条件下Oracle会主动使用全表扫描来替换索引扫描以提高性能,这和访问的数据量有关,在CBO下Oracle会进行更为智能的选择,在RBO下Oracle更倾向于使用索引。因为全表扫描被置于LRU(Least Recently Used,最近最少适用)列表的冷端(cold e
阅读全文
posted @
2011-09-07 16:53
小光_520
阅读(224)
推荐(0)
Statspack之十一-Statspack报告各部分简要说明(转帖)
摘要:第一部分 数据库概要信息DB Name DB Id Instance Inst Num Release Cluster Host---------- ----------- ------------ -------- ----------- ------------GLOB 188430914 glob 1 9.2.0.4.0 NO b02第二部分 数据库采样时段,这一部分记录了数据库采样的时间,以及采样点数,这部分信息对于report来说是十分重要。任何统计数据都需要通过时间纬度来衡量,离开...
阅读全文
posted @
2011-09-07 16:42
小光_520
阅读(196)
推荐(0)
Statspack之十-调整STATSPACK的收集门限(转帖)
摘要:Statspack有两种类型的收集选项:级别(level):控制收集数据的类型门限(threshold):设置收集的数据的阈值。1.级别(level)Statspack共有三种快照级别,默认值是5a.level 0: 一般性能统计。包括等待事件、系统事件、系统统计、回滚段统计、行缓存、SGA、会话、锁、缓冲池统计等等。b.level 5: 增加SQL语句。除了包括level0的所有内容,还包括SQL语句的收集,收集结果记录在stats$sql_summary中。c.level 10: 增加子锁存统计。包括level5的所有内容。并且还会将附加的子锁存存入stats$lathc_children
阅读全文
posted @
2011-09-07 16:26
小光_520
阅读(161)
推荐(0)
Statspack之九-其它重要脚本(转帖)
摘要:1.通过导出保存及共享数据在诊断系统问题时,可能需要向专业人士提供原始数据,这时我们可以导出Statspack表数据,其中我们可能用到:spuexp.par其内容主要为:file=spuexp.dmp log=spuexp.log compress=y grants=y indexes=y rows=y constraints=y owner=PERFSTAT consistent=y我们可以导出如下:exp userid=perfstat/my_perfstat_password parfile=spuexp.par2.删除数据spdrop.sql在执行时主要调用两个脚本: spdtab.s
阅读全文
posted @
2011-09-07 16:23
小光_520
阅读(161)
推荐(0)
Statspack之八-删除历史数据(转帖)
摘要:删除stats$snapshot数据表中的相应数据,其他表中的数据会相应的级连删除:SQL> select max(snap_id) from stats$snapshot;MAX(SNAP_ID)------------166SQL> delete from stats$snapshot where snap_id < = 166;143 rows deleted你可以更改snap_id的范围以保留你需要的数据。在以上删除过程中,你可以看到所有相关的表都被锁定。SQL> select a.object_id,a.oracle_username ,b.object_na
阅读全文
posted @
2011-09-07 16:03
小光_520
阅读(233)
推荐(0)
Statspack之七-移除定时任务(转贴)
摘要:移除一个定时任务,可以如下操作: SQL> select job,log_user,priv_user,last_date,next_date,interval from user_jobs;JOB LOG_USERLAST_DATENEXT_DATEINTERVAL---------- ----------------------------------- ------------------------------ -----------22 PERFSTAT 2002-12-5:14:33:26 2002-12-5 14:43:00 trunc(SYSDATE+1/144,'
阅读全文
posted @
2011-09-07 15:55
小光_520
阅读(177)
推荐(0)
Statspack之六-生成分析报告(转贴)
摘要:Statspack之六-生成分析报告调用spreport.sql可以生成分析报告:SQL> @spreportDB Id DB Name Inst Num Instance----------- ------------ -------- ------------1277924236 EYGLE 1 eygleCompleted SnapshotsSnap SnapInstance DB Name Id Snap Started Level Comment------------ ------------ ----- ----------------- ----- -----------
阅读全文
posted @
2011-09-07 15:46
小光_520
阅读(213)
推荐(0)
Statspack之五-规划自动任务(转贴)
摘要:Statspack正确安装以后,我们就可以设置定时任务,开始收集数据了。可以使用spatuo.sql来定义自动任务。先来看看spauto.sql的关键内容:dbms_job.submit(:jobno, 'statspack.snap;',trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);这个job任务定义了收集数据的时间间隔:一天有24个小时,1440分钟,那么:1/24HH每小时一次1/48MI每半小时一次1/144MI
阅读全文
posted @
2011-09-06 17:36
小光_520
阅读(171)
推荐(0)
Statspack之四-测试安装好的Statspack(转贴)
摘要:运行statspack.snap可以产生系统快照,运行两次,然后执行spreport.sql就可以生成一个基于两个时间点的报告。如果一切正常,说明安装成功。SQL>execute statspack.snapPL/SQL procedure successfully completed.SQL>execute statspack.snapPL/SQL procedure successfully completed.SQL>@spreport.sql…可是有可能你会得到以下错误:SQL> exec statspack.snap; BEGIN statspack.snap
阅读全文
posted @
2011-09-06 16:51
小光_520
阅读(210)
推荐(0)
Statspack之三-安装statspack(转贴)
摘要:安装Statspack需要用internal身份登陆,或者拥有SYSDBA(connect / as sysdba)权限的用户登陆。需要在本地安装或者通过telnet登陆到服务器。在Oracle8.1.6版本中运行statscre.sql;在Oracle8.1.7版本中运行spcreate.sql。首先登陆到数据库,最好转到$ORACLE_HOME/RDBMS/ADMIN目录,这样我们执行脚本就可以方便些。D:\oracle\ora81\RDBMS\ADMIN>sqlplus internalSQL*Plus: Release 8.1.7.0.0 - Production on 星期二
阅读全文
posted @
2011-09-06 16:26
小光_520
阅读(275)
推荐(0)
Statspack之二-需要更改的系统参数(转贴)
摘要:为了能够顺利安装和运行Statspack你可能需要设置以下系统参数:job_queue_processes 为了能够建立自动任务,执行数据收集,该参数需要大于0。你可以在初试化参数文件中修改该参数(使该参数在重起后以然有效)。该参数可以在系统级动态修改(重起后失效)。SQL> alter system set job_queue_processes = 6; System altered在Oracle9i当中,可以指定范围,如 both,这样该修改在当前及之后保持有效(仅当你使用spfile时,如果在9i中仍然使用pfile,那么更改方法同8i相同):SQL> alter syst
阅读全文
posted @
2011-09-06 16:23
小光_520
阅读(170)
推荐(0)
Statspack之一-Statspack简介(转贴)
摘要:Oracle Statspack 从Oracle8.1.6开始被引入Oracle,并马上成为DBA和Oracle专家用来诊断数据库性能的强有力的工具。通过Statspack我们可以很容易的确定Oracle数据库的瓶颈所在,记录数据库性能状态,也可以使远程技术支持人员迅速了解你的数据库运行状况。因此了解和使用Statspack对于DBA来说至关重要。在数据库中Statspack的脚本位于$ORACLE_HOME/RDBMS/ADMIN目录下,对于ORACLE8.1.6,是一组以stat开头的文件;对于ORACLE8.1.7,是一组以sp开头的文件。在Oracle8.1.6中,Statspack第
阅读全文
posted @
2011-09-06 16:20
小光_520
阅读(190)
推荐(0)