客户数据库原本数据采集已经自动计算的过程需要10个小时。
作如下优化:
1。调整初始化参数
open_cursors=400 ,原来是2500
db_file_multiblock_read_count=16 原来是8
db_block_buffers=89600 * 8192 = 700M, 原来是19200
shared_pool_size=104857600 , 原来是52428800
sort_area_size=1058576 , 原来是65536
optimizer_mode=all_rows , 原来是first_rows
2。调整表空间中数据文件的分配和大小,取消数据文件的自动扩展属性
3。调整INDEX,原本某表的主键占了将近7G的空间,但是数据表本身只有1G多大小删除了原来的主键,重新创建,使用COMPRESS,占用空间缩小到3G多。这样的情况同样出现在其它一些大表中,作了同样的处理。
4。删除了一些现场人员随意创建的临时表,这些临时表总共占据了将近1G的空间
5。删除了一些重复的索引
7。重组了INDEX表空间,原本占据了9G的空间,重组之后只需要900M空间
优化以后数据采集和自动计算的时间缩短为5小时,100%效率提高
没有使用到任何高深的技术,仅仅是一些基本的优化工作,已经满足了客户的需求,可见Oracle一路NEXT的安装,虽然也可以用,但是会用的很不爽。