(4)参数优化:数据块的大小在数据库创建后不能改变,因此在设计阶段必须确定合适的数据块大小和存储参数。一般来讲,我们通常根据样例数据来确定数据块大小,而根据业务量和未来数据库发展趋势确定存储参数。
Oracle数据库参数介绍:
①LICENSE-MAX-SESSION。该参数指出允许并发用户会话的最大数。若此参数为0,则不能实施并发。若并发的用户会话数已达到此极限,则只有具有RESTRICTED SESSION权限的用户才能连接到服务器。
②CHECKPOINT-PROCESS。该参数根据是否要求检查点而设置成TRUE或者FALSE。当所有缓冲区的信息写到磁盘时,检查点进程(CHPT)建立一个静态的点。在归档日志文件中做一个记号表示有一个检查点发生。检查点发生在归档日志转换的时候或当达到LOG-CHECKPOINT-INTERVAL定义的块数的时候。当设置此参数为TRUE时,后台进程CHPT便可工作。在检查点期间内,若日志写进程的性能减低,则可用CHPT进程加以改善。
③DB-BLOCK-SIZE。该参数表示Oracle数据库块的大小,以字节为单位,典型值为2048或4096。该值一旦设定则不能改变。它影响表及索引的FREELISTS参数的最大值。
④OPTIMIZRER-MODE。若该参数的值为RULE,则ORACLE优化器选择基于规则的优化;若设置为COST,并且在数据字典中存在有统计信息,则优化器选择基于代价的优化方法进行优化。
(二)数据库运行阶段
(1)SGA。在不影响应用系统的前提下,SGA应尽可能大,通过合理设置SHARED-POOL-SIZE和DB-BLOCK-BUFFER的值来掌握好SGA的大小。如果服务器内存为1G,那能够分配给SGA的内存大约是四五百兆,通常我们习惯于通过直观的公式化来表达这样的问题:SGA + 并发执行进程数 * (sort-area-size + hash-ara-size + 2M) + OS使用内存 < 总内存 * 70%;
(2)共享池。共享池用于缓存最近被执行的SQL语句和最近被使用的数据定义,主要包括库高速缓冲区和数据字典缓冲区。配置共享池的关键是看应该更改SHARED-POOL-SIZE还是应该使用保留池、大型池或Java池。通过查询库高速缓冲和数据字典缓冲的命中率,可以衡量共享池的效率。
(3)数据库缓冲区。数据库缓冲区是SGA中最大的区,其大小设置是否合理直接跟应用系统的性能相关。通过测试我们得出结论:数据高速缓冲区的命中率最佳应保持在90%以上,当该值低于80%时服务器性能就会下降,而低于50%时则会严重影响服务器性能。
(4)重做日志缓冲区。重做日志缓冲区的内存需求与数据库事务处理的数量和大小有关。重做日志缓冲池通常小于2M,过大的重做日志将减少日志文件的I/O操作,过小的重做日志缓冲区将会使日志写入过程过分繁忙。日志缓冲区的大小由LOG-BUFFER决定,必须是DB-BLOCK-SIZE的整数倍。如果失败率大于1%,则必须增大LOG-BUFFER的大小。
Oracle提供了丰富的选择环境,可以从Oracle数据库的体系结构、软件结构、模式对象以及具体的业务和技术实现出发统筹考虑,提高系统性能需要一种系统的整体方法,在对数据库进行优化时,需要对应用程序、系统和I/O子系统进行相应的优化,有目的地调整一个或多个组件,使系统满足一个或多个目标的过程。对于ORACLE来说,优化是进行有目的调整组件级,即增加吞吐量,减少响应时间。综合考虑优化方案, Oracle应用按最优的方式来存取数据,确保数据库的安全、稳定可靠。
关于数据库优化心得体会(三)由毕业论文网(www.huoyuandh.com)会员上传。