提高Oracle的Insert、Update等操作速度
2009-06-08 13:15:53 来源:WEB开发网在调整这个重做日志文件之前,数据库管理员最好能够先确认一下,这个重做日志文件归档的频率。如果归档的频率比较高,那么增加重做日志文件的大小,往往可以明显的提高数据库的性能,特别是插入、删除、更新等操作的效率。那么该如何来判断这个重做日志文件归档是否频繁呢?在Oracle数据库中有比较多的方法。其实重做日志文件就跟普通的文件相同,其也有更新时间等属性。为此在操作系统上,可以对比几个重做日志文件的更新时间,来判断其归档的频率是否频繁。另外在Oracle数据库中还有一个动态视图,名字为v$log_history。在这个视图中存放着重做日至切换的相关记录。如数据库管理员可以查询最近50个重做日志的切换记录,看看其相关的时间有多长,从而来判断这个重做日志的切换是正常的,还是太过于频繁。一般情况下,只要增加这个重做日志文件的容量,就可以为大批量的更新、删除等操作提供比较大的重做日志空间。此时执行一个大批量的更新操作时,可能只需要使用一个重做日志文件即可。此时,在重做日志上所花的时间,就是只有产生重做记录的那部分时间,而没有重做日志切换归档时的等待时间。所以,经过类似的调整之后,往往可以在很大程度上提高数据库的性能。另外还有一种可行的方法是,不调整重做日志文件的大小,而是增加重做日志文件的数目。如此也可以在频繁的日志切换过程中提供足够的日志空间。不过笔者还是倾向与增加重做日志文件的容量来解决这个问题。
不过重做日志文件也并不是越大越好。重做日志文件越大,其归档的时间也就越长。俗话说,过之而不及。有时候这反而会给数据库的安全与性能带来负面的影响。根据笔者的经验,笔者认为这个重做日志文件切换的时间间隔最好能够在30分钟-40分钟之间。因为现在即使再复杂的更新或者删除操作,基本上可以在这个时间内完成。否则的话,可能就是语句方面有问题,需要对SQL语句进行优化。所以将这个日志归档的时间间隔确定在这个时间范围之内是合理的。作为合格的数据库管理员,需要持续追踪这个日志切换的时间间隔。可以通过查看两个连续重做日志文件之间的更新时间间隔或者数据库系统的日志切换记录来查看这个日志切换的频率。
当调整完重做日志文件的大小之后,数据库管理员仍然需要在一段时间内追踪这个日志切换的频率。以判断调整后的重做日志文件是否能够实现既定的目标。如果效果不明显的话,可能还需要再次调整这个重做日志文件的大小。
Oracle数据库管理员可以使用ALTER DATABASE ADD LOGFILE语句来创建比较大的日志文件。注意此时需要及时将比较小的日志文件删除。否则的话,大小重做日志文件混用,并不能够起到预计的效果。为此在调整日志文件大小时一般的步骤就是先创建多个大日志文件,然后再将小日志文件删除。一般情况下,在删除小日志文件过程中,最好不要通过删除重做日志文件组来实现。也就是说,在原有的重做日志文件组下面,建立大的重做日志文件;然后只删除小的重做日志文件。即重做日志文件组仍然保持不变。改变的只是其内部的重做日志成员而已。
另外在重做日志管理中,如果将重做日志文件放置在性能比较好的硬盘中,或者采用磁盘阵列等技术来提高重做日志文件的写入速度,也可以提高大批量插入、更新等操作的效率。总之,最好这个日志切换的频率不要低于30分钟。如果少于这个时间的话,那么系统管理员就需要调整日志文件的大小,来延长两次日志切换之间的时间间隔。当然这个时间间隔需要根据企业应用的变化而变化。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接