技术开发 频道

Oracle数据库常见真实问题处理步骤

  故障现象:

  XX网数据库使用shutdown immediate不能关闭,日志中不断输出以下内容:

  Shutting down instance: further logons disabled

  Shutting down instance (immediate)

  License high water mark = 215

  All dispatchers and shared servers shutdown

  Fri Aug 12 21:52:34 2005

  ALTER DATABASE CLOSE NORMAL

  Fri Aug 12 21:52:38 2005

  Thread 1 advanced to log sequence 69953

  Current log# 2 seq# 69953 mem# 0: /ora_sys/cqgdb/redo02.log

  Thread 1 advanced to log sequence 69954

  Current log# 4 seq# 69954 mem# 0: /ora_sys/cqgdb/redo04.log

  ... ... ..

  Current log# 3 seq# 69966 mem# 0: /ora_sys/cqgdb/redo03.log

  Thread 1 advanced to log sequence 69967

  Current log# 1 seq# 69967 mem# 0: /ora_sys/cqgdb/redo01.log

  解决办法:

  Oracle工程师首先怀疑是临时表空间空间不足导致,经检查临时表空间没有空间不足的情况,仔细观察日志发现重做日志文件不断切换,分析应该是有较多的事务没有完成提交或者有较多没有提交的事务完成回滚。现在面临的问题是我们没有很多时间去等待所有的事务去完成回滚或提交。解决问题的思路就是如何尽快结束这些事务的回滚或提交。

  1) 查看spfile文件中是否有fast_start_parallel_rollback参数的设置,检查结果G网数据库没有设置该参数。如果没有显式设置,则该参数的默认值为low。修改该参数值为false

  2) 将数据库启动到nomount状态:startup nomount

  3) 修改改参数值:alter system set fast_start_parallel_rollback = FALSE scope=spfile

  4) shutdown immediate关闭数据库

  5) startup启动

  6) 查看该参数是否生效:show parameter fast_start_parallel_rollback

  7) 等待一段时间

  8) shutdown immediate数据库可以关闭

  分析:FAST_START_PARALLEL_ROLLBACK是用来控制事务并行回滚最大进程数的参数。该参数有三个可设值,low,high,false。当设置为false时并行回滚被禁止,由于禁止了并行回滚,在数据库关闭时,需要回滚的事务将被取消。

0
相关文章