标签云
asm mount asm 恢复 asm恢复 bbed bootstrap$ dul eking In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle异常恢复 ORACLE恢复 Oracle 恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 sql加密恢复 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币 oracle 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (91)
- 数据库 (1,419)
- DB2 (22)
- MySQL (58)
- Oracle (1,305)
- Data Guard (41)
- EXADATA (7)
- GoldenGate (20)
- ORA-xxxxx (150)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (12)
- ORACLE 21C (3)
- Oracle ASM (58)
- Oracle Bug (7)
- Oracle RAC (42)
- Oracle 安全 (6)
- Oracle 开发 (26)
- Oracle 监听 (26)
- Oracle备份恢复 (438)
- Oracle安装升级 (71)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (63)
- PostgreSQL (10)
- SQL Server (26)
- SQL Server恢复 (7)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (24)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (7)
-
最近发表
- O/S-Error: (OS 23) 数据错误(循环冗余检查) 数据库恢复
- 数据库open报ORA-00959: tablespace ‘UNDOTBS1′ does not exist分析
- ASM删除表空间恢复
- ORA-12518 ORA-27302: 错误发生在: ssthrddcr
- plsql 插入blob
- 分享运气超级好的一次drop tablespace 数据恢复
- segment header异常对象删除处理
- Oracle 数据库(RDBMS)的版本支持状态摘要 (Doc ID 1674382.1)
- [back2023@proxy.tg].eking勒索数据库恢复
- ORA-600 ktbsdp2 处理
- win文件系统损坏oracle恢复
- asm disk 磁盘部分被清空恢复
- File #xxx found in data dictionary but not in controlfile. Creating OFFLINE file ‘MISSING00XXX’ in the controlfile
- commit_wait和commit_logging设置不当导致数据库无法正常启动
- ORA-00742 ORA-00312故障恢复
- 110T oracle故障恢复
- ora-600 kcratr_scan_lastbwr
- .asistchinadecryption扩展名勒索数据库恢复
- .[decrypt20@firemail.cc].eking 数据库勒索恢复
- ocr磁盘组掉盘故障处理
友情链接
标签归档:ORA-600 4193
非归档数据库异常恢复一例
由于存储故障,数据库为非归档模式,通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)收集信息确认数据库redo异常
Thu Mar 28 11:36:13 2019 ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc Thu Mar 28 11:36:13 2019 Errors with log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr00_17611.trc: ORA-00308:cannot open archived log '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 ORA-308 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ... ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc Errors with log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr00_17611.trc: ORA-00308:cannot open archived log '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397869_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 3 ORA-308 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ... Thu Mar 28 11:38:44 2019 ALTER DATABASE RECOVER datafile 5,6 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 5397870 Reading mem 0 Mem# 0: /u01/app/oracle/oradata/orcl/redo03.log ORA-279 signalled during: ALTER DATABASE RECOVER datafile 5,6 ... Thu Mar 28 11:39:08 2019 ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397870_%u_.arc Errors with log /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2019_03_28/o1_mf_1_5397870_%u_.arc ORA-308 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ... ALTER DATABASE RECOVER CANCEL Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_17605.trc (incident=365041): ORA-00600: internal error code, arguments: [3051], [82], [], [], [], [], [], [], [], [], [], [] ORA-600 signalled during: ALTER DATABASE RECOVER CANCEL ...
通过屏蔽一致性,强制打开库,报kgegpa错误,实例启动失败
Database Characterset is ZHS16GBK No Resource Manager plan active Exception[type:SIGSEGV, Address not mapped to object][ADDR:0x319C0CF3] [PC:0x2297740, kgegpa()+40] [flags: 0x0, count:1] Exception[type:SIGSEGV, Address not mapped to object][ADDR:0x319C0CF3] [PC:0x229596B, kgebse()+279][flags: 0x2, count:2] Exception[type:SIGSEGV, Address not mapped to object][ADDR:0x319C0CF3] [PC:0x229596B, kgebse()+279][flags: 0x2, count:2] Thu Mar 28 11:43:15 2019 PMON (ospid: 17939): terminating the instance due to error 397 Instance terminated by PMON, pid = 17939
处理上述错误相关undo,启动数据库报ORA-00600 4193,ORA-00600 4137, ORA-00600 6006
Thu Mar 28 11:50:37 2019 Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_p001_18267.trc (incident=373059): ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_373059/orcl_p001_18267_i373059.trc Stopping background process MMON Trace dumping is performing id=[cdmp_20190328115038] Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_smon_18247.trc (incident=372995): ORA-00600: internal error code, arguments: [6006], [1], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_372995/orcl_smon_18247_i372995.trc Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_smon_18247.trc (incident=372996): ORA-00600: internal error code, arguments: [4137], [34.22.4206895], [0], [0], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_372996/orcl_smon_18247_i372996.trc Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_18263.trc (incident=373044): ORA-00600: internal error code, arguments: [4193], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_373044/orcl_ora_18263_i373044.trc ORACLE Instance orcl (pid = 16) - Error 600 encountered while recovering transaction (34, 22). Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_smon_18247.trc: ORA-00600: internal error code, arguments: [4137], [34.22.4206895], [0], [0], [], [], [], [], [], [], [], []
通过重建undo,相关报错消失,安排数据导出重建库
ORA-600 4194/ORA-600 4193/ORA-600 4137故障解决
对于常见的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=<initsid.ora> 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 <new undo tablespace> datafile <datafile> size 2000M; 6. Drop old undo tablespace >drop tablespace <old undo tablespace> including contents and datafiles; 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 = '<new tablespace created in step 5>' scope=spfile; 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.
参考:tep by step to resolve ORA-600 4194 4193 4197 on database crash (Doc ID 1428786.1)
ORA-600 4193 错误说明和解决
ORA-600 4193 解释说明
ERROR: Format: ORA-600 [4193] [a] [b] VERSIONS: versions 6.0 to 12.1 DESCRIPTION: A mismatch has been detected between Redo records and Rollback (Undo) records. We are validating the Undo block sequence number in the undo block against the Redo block sequence number relating to the change being applied. This error is reported when this validation fails. ARGUMENTS: Arg [a] Undo record seq number Arg [b] Redo record seq number FUNCTIONALITY: KERNEL TRANSACTION UNDO ORA-600 [4193] [a] [b] [ ] [ ] [ ] Versions: 7.2.2 - 9.2.0 Source: ktuc.c =========================================================================== Meaning: seq# mismatch while adding an undo record to an undo block. This is done by the application of redo. --------------------------------------------------------------------------- Argument Description: a. (ktubhseq): undo record seq# - this is the seq# of the block that this undo record WILL BE APPLIED TO. This is from the Undo Block. It is NOT the seq# of the undo block itself. b. (ktudbseq): redo RECORD seq# - this is the seq# number in the block that this redo WILL BE APPLIED TO. This is from the Redo Record. --------------------------------------------------------------------------- Diagnosis: This error is raised in kturdb which handles the adding of undo records by the application of redo. When we try to apply redo to an undo block (forward changes are made by the application of redo to a block) we check that the seq# in the undo record matches the seq# in the redo record. These seq# should be the same because when we apply a redo record we must apply it to the correct version of the block. We can only apply a redo record to a block that contains the same seq# as in the redo record. If the seq# do not match then this error is raised. This implies some kind of block corruption in either the redo or the undo block. 7.3.x - 8.1.7.x ASSERT2(ubh->ktubhseq == db->ktudbseq, OERI(4193), KSESVSGN, ubh->ktubhseq, db->ktudbseq); 9.2.x ksesic2(OERI(4193), ksenrg(ubh->ktubhseq), ksenrg(db->ktudbseq)); struct ktubh { kxid ktubhxid; /* txid of tx currently using or last used this block */ ub2 ktubhseq; /* undo block sequence number */ ub1 ktubhcnt; /* high water mark record index, number of undo entries */ ub1 ktubhirb; /* rollback record index, rec index to start the rollback */ ub1 ktubhicl; /* collecting record index, rec index to start retrieving col info */ ub1 ktubhflg; /* dummy */ ub2 ktubhidx[1]; /* byte offset of record in block, grows at runtime */ }; struct ktudb Kernel Transaction Undo Data operation Block (redo) { ub2 ktudbsiz; /* size of entry */ ub2 ktudbspc; /* verification: space left in undo block */ ub2 ktudbflg; /* flag to indicate the kind of redo operation */ kxid ktudbxid; /* current tx id */ ub2 ktudbseq; /* block sequence number */ ub1 ktudbrec; /* new record index for this change */ };
ORA 600 4193 处理方法同How to resolve ORA-600 [4194] errors