柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: Oracle
2011-12-13 16:20:29
本文并不介绍Oracle数据库怎么调优,主要是简单介绍下Oracle调优的组成及其各个组成的含义。 1:Oracle的调优组成 锁存器调整、缓存调整、I0/存储设备调整、事务处理(锁)调整、重做日志调整
2:各部分的调优的含义 锁存器调整:在Oracle中,有很多的块,这些块的大小是在创建表的同时指定的。每个块都储存一定量的数据,在访问块中数据之前,首先得通过这个块的关卡(就像是这个区域的的入口),锁存器就像是java中的线程一样。假设现在有1000个线程来同时访问更新一个块中的数据,块的关卡数为2,块中存储的数据条数为100。由于此时线程太多,而块只存在2个关卡,所以造成线程等待,从而性能下降。此时可以通过两种方式调整:A:调整块关卡的大小为100,这样就可以允许100个线程同时访问此块中数据了。B:调整块的大小,降低块中数据的条数,如调整块中可存储的数据条数为10即可。 缓存调整:Oracle数据库在查询数据的时候,把得到的数据(结果集)首先放入到一个缓存区中以便提高下次的访问速度。如果缓存区过小,Oracle数据库会频繁的读取块中的数据,读取块中的数据涉及到了磁盘IO操作,所以此时不如直接从内存中读取的块,故此时应该提高缓存的大小。 IO/存储设备调整:由于对表不同的操作会频繁的进行IO读写,而不同的线程在对同一个磁盘进行操作时会占用多个IO通道造成性能下降,此时将不同的表空间放入不同的磁盘中,就会避免IO竞争。 重做日志管理:由于Oracle在每隔一段时间都会对日志文件进行归档,如果间隔时间太短,势必会进行比较多的硬件资源,如CPU,磁盘读写等,这些都会降低性能。所以调整间隔时间,但也不要时间太长了,一般在4个小时就可以了。 共享池调整:由于数据库中的表的字段、序列、索引都存储在数据字典里面,而数据字典里面的数据都是存储在共享池中的,所以共享池不能太小了,一般如果表在几十个左右的话,应将共享池设置为600Mb左右为宜。 事务处理(锁)调整:避免锁冲突、防止线程死锁。
|