常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

ORACLE傻瓜手册长篇连载--第三部分

 
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全
阅读上一个主题 :: 阅读下一个主题  
作者 留言
wxjoshua
精神病


注册时间: 2002-09-06
文章: 569

文章发表于: Thu 2002-12-19 12:17:13    发表主题: ORACLE傻瓜手册长篇连载--第三部分 引用并回复

3 初始化文件配置

所有参见内容都在附件01_install_02_create_03_init/下。

描述initoradb.ora中各选项。

3.1 Oracle 8 & 8i

具体参见8i/initoradb.ora。

db_block_size

数据库基本数据块尺寸,字节为单位。

当涉及到大量数据交换时,例如export/import操作时,此参数对数据库性能有非常大的影响,设定一个较大的值,有利于提高数据吞吐量,但由于db block是文件和内存之间交换的基本单位,过大的值反而会交换不需要的记录,增加额外的I/O。

一般取8k就已能获得较满意效果。

db_block_buffers

数据缓冲区,db_block_size为单位,不超过1/4内存

计算查询缓冲命中率:

SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets', 'physical reads');

Hit Ratio = 1 - ( physical reads / (db block gets + consistent gets) )

SELECT name, phyrds, phywrts FROM v$datafile df, v$filestat fs WHERE df.file# = fs.file#

db block gets:在内存buffer中的命中次数

consistent gets:一致性命中次数,指在内存buffer中未命中,但从回滚段或数据文件中获得命中

physical reads:在数据文件中的读次数

注意:一般HitRatio达到90%以上就可以认为已达到优化,这个数值应在系统运行稳定后进行统计。

shared_pool_size

数据字典和SQL操作缓冲区,字节为单位,不超过1/4内存

select (sum(pins - reloads)) / sum(pins) "Lib Cache" from v$librarycache;

select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache;

select * from v$sgastat where name = 'free memory'

注意:Cache命中率达到95%以上就可以认为已达到优化,这个数值应在系统运行稳定后进行统计

log_checkpoint_interval

日志提交点数据量间隔

以操作系统block(通常512-byte)为单位,当日志累计至此参数,会使sga中dirty buffer被同步至数据文件,日志切换时也会引起此操作,如设为0,则相当于无限大,此参数失去作用,日志提交仅依靠日志文件的切换。

应选择适当大小的日志文件,同时使log_checkpoint_interval略大于日志文件或设为0。原则上应该避免过于频繁的checkpoint操作,控制在30分钟以上为好。

推荐此参数设为0。

log_buffer

在线日志缓冲,字节为单位,512K或128K*CPU数量,取较大值

processes和sessions

dedicated server模式下每一个连接都有一个Oracle服务进程(process)为之服务,这个连接本身也就是一个会话(session)。

shared server模式下所有连接共享一个Oracle服务进程池,这样process和session就不再是一一对应,sessions要大于processes。

sort_area_size和sort_area_retained_size

排序缓冲区,字节为单位。

当排序记录被全部取走后,缓冲区缩减到sort_area_retained_size,为减少缓冲区缩放的开销,可使sort_area_size和sort_area_retained_size取相同值。

hash_area_size

hash join缓冲区,字节为单位,缺省为2*sort_area_size。

db_file_multiblock_read_count

每次读取的db block数,对大规模查询性能有提高,特别是表扫描效率。在线系统应避免这种类型的查询。

db_writer_processes

同步数据进程数,与checkpoint的频率和数据量有关。

db_block_lru_latches

LRU锁集,一般设为CPU数目。RedHat Linux 6.x下的Oracle 8.1.6设此参数会导致系统挂起,疑对smp支持有问题

log_archive_start

系统启动时是否同时启动归档进程(archive)。

log_archive_dest_1

归档日志目录,最后的标号表明归档线程编号,一般只用1。

log_archive_format

归档日志名称,%t指归档线程编号, %s指归档日志序列号

rollback_segments

如果创建回滚段(rollback segment)时不使用public选项,那就是使用私有的回滚段,这样就必须在系统启动时激活。

推荐使用public rollback segment的做法,这个选项可以废弃。

background_dump_dest

Oracle系统进程记录log和trc目录。

alert_{实例名}.log以文本方式记录系统启动、关闭、出错、存储变化、日志切换等log信息。

系统进程以各自名称和进程号记录错误信息,文件以trc为后缀,文本格式。

core_dump_dest

Oracle服务进程的core dump目录。

user_dump_dest

Oracle服务进程以各自名称和进程号记录错误信息,文件以trc为后缀,文本格式。

3.2 Oracle 9i

参见9i/initoradb.ora。

pga_aggregate_target

以K、M、G为单位

sort, group-by, hash-join, bitmap merge, bitmap create等对内存有一定需求的SQL操作,都由此选项统一动态分配内存区域大小,因此Oracle 8i中如sort_area_size,sort_area_retained_size,hash_area_size,bitmap_merge_area_size等选项可以废弃。

db_cache_size

数据缓冲区,以K、M、G为单位,自动对齐到粒度单位。

取代Oracle 8i的db_block_buffers选项。

undo_management

回滚空间管理模式,缺省为manual,使用回滚段(rollback segment),如设为auto,则使用Oracle 9i的回滚表空间。此选项决定了以下关于undo的其它选项。

undo_retention

已提交数据在回滚表空间中保留时间,以秒为单位,缺省900。

当某些较长时间的查询需要通过回滚数据重建老数据块的时候,此选项可使新事务尽可能使用空闲的回滚表空间,这样就减少了查询过程因snapshot too old而失败的几率。

然而当空闲回滚表空间不足以应付新事务时,系统仍然会重用此选项保留的空间,因此不能保证长查询一定能成功执行完毕。

undo_tablespace

指定系统启动时的回滚表空间。

_________________
I have a dream:I want to travel the world.
返回页首
阅览会员资料 发送站内信件 浏览发表者的主页 Yahoo Messenger MSN Messenger
从以前的文章开始显示:   
发表新文章   这个论题已经被锁定,您不能发表、回复或者编辑文章。    FreeBSD China -> 安装-配置-优化-安全 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标