典管理4.1.3 设置redo log 文件的大小
redo log文件的大小会影响到性能,因为数据库的写进程和归档进程的行为依赖于redo log的大小。总的来说大的redo log文件提供了好的性能。不够大的日志文件增加了检查点事件的发生,降低了性能。
尽管redo log文件不影响LGWR进程的性能,它影响DBWR和检查点事件。检查点频繁由几个因素引起,包括日志文件大小和FAST_START_MTTR_TARGET初始化参数。如果这个参数的设置限制了实力恢复的时间,oracle自动去尽可能频繁的发生检查点事件。在这个条件下,redo log文件的大小应该足够大来避免增加的检查点事件。最优的大小可以通过OPTIMAL_LOGFILE_SIZE列从V$INSTANCE_RECOVERY视图来获取。你也可以供OEM种获得建议的REDO LOG 组的大小。
可能总是可能提供一个指定大小的建议,但是redo log文件从几百字节到几十亿字节都是合理的。通过你的系统产生的redo 条目来计算你的online redo日志的大小。粗略估计,日志组会每20分钟切换一次。
ORACLE database administrators guide可以查看如何管理redo 日志。
4.1.4 创建表空间
如果你使用DBCA创建库,那么它提供的数据库自动包含所有必要的表空间。如果你选择不使用DBCA,你需要在创建最初的数据库之后创建其它的表空间。
所有的数据库应该除了system和sysaux之外还有别的表空间。这些表空间包括:
--临时表空间用来做例如排序
--一个undo表空间为了保证读一致性,恢复和回退保存信息
--实际的以你够用要使用至少一个表空间
在大多数情况下,应用需要几个表空间。对于有很多个数据文件的很大的表空间,多个alter tablespace x add datafile y语句需要并行执行。
在数据文件产生中,用来弥补表空间的数据文件使用特殊的空块来初始化。临时文件没有被初始化。
oracle这么做是要确保所有的数据文件作为一个整体来写,但是很明显一个个这样做是一个漫长的过程。因此运行多个create tablespace命令同时运行加速了表空间创建的过程。对于永久表,在表空间上局部和全局区间管理的选择能够对性能产生巨大的影响,对于任何永久表空间有缓和的大的插入修改或者删除操作相比较于读,需要选择本地表空间管理的方法。
4.1.4.1 创建永久表空间 自动段克难攻坚管理
对于永久表空间,oracle推荐使用自动段空间管理,这样的表空间,常常所使用位图表空间,并且使用位图段空间管理本地管理表空间。
oracle database concepts 讨论了空闲空间管理
oracle database administrators guide 讨论了创建和使用自动段空间管理的表空间
4.1.4.2 创建临时表空间
合理的配置临时表空间有助于优化磁盘排序的性能,临时表空间能够被数据字典管理或者本地管理。oracle公司推荐使用本地管理临时表空间,并且使用统一大小的区间 1MB。
你应该监控临时表空间的活动来检查临时段分配了多少个区间。如果一个应用广泛的使用临时表空间,当很多用户同时使用临时表空间的情况下,区间的大小应该设置的更小,比如256k,因为每个使用最少需要一个区间。EXTENT MANAGEMENT LOCAL子句对于临时表空间是一个选项,因为所有的临时表空间都是统一大小的本地管理的区间,默认值大小事1M.
4.2 创建和维护表的性能
当安装应用的时候,初始化的步骤是创建所有必要的表和索引,当创建一个段,比如表,oracle在数据库中为这个数据分配数据。如果数据库选项引起数据容量的增长和空间的分配,那么oracle就扩大这个段。
当创建表和索引的时候 注意以下:
--区分表空间的自动段空间管理 这允许数据库为了最好的性能自动的进行段空间的管理
--小心设置存储选项
应用应该仔细设置存储选项来有意的使用表和索引。这个包括设置PCTFREE的值,注意使用自动段空间管理可以忽略掉PCTUSED的设置。
注意:使用空闲列表不在被推荐。使用自动的段空间管理,产生本地管理的表空间,使用AUTO子句来设置段空间管理。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24799772/viewspace-678409/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24799772/viewspace-678409/