数据库工作
任务 计算系统某参数值的命中率
时间 2011-3-8
作业者 胡国青
显示 命令 提示 说明
Show parameter timed
Alter system set timed_statistics=FALSE; 平时不做系统统计时,把参数设置为假 消耗资源
select name, value from v$sysstat where name in('db block gets', 'consistent gets', 'physical reads');
select 1-('physical reads' / ('db blocks gets' + 'consistent gets')) hit from dual; logical reads='db blocks gets' + 'consistent gets' -缓冲区的 命中率低于80%需要加参数
select * from v$sgastat where pool='shared pool' and name='free memory'; sga统计信息, 共享内存池是否够用
select count(distinct name) from v$event_name; -事件
select (sum(pins-reloads)) / sum(pins) "lib cache" from v$librarycache; 跟解析语句有关系,结果存储在内存,提取速度快 命中率大于99%最好,不然库缓存太小需要优化, pins总的命中数量 reloads没有中的命中数量
select(sum(gets-getmisses)) / sum(gets) hit from v$rowcache; 数据字典命中率 保持在85%以上
任务 Diagnostic & Tuning
时间 2011-3-8
作业者 胡国青
Maintenance of the alert.log file
日志名称 说明
Alter_SID.log 操作信息、系统信息记录
Alter session set sql_trace = true;或
Dbms_system.set_sql_trace(ID号,子序列号,true[false]) 在会话级别对SQL命令跟踪下来生成跟踪文件,由catprec.sql创建这个包, 使用tkprof产生一个可读性报表
Statspack
1. Installaction of statspack using the spcreate.sql script
2. collection of statistics execute statspack.snap
3. Automatic collection of statistics using the spauto.sql
4. Product a report using the spreport.sql script
5. To collect timing information, set timed_statistics = TRUE;
Show parameter timed_st
Alter system set timd_statistics = TRUE scope = both;
<1>select file_name from dba_data_files
<2>create tablespace perfstat datafile ‘/u01/perfstat01.dbf’size 500M extent management local extent space management auto;
<3>create temporary tablespace perftemp tempfile ‘/u01/perftemp01.dbf’size 100M ;
<4>以DBA权限,执行[sql>@path/spcreate.sql]; 其中有spcpkg.lis文件可以看看 哈哈
<5>connect perfstat/perfstat
<6>execute statspack.snap ----拍照,对系统信息的统计
<7>执行[sql>@path/spauto.sql]; ---自动拍照,将trunc(sysdate+1/24, ‘HH’),这个脚本中有两个24可改成144,隔10分钟拍一次照;也可以不该
<8>select job, log_user, next_date, interval from user_jobs; 查询结果中有个 21;[按照个人设置的,这是我个人设置的]
<9> execute statspack.snap ----再拍照
<10>select snap_id from stats$snapshot; ----拍照信息情况
<11> execute dbms_job_remove(21) ----移除查询结果的21;
<12>select snap_id from stats$snapshot; ----拍照信息情况
<13> execute statspack.snap ----再次拍照
<14> @path/spreport.sql 生成报告脚本 其中 begin_snap值: 1 end_snap值:3 因为一共拍了三次照;report_name:/u01/chain.txt
<15> select snap_id from stats$snapshot; ----拍照信息情况
看看生成的chain.txt脚本 很重要
最后:show parameter cursor_sharing: ---关于执行SQL语句是否完全匹配[大小写字母等]
Alter system set cursor_sharing = similar scope = both; ---会使用绑定变量,利用相似的去扩大命中率
<16> select snap_id, snap_time from stats$snapshot; ----拍照信息情况
<17>以DBA权限: 执行 @path/spdrop.sql 删除
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25533574/viewspace-690545/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25533574/viewspace-690545/