最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
oracle数据库ORA-600 4194/ORA-600 4193/ORA-600 4137故障解决
时间:2022-06-29 09:34:30 编辑:袖梨 来源:一聚教程网
对于常见的undo异常错误,ORA-600 4193,ORA-600 4194,ORA-600 4137等错误的处理一般步骤.
适用版本
Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.2.0.4 [Release 9.2 to 11.2]
Information in this document applies to any platform.
报错现象
The following error is occurring in the alert.log right before the database crashes.
ORA-00600: internal error code, arguments: [4194], [#], [#], [], [], [], [], []
This error indicates that a mismatch has been detected between redo records and rollback (undo) records.
ARGUMENTS:
Arg [a] - Maximum Undo record number in Undo block
Arg [b] - Undo record number from Redo block
Since we are adding a new undo record to our undo block, we would expect that the new record number
is equal to the maximum record number in the undo block plus one. Before Oracle can add
a new undo record to the undo block it validates that this is correct. If this validation fails,
then an ORA-600 [4194] will be triggered.
报错原因
This also can be cause by the following defect
Bug 8240762 Abstract: Undo corruptions with ORA-600 [4193]/ORA-600 [4194] or ORA-600 [4137] after SHRINK
Details:
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
处理步骤
Best practice to create a new undo tablespace.
This method includes segment check.
Create pfile from spfile to edit
>create pfile from spfile;
1. Shutdown the instance
2. set the following parameters in the pfile
undo_management = manual
event = '10513 trace name context forever, level 2'
3. >startup restrict pfile=
4. >select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE';
This is critical - we are looking for all undo segments to be offline - System will always be online.
If any are 'PARTLY AVAILABLE' or 'NEEDS RECOVERY' - Please open an issue with Oracle Support or update the current SR.
If all offline then continue to the next step
5. Create new undo tablespace - example
>create undo tablespace
6. Drop old undo tablespace
>drop tablespace
7. >shutdown immediate;
8 >startup nomount; --> Using your Original spfile
9 modify the spfile with the new undo tablespace name
Alter system set undo_tablespace = '
10. >shutdown immediate;
11. >startup; --> Using spfile
The reason we create a new undo tablespace first is to use new undo segment numbers
that are higher then the current segments being used.
This way when a transaction goes to do block clean-out
the reference to that undo segment does not exist and continues with the block clean-out.
相关文章
- 蓝光影视app哪个好-高清电影免费追剧app推荐 01-22
- 虾皮卖家中心官网登录入口-虾皮卖家中心官网登录链接速览 01-22
- 夸克手机网页版直达-夸克浏览器网页版一键进入 01-22
- 腾讯企业邮箱官方登录入口-腾讯企业邮箱官网网页版入口 01-22
- 韩漫主的和平/和平主义无圣光百度网盘资源分享-主的和平/和平主义免费观看网站全集 01-22
- 奇漫屋官网入口-2026最新热门漫画免费在线观看 01-22