|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
用一个库#bak_database存放这些历史数据。呵呵,今晚之前历来没有做过Statspack(仿佛有点丢人)。这几天一个数据库其实被熬煎得不可了,明显sga_max_size有1.5G,可是实践看全部实例才用了200+M内存,慢得要逝世,频仍读写硬盘,恰恰硬盘又不是磁盘阵列,IO狂慢,唉,疾苦啊。因而决意花点工夫学下实例优化,明天打印了几页PerformanceTuningGuide的文档,读了读关于Statspack的内容,在本人的条记本上做了实验,实在仍是很简单的。
起首运转%ORACLE_HOME%RDBMSADMINPCREATE,时代指定perfstat用户的暗码、表空间和一时表空间,一样平常缺省都无所谓。随后呈现一堆乐成提醒,假如没来得及看也无所谓,能够到你dos窗口(我是Win32平台)的路径下观察.lis文件,那些就是安装跟踪文件。
然后就能够用perfstat/暗码来上岸sqlplus了,实行:EXECSTATSPACK.SNAP;就是一次snapshot了,能够做成准时每隔一段工夫运转一次。
观察呈报:%ORACLE_HOME%RDBMSADMINPREPORT运转后提醒已做的一切snapshot的ID,然后依据必要选择本次呈报的入手下手ID和停止ID,随后输出文件名就失掉了一份.lst文件(这里文档中将后缀名写成了.lis,应当是错了,不外我看的是9i的文档,运转的是10g的数据库,不晓得是否是版本成绩),能够用文本工具翻开观察。
反省SQL:观察呈报时能够看到跟踪的SQL,个中就有hashvalue,把要更具体观察的语句的hashvalue纪录上去,运转%ORACLE_HOME%RDBMSADMINPREPSQL时输出,便可如前失掉lst文件,纪录了SQL语句的更具体剖析。
做多了snapshot,大概必要删除一些汗青数据,运转ORACLE_HOME%RDBMSADMINPPURGE就能够了,依据提醒选择要删除的ID,而全体删除就ORACLE_HOME%RDBMSADMINPTRUNC,一起回车便可。
最初要注重snapshot的level,这能够经由过程EXECSTATSPACK.MODIFY_STATSPACK_PARAMETER(i_snap_level=N)来修正,N能够为0,5,6,7,10,缺省为5。
0仅供应一样平常功能统计
5增添了对SQL语句整体剖析
6增添了SQL企图和利用
7增添了分段(Segments)级的统计
10增添了对闩锁(Latches)的剖析
个中文档倡议对10要稳重,由于价值较高。
由于只是本人玩的体系,以是也没啥可剖析的,只是实习了一下Statspack的利用。了局的剖析还要进修进修,已发明Tom的两本书里都有先容,不外ExpertOne-on-OneOracle里更具体。这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。 |
|