1、redo问题调整
无    2025-08-29 00:10:06    2    0    0
admin
故障定义
系统平时运行平稳,在忙时相同sql语句在运行速度很慢,redo Log Switch切换很慢, Oracle数据库性能明显下降,导致数据库压力过大。
预判指标
用户在Buffer Cache中修改数据时,Oracle并不会立即将修改数据写出到数据文件上,因为那样做效率会很低,到目前为止,计算机系统中最繁忙的部分是磁盘的 I/O操作,Oracle这样做的目的是为了减少IO的次数,当修改过的数据达到一定数量之后,可以进行高效地批量写出。Redo Log File也是循环使用的,当一个日志文件写满之后,会切换到另外一个日志文件,这个切换过程称为Log Switch。Log Switch会触发一个检查点,促使DBWR进程将写满的日志文件保护的变更数据写回到数据库。在检查点完成之前,redo log日志文件是不能够被重用的。
 
预判处理
Oracle Redo是以条目(Redo record)的形式记录数据库的所有更改操作。这些更改包括数据库物理文件的更改,数据库运行状况更改,后台进程的写操作,DML事务操作,数据字典DDL操作,数据库内部递归调用等。其中,最主要的原因是DML事务的操作。分析Redo对于数据库DML操作的记录信息,并提出通过减少Redo条目达到优化Redo,提高数据库性能的方案。
1、 减少索引键更新操作
2、 大表(键)更新操作
3、 使用Direct Load加载数据
4、 使用Nologging进行特定操作
5、 使用临时表(Temporary Table)
6、 使用外部表(External Table)
7、 批量化处理DML业务程序
8、 减少事务Commit次数,采用组提交的方式
9、 减少Select For Update显示锁定,可以明显减少Redo产生
10、      减少表记录的数量规模(利用分区路由架构分区裁剪特性),例如使用分区、分表、分库等策略
11、      减少不必要的DML操作可以减少Redo产生,例如改写、整合SQL程序,
优化业务逻辑
 
紧急处理方案
参照 redo管理  -----调整redo日志组大小:​


上一篇: 1、NBU证书过期处理

下一篇: 1、创建、添加表空间

2 人读过