MSSQL教程之Statspack之初体验
用一个库#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选项的任何一个。 having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。 索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。 记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了! XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!) 原来公司用过MYSQL自己也只是建个表写个SQL 学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
页:
[1]