标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 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-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 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,732)
- DB2 (22)
- MySQL (75)
- Oracle (1,584)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (160)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (68)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (580)
- Oracle安装升级 (94)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (82)
- PostgreSQL (26)
- pdu工具 (4)
- PostgreSQL恢复 (9)
- SQL Server (28)
- SQL Server恢复 (9)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- pg删除数据恢复—pdu恢复pg delete数据
- .[OnlyBuy@cyberfear.com].REVRAC勒索mysql恢复
- 表dml操作权限授权给public,导致只读用户失效
- 21c数据库恢复遭遇ora-600 ktugct: corruption detected
- pg_control丢失/损坏处理
- 当前主流数据库版本服务支持周期-202503
- pg启动报invalid checkpoint record处理
- 删除redo导致ORA-00313 ORA-00312故障处理
- Navicat连接postgresql时出现column “datlastsysoid” does not exist错误解决
- aix磁盘损坏oracle数据库恢复
- pg误删除数据恢复(PostgreSQL delete数据恢复)
- PostgreSQL表文件损坏恢复—pdu恢复损坏的表文件
- linux rm -rf 删除数据文件恢复
- PostgreSQL恢复工具—pdu恢复单个表文件
- PostgreSQL恢复工具—pdu工具介绍
- 近1万个数据文件的恢复case
- 不当使用_allow_resetlogs_corruption参数引起ORA-600 2662错误
- CSSD signal 11 in thread clssnmRcfgMgrThread故障处理
- 使用sid方式直接访问pdb(USE_SID_AS_SERVICE_LISTENER)
- ORA-00069: cannot acquire lock — table locks disabled for xxxx
分类目录归档:数据库
sql server数据库“正在恢复”故障处理
客户的sql server数据库在未知情况下,突然不可用,然后查看发现数据库处于“正在恢复”状态,无法使用
查看日志发现“错误:10982,严重性:16,状态:1”

,
查看数据库文件情况

通过分析确认mdf文件本身完整,没有异常,强制挂载mdf文件如下错误

通过一些技巧进行规避,数据库挂载成功,并且checkdb检查正常,没有任何错误,至此完成该故障恢复

如何判断数据文件是否处于begin backup状态
在数据库恢复中,经常会遇到由于某种原因对数据库执行了begin backup,但是没有执行end backup,然后导致库无法启动的例子,那么怎么判断当前的库是存在这种情况呢?有两种方法可以对其进行判断:
1. 通过查询v$backup表来确认
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production CORE 11.2.0.4.0 Production TNS for Linux: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------ 1 NOT ACTIVE 1.1210E+12 09-FEB-25 2 NOT ACTIVE 1.1210E+12 04-JAN-25 3 NOT ACTIVE 1.1210E+12 09-FEB-25 4 NOT ACTIVE 1.1210E+12 09-FEB-25 SQL> alter tablespace users begin backup; Tablespace altered. SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------ 1 NOT ACTIVE 1.1210E+12 09-FEB-25 2 NOT ACTIVE 1.1210E+12 04-JAN-25 3 NOT ACTIVE 1.1210E+12 09-FEB-25 4 ACTIVE 1.1210E+12 09-FEB-25 SQL> alter tablespace users end backup; Tablespace altered. SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------ 1 NOT ACTIVE 1.1210E+12 09-FEB-25 2 NOT ACTIVE 1.1210E+12 04-JAN-25 3 NOT ACTIVE 1.1210E+12 09-FEB-25 4 NOT ACTIVE 1.1210E+12 09-FEB-25
v$backup.status=’ACTIVE’表示该文件处于begin backup状态
2. 通过bbed查看kcvfh.kcvfhsta值
确认所有数据文件都没有处于begin backup状态
SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------ 1 NOT ACTIVE 1.1210E+12 09-FEB-25 2 NOT ACTIVE 1.1210E+12 04-JAN-25 3 NOT ACTIVE 1.1210E+12 09-FEB-25 4 NOT ACTIVE 1.1210E+12 09-FEB-25
list内容列表
[oracle@iZbp11c0qyuuo1gr7j98upZ ~]$ cat /home/oracle/list.txt 1 /u01/app/oracle/oradata/xifenfei/system01.dbf 2 /u01/app/oracle/oradata/xifenfei/sysaux01.dbf 3 /u01/app/oracle/oradata/xifenfei/undotbs01.dbf 4 /u01/app/oracle/oradata/xifenfei/users01.dbf
bbed查看kcvfh.kcvfhsta值
[oracle@iZbp11c0qyuuo1gr7j98upZ ~]$ bbed listfile=/home/oracle/list.txt Password: BBED: Release 2.0.0.0.0 - Limited Production on Sun Feb 9 21:20:15 2025 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> set file 1 FILE# 1 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x2004 (KCVFHOFZ) BBED> set file 2 FILE# 2 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0004 (KCVFHOFZ) BBED> set file 3 FILE# 3 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0004 (KCVFHOFZ) BBED> set file 4 FILE# 4 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0004 (KCVFHOFZ)
执行database begin backup
SQL> alter database begin backup; Database altered. SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- ------------ 1 ACTIVE 1.1210E+12 09-FEB-25 2 ACTIVE 1.1210E+12 09-FEB-25 3 ACTIVE 1.1210E+12 09-FEB-25 4 ACTIVE 1.1210E+12 09-FEB-25
再次bbed查看kcvfh.kcvfhsta值
BBED> set file 1 FILE# 1 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x2001 (KCVFHHBP) BBED> set file 2 FILE# 2 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0001 (KCVFHHBP) BBED> set file 3 FILE# 3 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0001 (KCVFHHBP) BBED> set file 4 FILE# 4 BBED> p kcvfh.kcvfhsta ub2 kcvfhsta @138 0x0001 (KCVFHHBP)
对于非system文件kcvfh.kcvfhsta=0×0001表示begin backup状态
对于system文件kcvfh.kcvfhsta=0×2001表示begin backup状态
CDM备份缺少归档打开数据库报ORA-600 kcbzib_kcrsds_1故障处理
有客户联系我们,说一个19c的库,由于产生归档较多在备份过程中把部分归档删除而导致没有备份成功,从而使得他们那边一个误操作需要恢复使用备份做不完全恢复,备份厂商进行恢复并尝试强制打开库报ORA-600 kcbzib_kcrsds_1错误
由于客户那边使用的是CDM方式备份,可以较快的准备出来一个新环境,观察客户在应用日志过程中,文件头的scn一直不变,怀疑文件头由于begin backup冻结,对其进行dump,发现确实做了hot backup操作,而且没有end backup


由于缺少归档,不完全恢复没有成功,begin backup 也无法正常结束,对于这种情况,先尝试调整到文件头最大的scn值,尝试打开库
SQL> alter database open resetlogs ; alter database open resetlogs * ERROR at line 1: ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Process ID: 3949615 Session ID: 5111 Serial number: 30040 --重启到mount状态 SQL> set numw 16 col CHECKPOINT_TIME for a40 set lines 150 set pages 1000 SELECT status, to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') checkpoint_time,FUZZY,checkpoint_change#, count(*) ROW_NUM FROM v$datafile_header GROUP BY status, checkpoint_change#, to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss'),fuzzy ORDER BY status, checkpoint_change#, checkpoint_time;SQL> SQL> SQL> SQL> 2 3 4 5 6 STATUS CHECKPOINT_TIME FUZ CHECKPOINT_CHANGE# ROW_NUM ------- ---------------------------------------- --- ------------------ ---------------- ONLINE 2025-02-08 22:43:01 YES 15626238353558 56
打开库失败,只能找出来数据库最大的block中最大scn,然后调整文件头scn的值,实现数据库open
SQL> oradebug setmypid Statement processed. SQL> oradebug DUMPvar SGA kcsgscn_ SQL> kscn8 kcsgscn_ [060017E98, 060017EA0) = 00000000 00000000 SQL> oradebug DUMPvar SGA kcsgscn_ kscn8 kcsgscn_ [060017E98, 060017EA0) = 8CD9C896 00000E4D SQL> SQL> SQL> SQL> alter database open ; alter database open * ERROR at line 1: ORA-01113: file 1 needs media recovery ORA-01110: data file 1: '/cdmbak/db/xifenfei/ob_data_D-XIFENFEI-SYSTEM_FNO-1_t13930nd' SQL> recover database; Media recovery complete. SQL> alter database open; Database altered. SQL>
使用exp导出客户需要的表,完成本次恢复任务
对于ORA-600 kcbzib_kcrsds_1恢复的情况,以前有过大量恢复案例,修改数据库scn即可
kcbzib_kcrsds_1报错汇总
12C数据库报ORA-600 kcbzib_kcrsds_1故障处理
存储故障,强制拉库报ORA-600 kcbzib_kcrsds_1处理
Patch SCN工具一键恢复ORA-600 kcbzib_kcrsds_1
此类故障处理太多,不一一列举,解决这个错误之后,数据库open成功,然后安排逻辑迁移即可