标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 obet ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-600 kcratr_nab_less_than_odr ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 ORACLE恢复 Oracle 恢复 ORACLE数据库恢复 oracle碎片 OSD-04016 YOUR FILES ARE ENCRYPTED 比特币加密文章分类
- MongoDB (1)
- MongoDB恢复 (1)
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (112)
- 数据库 (1,878)
- DB2 (22)
- MySQL (82)
- Oracle (1,704)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (72)
- Oracle Bug (8)
- Oracle RAC (56)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (659)
- Oracle安装升级 (107)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (91)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (5)
- 达梦恢复 (3)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (51)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (34)
- MongoDB (1)
-
最近发表
- 由于con$.con#值达到极限,触发数据库增加约束报ORA-600 12807错误
- MongoDB 离线提取工具—mongoext
- .bres勒索病毒加密数据库dmp文件可恢复
- ORA-600 krsm_mrp_rebuild_lf_list.lno_mismatch
- 记录一次0丢失的ORA-00354: 损坏重做日志块标头故障恢复
- 不当数据库恢复操作导致一个月数据丢失
- obet快速修复oracle 位图损坏块
- 不太常见的10.2.0.1的oracle redo损坏恢复
- obet forcecopy功能抢救硬件故障中的数据文件
- kcratr_nab_less_than_odr和system坏块故障处理
- 通过obet 恢复system坏块,打开数据库
- obet dbv功能完整说明
- 分享一例运行在aix上的sap系统数据库恢复过程
- OBET-Oracle Block Editor Tool使用说明
- 几乎动用了所有手段的Oracle故障恢复
- Oracle Block Edit Tool (obet) 功能增强–2026.07
- Oracle 19c 202607补丁(RUs+OJVM)-19.32
- Patch_SCN快速修复ORA-01555数据库open故障
- 快速处理 ORA-01210: data file header is media corrupt 故障
- ORA-00314: log 3 of thread 1, expected sequence# N doesn’t match 0
分类目录归档:Oracle备份恢复
断电引起文件scn异常数据库恢复
由于异常断电,数据库最初启动报错
Fri Mar 01 08:41:17 2024 ALTER DATABASE MOUNT Successful mount of redo thread 1, with mount id 1865809648 Database mounted in Exclusive Mode Lost write protection disabled Completed: ALTER DATABASE MOUNT Fri Mar 01 08:41:24 2024 ALTER DATABASE OPEN Errors in file /home/oracle/app/diag/rdbms/XFF/XFF/trace/XFF_ora_25243.trc: ORA-01113: file 13 needs media recovery ORA-01110: data file 13: '/data2/oracle/oradata/data/data00.dbf' ORA-1113 signalled during: ALTER DATABASE OPEN...
经过应用厂商一系列操作,主要是如下操作
Fri Mar 01 11:10:56 2024 ALTER DATABASE RECOVER datafile 13 Media Recovery Start Serial Media Recovery started WARNING! Recovering data file 13 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. ORA-279 signalled during: ALTER DATABASE RECOVER datafile 13 ... Fri Mar 01 11:11:09 2024 ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors with log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc ORA-308 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ... ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors with log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc ORA-308 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ... ALTER DATABASE RECOVER CANCEL Media Recovery Canceled Completed: ALTER DATABASE RECOVER CANCEL Fri Mar 01 11:16:50 2024 db_recovery_file_dest_size of 10240 MB is 0.00% used. This is a user-specified limit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlying filesystem or ASM diskgroup. Fri Mar 01 11:51:56 2024 Starting ORACLE instance (normal) Fri Mar 01 12:11:35 2024 alter database datafile 13 offline ORA-1145 signalled during: alter database datafile 13 offline... Fri Mar 01 12:12:29 2024 alter database recover cancel ORA-1112 signalled during: alter database recover cancel... Fri Mar 01 12:13:24 2024 ALTER DATABASE RECOVER database until cancel Media Recovery Start started logmerger process Fri Mar 01 12:13:24 2024 WARNING! Recovering data file 13 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 14 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 15 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 16 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 17 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 18 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 19 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 20 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 21 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. WARNING! Recovering data file 22 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. Parallel Media Recovery started with 48 slaves ORA-279 signalled during: ALTER DATABASE RECOVER database until cancel ... ALTER DATABASE RECOVER CONTINUE DEFAULT Media Recovery Log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors with log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors in file /home/oracle/app/diag/rdbms/XFF/XFF/trace/XFF_pr00_38097.trc: ORA-00308:cannot open archived log '/home/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%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 /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors with log /home/oracle/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%u_.arc Errors in file /home/oracle/app/diag/rdbms/XFF/XFF/trace/XFF_pr00_38097.trc: ORA-00308:cannot open archived log '/home/app/flash_recovery_area/XFF/archivelog/2024_03_01/o1_mf_1_153563_%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 CANCEL Signalling error 1152 for datafile 1! Errors in file /home/oracle/app/diag/rdbms/XFF/XFF/trace/XFF_pr00_38097.trc: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/data1/oracle/oradata/XFF/system01.dbf' Slave exiting with ORA-1547 exception Errors in file /home/oracle/app/diag/rdbms/XFF/XFF/trace/XFF_pr00_38097.trc: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01152: file 1 was not restored from a sufficiently old backup ORA-01110: data file 1: '/data1/oracle/oradata/XFF/system01.dbf' ORA-10879 signalled during: ALTER DATABASE RECOVER CANCEL ... Fri Mar 01 13:23:05 2024 ALTER DATABASE DATAFILE '/data2/oracle/oradata/data/data00.dbf' OFFLINE DROP Completed: ALTER DATABASE DATAFILE '/data2/oracle/oradata/data/data00.dbf' OFFLINE DROP
接手现场之后,尝试单个文件recover操作
SQL> recover datafile 1;
ORA-00283: recovery session canceled due to errors
ORA-00264: no recovery required
SQL> recover datafile 2;
Media recovery complete.
SQL> recover datafile 3;
Media recovery complete.
SQL> recover datafile 4;
Media recovery complete.
SQL> recover datafile 5;
Media recovery complete.
SQL> recover datafile 6,7,8,9,10;
Media recovery complete.
SQL> recover datafile 11;
Media recovery complete.
SQL> recover datafile 12;
Media recovery complete.
SQL> recover datafile 13;
ORA-00279: change 1474236715 generated at 02/29/2024 17:13:00 needed for thread 1
ORA-00289: suggestion : /home/oracle/app/program/11g/dbs/arch1_153563_1136037378.dbf
ORA-00280: change 1474236715 for thread 1 is in sequence #153563
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log '/home/oracle/app/program/11g/dbs/arch1_153563_1136037378.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
SQL> recover datafile 14;
ORA-00279: change 1474236715 generated at 02/29/2024 17:13:00 needed for thread 1
ORA-00289: suggestion : /home/oracle/app/program/11g/dbs/arch1_153563_1136037378.dbf
ORA-00280: change 1474236715 for thread 1 is in sequence #153563
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00308: cannot open archived log '/home/oracle/app/program/11g/dbs/arch1_153563_1136037378.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
基于这样的情况,通过Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)检查发现/data2挂载点所有数据文件异常,由于以前的操作日志已经被清空无法判断原因,初步怀疑和这个挂载点本身有关系


这种情况直接使用bbed修改文件头,然后open库,再逻辑导出数据,完成本次数据恢复工作,参考类似文档
bbed 修改datafile header
使用bbed让rac中的sysaux数据文件online
当然这类故障也可以通过自研的Oracle Recovery Tools工具进行修复处理,类似文档:
Oracle Recovery Tools解决ORA-00279 ORA-00289 ORA-00280故障
发表在 Oracle备份恢复
评论关闭
模拟带库实现rman远程备份
rman通过模拟带库备份到远程机器,需要先配置用户ssh到目标机器
linux平台oracle备份
RMAN> RUN {
2> ALLOCATE CHANNEL S1 DEVICE TYPE sbt
3> PARMS='SBT_LIBRARY=/tmp/rman_sync.so,ENV=(
4> OB_SERVER=www.xifenfei.com,
5> OB_USER=root,
6> OB_PORT=22123,
7> OB_PATH=/tmp)';
8> BACKUP CURRENT CONTROLFILE FORMAT 'ctl_%U';
9> }
allocated channel: S1
channel S1: SID=125 device type=SBT_TAPE
channel S1: SBT/SSH2-SFTP
Starting backup at 22-FEB-24
channel S1: starting full datafile backup set
channel S1: specifying datafile(s) in backup set
including current control file in backup set
channel S1: starting piece 1 at 22-FEB-24
channel S1: finished piece 1 at 22-FEB-24
piece handle=ctl_012jq4gg_1_1 tag=TAG20240222T190344 comment=API Version 2.0,MMS Version 1.0.9.0
channel S1: backup set complete, elapsed time: 00:00:25
Finished backup at 22-FEB-24
released channel: S1
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 9.50M SBT_TAPE 00:00:24 22-FEB-24
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20240222T190344
Handle: ctl_012jq4gg_1_1 Media: 0B2B9255
Control File Included: Ckp SCN: 4438494 Ckp time: 22-FEB-24
win平台oracle备份
RMAN> RUN {
2> ALLOCATE CHANNEL S1 DEVICE TYPE sbt
3> PARMS='SBT_LIBRARY=D:\TEMP\rman_sync.dll,
4> ENV=(
5> OB_SERVER=www.xifenfei.com,
6> OB_USER=root,
7> OB_PORT=22123,
8> OB_PATH=/tmp/,
9> OB_PUBLIC_KEY=C:\Users\XIFENFEI\.ssh\id_rsa.pub,
10> OB_SECRET_KEY=C:\Users\XIFENFEI\.ssh\id_rsa,
11> OB_LOGFILE=d:\xifenfei.log)';
12> BACKUP CURRENT CONTROLFILE FORMAT 'ctl_%U';
13> }
分配的通道: S1
通道 S1: SID=156 设备类型=SBT_TAPE
通道S1: SBT/SSH2-SFTP
启动 backup 于 23-2月 -24
通道 S1: 正在启动全部数据文件备份集
通道 S1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
通道 S1: 正在启动段 1 于 23-2月 -24
通道 S1: 已完成段 1 于 23-2月 -24
段句柄=ctl_012jt7mr_1_1 标记=TAG20240223T231642 注释=API Version 2.0,MMS Version 1.0.9.0
通道 S1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 23-2月 -24
释放的通道: S1
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1 Full 9.50M SBT_TAPE 00:00:05 23-2月 -24
BP 关键字: 1 状态: AVAILABLE 已压缩: NO 标记: TAG20240223T231642
句柄: ctl_012jt7mr_1_1 介质: 0B2B9255
包括的控制文件: Ckp SCN: 14544437 Ckp 时间: 23-2月 -24
又一例:ORA-600 kclchkblk_4和2662故障
有客户恢复请求:由于未知原因导致aix环境的rac两台主机同时重启之后数据库无法正常启动,初步判断是由于写丢失导致故障(ORA-00742 ORA-00353)
Wed Feb 21 09:23:06 2024 ALTER DATABASE OPEN This instance was first to open Abort recovery for domain 0 Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_5767246.trc: ORA-01113: file 32 needs media recovery ORA-01110: data file 32: '+DATA/xff/datafile/x5sys_cs.dbf' ORA-1113 signalled during: ALTER DATABASE OPEN... Wed Feb 21 09:23:27 2024 ALTER DATABASE RECOVER datafile '+DATA/xff/datafile/x5sys_cs.dbf' Media Recovery Start Serial Media Recovery started WARNING! Recovering data file 32 from a fuzzy backup. It might be an online backup taken without entering the begin backup command. Recovery of Online Redo Log: Thread 2 Group 14 Seq 48490 Reading mem 0 Mem# 0: +DATA/xff/onlinelog/group_14.313.1060528521 Recovery of Online Redo Log: Thread 1 Group 7 Seq 64195 Reading mem 0 Mem# 0: +DATA/xff/onlinelog/group_7.306.1060527979 Wed Feb 21 09:24:10 2024 Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_5767246.trc: ORA-00742: Log read detects lost write in thread %d sequence %d block %d ORA-00334: archived log: '+DATA/xff/onlinelog/group_14.313.1060528521' Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_5767246.trc (incident=336478): ORA-00353: log corruption near block 139727 change 26346459680 time 02/20/2024 20:13:50 ORA-00312: online log 14 thread 2: '+DATA/xff/onlinelog/group_14.313.1060528521'
尝试屏蔽一致性强制拉库后数据库报ORA-600 kclchkblk_4
参考:ora-600 2662和ora-600 kclchkblk_4恢复、redo异常 ORA-600 kclchkblk_4 故障恢复
Wed Feb 21 09:55:26 2024 SMON: enabling cache recovery Wed Feb 21 09:55:26 2024 Redo thread 2 internally disabled at seq 5 (CKPT) Archived Log entry 112707 added for thread 2 sequence 4 ID 0xffffffffe144183b dest 1: ARC0: Archiving disabled thread 2 sequence 5 Archived Log entry 112708 added for thread 2 sequence 5 ID 0xffffffffe144183b dest 1: Wed Feb 21 09:55:28 2024 Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6423264.trc (incident=360479): ORA-00600: internal error code, arguments: [kclchkblk_4], [6], [576721660], [6], [576702892] Incident details in: /oracle/db/diag/rdbms/xff/xff1/incident/incdir_360479/xff1_ora_6423264_i360479.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Thread 1 advanced to log sequence 3 (LGWR switch) Current log# 7 seq# 3 mem# 0: +DATA/xff/onlinelog/group_7.306.1161510375 Archived Log entry 112709 added for thread 1 sequence 2 ID 0xffffffffe144183b dest 1: Wed Feb 21 09:55:31 2024 Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6423264.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [kclchkblk_4], [6], [576721660], [6], [576702892] Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6423264.trc: ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [kclchkblk_4], [6], [576721660], [6], [576702892]
后续处理中出现和这个错误类似的ORA-600 2662错误
Wed Feb 21 15:37:35 2024 SMON: enabling cache recovery Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6357664.trc (incident=432423): ORA-00600: internal error code, arguments: [2662], [6], [576742938], [6], [576834283], [12583104] Incident details in: /oracle/db/diag/rdbms/xff/xff1/incident/incdir_432423/xff1_ora_6357664_i432423.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6357664.trc: ORA-00600: internal error code, arguments: [2662], [6], [576742938], [6], [576834283], [12583104], [], [], [], [], [], [] Errors in file /oracle/db/diag/rdbms/xff/xff1/trace/xff1_ora_6357664.trc: ORA-00600: internal error code, arguments: [2662], [6], [576742938], [6], [576834283], [12583104], [], [], [], [], [], [] Error 600 happened during db open, shutting down database USER (ospid: 6357664): terminating the instance due to error 600 Instance terminated by USER, pid = 6357664
通过对oracle scn进行修改,数据库open成功
SQL> recover database; Media recovery complete. SQL> SQL> SQL> SQL> oradebug setmypid Statement processed. SQL> oradebug DUMPvar SGA kcsgscn_ kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000000 00000000 00000000 00000000 SQL> oradebug poke BEFORE: [700000000019B70, 700000000019B78) = 00000000 00000000 AFTER: [700000000019B70, 700000000019B78) = 00000006 22710D2B SQL> oradebug DUMPvar SGA kcsgscn_ kcslf kcsgscn_ [700000000019B70, 700000000019BA0) = 00000006 22710D2B 00000000 00000000 SQL> alter database open; Database altered.
后续检查发现obj$中的index异常(ORA-08102: index key not found, obj# 39)
类似文章:通过bbed修改obj$中dataobj$重现I_OBJ4索引报ORA-08102错误
SQL> truncate CLUSTER "SYS"."SMON_SCN_TO_TIME_AUX";
truncate CLUSTER "SYS"."SMON_SCN_TO_TIME_AUX"
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-08102: index key not found, obj# 39, file 1, block 967206 (2)
SQL> SQL> select object_name,object_type from dba_objects where object_id=39;
OBJECT_NAME OBJECT_TYPE
------------------------------ -------------------
I_OBJ4 INDEX
对于此类问题使用非常规方法把obj$字典表进行重建(需要注意undo需要为自动管理方式,temp不能为空),参考:
bootstrap$核心index(I_OBJ1,I_USER1,I_FILE#_BLOCK#,I_IND1,I_TS#,I_CDEF1等)异常恢复—ORA-00701错误解决

加我微信(17813235971)
加我QQ(107644445)

