‘壹’ oracle卡硬盘 程序变慢如何解决
这很正常,一般是oracle里的SQL 运行消耗大量物理读, 按常规调优SQL即可
askmaclean oracle
‘贰’ 如何造成Oracle性能下降
1.cpu,你可以把配置文件中关于cpu的方面减少,但是你们做实验的估计也不会使用多个socket的cpu,估计可能性不大
2.内存,你可以吧配置文件中关于内存的方面减少到原来的一半甚至1/4或者更小,肯定对数据库性能有负面影响
3.I/O,你可以把要查询的表的索引删除,人为导致不必要的全表扫描,走物理读。
希望对你有帮助。有问题可追问。
‘叁’ oracle db file sequential read是物理读还是逻辑读
JOB运行历史记录
select * from dba_scheler_job_log
where job_name = 'GATHER_STATS_JOB'
正在运行的job
select * from dba_scheler_running_jobs
‘肆’ oracle IO 读写高,怎么优化
两个办法:一、优化硬件(CPU、内存和硬盘等),优化I/O子系统,增强IO读写能力;第二、优化SQL语句。第一种办法治标不治本,建议用第二种办法,你的截图里边那几个几百秒的SQL语句是有问题的,要进一步优化。查看一下执行这些语句是在哪些页面,查询了什么数据,数据量多大,判断一下业务逻辑,然后再去优化。
(如有帮助,请采纳,谢谢)
‘伍’ oracle需要经常统计每个会话的逻辑读和物理读信息,直接使用SQL很不方便,设计一个程序,简化查看某个会话
select t.SID,n.NAME,t.VALUE
from v$sesstat t, v$statname n
where t.STATISTIC# = n.STATISTIC#
and n.STATISTIC# in (9, 54)
and t.SID=&sid
‘陆’ Oracle的一次查询会产生一次物理读或者逻辑读吗
物理读即是把数据从磁盘读入到buffer catch的过程。
通常情况下是,如果需要数据的时候发现不存在于buffer catch当中,即oracle就会执行物理读。
例子如下:
C:/Documents and Settings/Administrator>sqlplus jenny/jenny
SQL> set autotrace traceonly;
SQL> select * from t_test1;
‘柒’ oracle的sql 优化了逻辑读是否就能降低耗时
逻辑读就是从内存中(db buffer cache)读。
SQL执行过程中,如果发生物理读,将dbf的数据加载到内存,这一步显然是非常耗时的。
所以上面的说法是错误的。
我们总是希望逻辑读越多越好,毕竟从内存读的速度要远远大大于从硬盘读
‘捌’ 怎样减少oracle数据库
其实每个项目需求不一样,肯定处理方法不一样。
你说IO/cpu/内存这些,其实属于数据库调优的部分,最简单的办法就是找瓶颈。
哪方面是瓶颈,就优化哪方面,就像木桶一样,尽量把最短的板子拉长。
因为数据库本身不可能做到绝对完美,只能说在当前需求,当前资源的情况下尽量做到最好。
要真说精髓,那就是随机应变吧。
多注意Top 5 events , 尽量消除等待事件,降低物理读,降低硬解析等等。。
‘玖’ 如何优化 物理读的sql
物理读和预读都是IO操作,都是需要从磁盘中读取数据到内存,只是读取的时间有所不同。
1.预读是在生成执行的同时去做的,通过这种方式可以提高IO的性能。
2.物理读是当执行计划生成好后去缓存读取数据发现缺少数据之后才到磁盘读取。当所有数据都从缓存中可以读取就变成逻辑读。