SMON: Parallel transaction recovery tried 引发的问题--转载

SMON: Parallel transaction recovery tried 这个一般是在具有在跑大数据量的 transaction的时候kill掉了进程而导致 smon 去清理 回滚段时导致的。

这个在业务高峰期的时候,如果发现这个,有可能导致 SMON 占用了 100% cpu 而导致 系统 hang 在那边。
即使你shutdown immediate ,oracle 也会等待 smon 清理完毕才能关机,而这个等待过程也许是漫长的。
如果你 shutdown abort,那么oracle会马上shutdown ,但是,当你startup的时候,有可能就会很慢,因为 smon 会接着清理 undo,这个等待过程也许是很漫长的:
— — — —————————————————————————————————— 
Completed: ALTER DATABASE   MOUNT
Thu Aug 26 22:43:57 2010
ALTER DATABASE OPEN
Thu Aug 26 22:43:57 2010 
Beginning crash recovery of 1 threads
Thu Aug 26 22:43:57 2010 
Started first pass scan
Thu Aug 26 22:43:57 2010
Completed first pass scan
 402218 redo blocks read, 126103 data blocks need recovery
Thu Aug 26 22:45:05 2010
Restarting dead background process QMN0
QMN0 started with pid=16
Thu Aug 26 22:45:19 2010
Started recovery at
 Thread 1: logseq 13392, block 381202, scn 0.0
Recovery of Online Redo Log: Thread 1 Group 3 Seq 13392 Reading mem 0
  Mem# 0 errs 0: /zxindata/oracle/redolog/redo03.dbf
Recovery of Online Redo Log: Thread 1 Group 1 Seq 13393 Reading mem 0
  Mem# 0 errs 0: /zxindata/oracle/redolog/redo01.dbf
Thu Aug 26 22:45:21 2010
Completed redo application 
Thu Aug 26 22:48:35 2010
Ended recovery at
 Thread 1: logseq 13393, block 271434, scn 2623.1377219707
 126103 data blocks read, 115641 data blocks written, 402218 redo blocks read
Crash recovery completed successfully 
________________________________________________
看红色标注的那个,等待了 3 分钟才做完 recovery。
那如何才能让它快呢,metalink(238507.1 ) 有给出一些做法:
---------------------------------------------------------------------------------------------
1. Find SMON‘s Oracle PID:
Example:
SQL> select pid, program from v$process where program like ‘%SMON%‘;
       PID PROGRAM
---------- ------------------------------------------------
         6 [email protected] (SMON) 
2. Disable SMON transaction cleanup:
SVRMGR> oradebug setorapid <SMON‘s Oracle PID>
SVRMGR> oradebug event 10513 trace name context forever, level 2 
3. Kill the PQ slaves that are doing parallel transaction recovery. 
You can check V$FAST_START_SERVERS to find these.
4. Turn off fast_start_parallel_rollback:
alter system set fast_start_parallel_rollback=false; 
If SMON is recovering, this command might hang, if it does just control-C out of it.  You may need to try this many times to get this to complete (between SMON cycles).
5. Re-enable SMON txn recovery:
SVRMGR> oradebug setorapid <SMON‘s Oracle PID>
SVRMGR> oradebug event 10513 trace name context off 
——————————————————————————————————
以上的思路主要是要把 SMON 并行 recovery 的功能给改成非并行,主要
是 fast_start_parallel_rollback 这个参数的作用。
There are cases where parallel transaction recovery is not as fast as serial transaction recovery, because the pq slaves are interfering with each other. This depends mainly on the  type of changes that need to be made during rollback and usually may happen when rolling back INDEX Updates in parallel.

http://czmmiao.iteye.com/blog/1334948

时间: 2024-11-08 20:17:42

SMON: Parallel transaction recovery tried 引发的问题--转载的相关文章

Transaction recovery: lock conflict caught and ignored

环境:RAC 4节点.oracle 11.2.0.4.redhat 5.9 64bit 问题描述: 1.alert.log每隔一段时间就会报如下错误: Transaction recovery: lock conflict caught and ignored Transaction recovery: lock conflict caught and ignored Transaction recovery: lock conflict caught and ignored Transacti

Android访问服务器(TOMCAT)乱码引发的问题(转载)

Android访问服务器(TOMCAT)乱码引发的问题 1.浏览器往服务器发送的请求主要可分为2种:get.post:delete.head等不赘述. GET方式: 从浏览器上直接敲地址,最大特点就是参数直接跟在地址后面. POST方式:表单提交等. 2.访问过程: 浏览器中输入地址 –> 浏览器对中文进行编码 –>发送到服务器 ->服务器进行解码 如何浏览器编码和服务器解码用的字符集不一致就会发生乱码问题. 3.乱码的解决 默认浏览器使用UTF-8编码(IE默认GBK当然可以通过met

oracle之Flash Recovery Area全面介绍 (转载)

1. 设置闪回恢复区闪回恢复区主要通过3个初始化参数来设置和管理 db_recovery_file_dest:指定闪回恢复区的位置db_recovery_file_dest_size:指定闪回恢复区的可用空间大小 db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天.当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的flash log.所以这个参数要和db_recovery_file_dest_s

11G RAC 11.2.0.1.0实例evict故障处理

Aix 7.1 参考文档: https://blogs.oracle.com/database4cn/rac Resolving ORA-481 and "terminating the instance due to error 481" (Doc ID 1950963.1) ORA-00481 After "The instance eviction reason is 0x2" due to Lack of Ticket (Doc ID 1644015.1)

Oracle 数据库的组成(instance+database)

Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放.综合.集成的方法. Oracle服务器中有多种进进程.内存结构和文件: Oracle服务器由一个Oracle实例和一个Oracle数据库组成. Oracle服务器:Oracle实例+Oracle数据库 Oracle实例:后台进程+内存结构 (必须启动实例才能访问数据库中的数据,每次启动实例,都会分配系统全局去SGA并启动Oracle后台进程) SGA是用于村粗数据库信息的内存区,该信息为数据库进程所共享. 后台进程代表调用进程

【ora10,4】oracle后台进程介绍:

一.SMON(System MONitor) 系统监控进程: 在数据库启动过程中,SMON排在CKPT进程之后,在Oracle9i中排在第六号的位置: PMON started with pid=2 DBW0 started with pid=3 LGWR started with pid=4 CKPT started with pid=5 SMON started with pid=6 RECO started with pid=7 SMON负责系统监视已经一些系统清理及恢复工作,这些工作主要

ocp 1Z0-042 1-60题解析

1. Because of a power outage,instance failure has occurred. From what point in the redo log does recovery begin and where does it end?A. Current redo log and inactive redo logB. Checkpoint position to end of redo logC. Beginning of redo log to end of

【翻译自mos文章】当并行事务恢复进程在执行时,禁用并行事务恢复的方法

当并行事务恢复进程在执行时,禁用并行事务恢复的方法 How to Disable Parallel Transaction Recovery When Parallel Txn Recovery is Active (Doc ID 238507.1) 适用于: Oracle Database - Enterprise Edition - Version 8.1.5.0 to 11.2.0.4 [Release 8.1.5 to 11.2] Oracle Database - Personal E

【翻译自mos文章】当并行事务恢复进程在运行时,禁用并行事务恢复的方法

当并行事务恢复进程在运行时,禁用并行事务恢复的方法 How to Disable Parallel Transaction Recovery When Parallel Txn Recovery is Active (Doc ID 238507.1) 适用于: Oracle Database - Enterprise Edition - Version 8.1.5.0 to 11.2.0.4 [Release 8.1.5 to 11.2] Oracle Database - Personal E