在alert日志中出现了下面的信息:
SMON: mark undo segment 70 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 70 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 70 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 2 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 1 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 2 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 1 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 2 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 1 as available
SMON: about to recover undo segment 70
SMON: mark undo segment 70 as available
Applies to:
Oracle Server - Enterprise Edition - Version: 8.1.5.0 to 9.2.0.8 - Release: 8.1.5 to 9.2
Information in this document applies to any platform.
***Checked for relevance on 24-Jan-2012***
Symptoms
There are lots of messages appearing in alert log of the following form
SMON: about to recover undo segment %s
SMON: mark undo segment %s as available
when instance recovery is performed after a abnormal shutdown.
Cause
These errors do not indicate rollback segment corruption.
Oracle 8i:
These messages indicate that there is a problem with the "rollback_segments" parameter in the init.ora.
Oracle 9i:
Automatic Undo management is being used. When the instance is shutdown, during the next startup instance recovery needs to take place.
In AUM we do not have any control over which undo segments will be brought online after the instance startup.
In case we require any of the offline undo segments for the instance recovery, these messages will appear in alert log.
This is not a bug but intended behavior.
When SMON finds such offline undo segments with transactions needing recovery, then it does what it is intended to do, i.e. perform the transaction recovery in batches of 100 undo records.
Solution
Oracle 8i:
Check that the rollback segment is included in the "rollback_segments" parameter. If not, adding the rollback segment and restarting the database will clear the problem.
Oracle 9i:
Solution 1:
To stop this messages from appearing you can use the workaround like below where 11 is the number that is appearing in the messages in the alert log.
SQL> alter session set "_smu_debug_mode"=4;
SQL> alter rollback segment "_SYSSMU11$" online;
Solution 2:
Apply patch set 9.2.0.6 or higher.
Please refer to
Note 3212131.8 - Bug 3212131 - Many 'undo segment' messages in the alert log
Solution 3:
Upgrade to 10g where the issue is removed with the new "Fast Ramp-Up" AUM feature.
Please refer to
Note 396863.1 - How to Keep All UNDO Segments from Being Offlined in Oracle 10g - Fast Ramp-Up
References
BUG:3418428 - ALERT.LOG FILLED WITH "SMON: ABOUT TO RECOVER UNDO SEGMENT 12" DURING TX RECOVER
NOTE:396863.1 - How to Keep All UNDO Segments from Being Offlined in Oracle 10g - Fast Ramp-Up
NOTE:3212131.8 - Bug 3212131 - Many 'undo segment' messages in the alert log
还有一种情况,:
Applies to:
Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.2 [Release 11.1 to 11.2]
Information in this document applies to any platform.
Symptoms
Huge smon trace is generated and to check why this big smon trace file is generated
-rw-r----- 1 ora3568 ems3568 706059 Nov 5 11:07 ems3568_smon_5130.trc
-rw-r----- 1 ora3568 ems3568 83146 Nov 5 11:07 ems3568_smon_5130.trm
SMON[TX-RECO]:about to recover undo segment 29 status:6 inst:2
SMON[TX-RECO]: mark undo segment 29 as available status:6 ret:3
SMON[TX-RECO]: mark undo segment 24 as available status:6 ret:1
SMON[TX-RECO]:about to recover undo segment 25 status:6 inst:2
Dead transaction 0x0019.019.000f3a94 recovered by SMON
SMON[TX-RECO]: mark undo segment 25 as available status:6 ret:1
SMON[TX-RECO]:about to recover undo segment 26 status:6 inst:2
Dead transaction 0x001a.021.00123692 recovered by SMON
SMON[TX-RECO]: mark undo segment 26 as available status:6 ret:1
SMON[TX-RECO]:about to recover undo segment 27 status:6 inst:2
Dead transaction 0x001b.01c.00127f7f recovered by SMON
Cause
Bug 10266152 : VERY LARGE SMON TRACE GENERATED W/ [SMON][TX-RECO] DEAD TRANSACTIONS
Solution
This Bug is fixed in 12.1 and 11.2.0.3
Please update to 11.2.0.3 or download and apply the patch 10266152 if its available on top of your database version for your platform
workaround to stop the trace file from growing:
alter system set max_dump_file_size=10000 scope=both;
References
NOTE:1348303.1 - 11.2.0.3 Patch Set - List of Bug Fixes by Problem Type
NOTE:1440902.1 - In RAC SMON process Spinning & Huge Trace files With "domid 65535" messages are generated may show ORA-600 [kjsmbesmi:DDET!]
Description
Undo corruption may be caused after a shrink and the same undo block may be used for two different transactions causing several internal errors like: ORA-600 [4193] / ORA-600 [4194] for new transactions ORA-600 [4137] for a transaction rollback Undo segment shrink is internally done by Oracle. This bug has an additional effect where SMON can spin to recover a transaction with messages: SMON: about to recover undo segment <usn> SMON: mark undo segment <usn> as available The affected undo segments shows some cycle in the block chain, which causes the transaction recovery to spin. This fix does not repair the current state of the undo segment. Workaround Drop the undo segment.
Please note: The above is a summary description only. Actual symptoms can vary. Matching to any symptoms here does not confirm that you are encountering this problem. For questions about this bug please consult Oracle Support. |
References
Bug:8240762 (This link will only work for PUBLISHED bugs)
Note:245840.1 Information on the sections in this article