标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr MySQL恢复 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-600 kdsgrp1 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)
- 操作系统 (112)
- 数据库 (1,841)
- DB2 (22)
- MySQL (81)
- Oracle (1,669)
- 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 (69)
- Oracle Bug (8)
- Oracle RAC (55)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (632)
- Oracle安装升级 (103)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (89)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (4)
- 达梦恢复 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (47)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (30)
-
最近发表
- aix环境rac 私网直连导致haip启动异常
- 又一例TRIM导致asm磁盘数据丢失的故障
- 一次运气好的ORA-600 kcratr_nab_less_than_odr故障处理
- OraFHR快速open被勒索加密破坏的Oracle数据库
- obet一键恢复offline数据文件
- 记录一次win删除数据文件完美恢复案例
- Oracle典型故障:The controlfile header block returned by the OS has a sequence number that is too old
- 国产信创库fio破坏主备库以及备份故障处理
- .wman扩展名勒索mysql数据库恢复
- Oracle数据库被勒索加密一键open工具–OraFHR
- 通过alert日志回顾其他dba oracle异常恢复故障处理以及后续open数据库操作
- 年前几例Oracle数据库被加密为.wman的数据库故障恢复
- 文件系统损坏导致数据库异常故障处理
- expdp导出xml列报ORA-22924故障处理
- obet处理ORA-704 ORA-604 ORA-1578故障
- obet修复csc higher than block scn类型坏块
- ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理
- aix环境10g由于控制器异常导致ORA-600 4000故障处理
- ORA-600 3716故障处理
- 不当恢复truncate数据导致数据库不能open处理
标签归档:DBMS_PDB.RECOVER
使用DBMS_PDB.RECOVER抢救单个pdb
尝试recover datafile 1 报ORA-600 kdBlkCheckError错误
Wed Jan 07 14:31:17 2026 Decreasing number of real time LMS from 5 to 0 ALTER DATABASE RECOVER datafile 1 Wed Jan 07 14:31:21 2026 Media Recovery Start Wed Jan 07 14:31:21 2026 Serial Media Recovery started Wed Jan 07 14:31:21 2026 Recovery of Online Redo Log: Thread 2 Group 24 Seq 2584 Reading mem 0 Mem# 0: +DATA/CDBDG/ONLINELOG/group_24.393.1122613933 Mem# 1: +ARCH/CDBDG/ONLINELOG/group_24.276.1122613933 Wed Jan 07 14:31:21 2026 Recovery of Online Redo Log: Thread 1 Group 18 Seq 13823 Reading mem 0 Mem# 0: +DATA/CDBDG/ONLINELOG/group_18.387.1122613923 Mem# 1: +ARCH/CDBDG/ONLINELOG/group_18.270.1122613925 Wed Jan 07 14:31:22 2026 Recovery of Online Redo Log: Thread 1 Group 19 Seq 13824 Reading mem 0 Mem# 0: +DATA/CDBDG/ONLINELOG/group_19.388.1122613925 Mem# 1: +ARCH/CDBDG/ONLINELOG/group_19.271.1122613925 Errors in file /u01/app/oracle/diag/rdbms/cdbdg/cdb1/trace/cdb1_ora_2753010.trc (incident=806358) (PDBNAME=CDB$ROOT): ORA-00600: internal error code, arguments: [kdBlkCheckError], [1], [105538], [6401], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/cdbdg/cdb1/incident/incdir_806358/cdb1_ora_2753010_i806358.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Wed Jan 07 14:31:25 2026 Media Recovery failed with error 10562 ORA-283 signalled during: ALTER DATABASE RECOVER datafile 1 ...
通过dbv检查file 1(system)数据文件,发现大量坏块
bash-4.2$ dbv file=system.271.1122584815 DBVERIFY: Release 12.1.0.2.0 - Production on Wed Jan 7 20:15:26 2026 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. DBVERIFY - Verification starting : FILE = /data/bak/system.271.1122584815 DBV-00200: Block, DBA 4195214, already marked corrupt DBV-00200: Block, DBA 4210332, already marked corrupt DBV-00200: Block, DBA 4210333, already marked corrupt …………………… DBV-00200: Block, DBA 4312889, already marked corrupt DBV-00200: Block, DBA 4313119, already marked corrupt DBV-00200: Block, DBA 4313122, already marked corrupt DBVERIFY - Verification complete Total Pages Examined : 524288 Total Pages Processed (Data) : 79989 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 20781 Total Pages Failing (Index): 0 Total Pages Processed (Other): 408840 Total Pages Processed (Seg) : 1 Total Pages Failing (Seg) : 0 Total Pages Empty : 14678 Total Pages Marked Corrupt : 33 Total Pages Influx : 0 Total Pages Encrypted : 0 Highest block SCN : 3135037281 (4374.3135037281)
分析发现这个库是包含了多个pdb,客户的业务主要在con_id=3的pdb中
bash-4.2$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Jan 7 20:27:42 2026
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED MOUNTED
3 XFF MOUNTED
4 DYCW MOUNTED
SQL>
尝试对除cdb的system/sysaux之外的文件进行recover操作均成功

对于这种情况,比较好的处理思路就是通过对单独的pdb文件使用DBMS_PDB.RECOVER处理,然后插入到一个新的cdb中,第一步使用dbca创建一个和当前库字符集一样的cdb
dbca -silent -ignorePreReqs -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc \ -responseFile NO_VALUE \ -gdbname oratest -sid oratest \ -createAsContainerDatabase TRUE \ -sysPassword oracle -systemPassword oracle -pdbAdminPassword oracle -dbsnmpPassword oracle \ -datafileDestination '/data/oradata' \ -redoLogFileSize 200 \ -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \ -totalMemory 4096 \ -databaseType MULTIPURPOSE \ -emConfiguration NONE
然后利用老的pdb生成需要的xml文件
BEGIN DBMS_PDB.RECOVER(PDB_DESCR_FILE=> '/tmp/XFF.xml', PDB_NAME=>'XFF', FILENAMES=> '/data/bak/system.268.1122584817, /data/bak/system.441.1125224053, /data/bak/sysaux.269.1122584817, ………… /data/bak/odin.312.1122593153, /data/bak/dsg.314.1122593223'); END; /
利用该xml文件,直接把这个pdb插入到新cdb中
Wed Jan 07 14:40:52 2026
create pluggable database XFF using '/tmp/XFF.xml' nocopy
Wed Jan 07 14:41:29 2026
Session (221,18860): EXTERNAL SCN ALERT: Advanced SCN by 3185580 minutes worth to 0x1116.bade672c,
by Pluggable Database plug-in
Session (221,18860): EXTERNAL SCN SOURCE: Inbound connection from client
Session (221,18860): EXTERNAL SCN SOURCE: DB Logon User: SYS, Remote Machine: p770a,
Program: sqlplus@p770a (TNS V1-V3),OS User: oracle
****************************************************************
Pluggable Database XFF with pdb id - 3 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
****************************************************************
Database Characterset for XFF is ZHS16GBK
Deleting old file#8 from file$
Deleting old file#9 from file$
Deleting old file#10 from file$
…………
Deleting old file#148 from file$
Deleting old file#199 from file$
Deleting old file#200 from file$
Adding new file#9 to file$(old file#8)
Adding new file#8 to file$(old file#145)
Adding new file#10 to file$(old file#9)
…………
Adding new file#19 to file$(old file#148)
Adding new file#18 to file$(old file#199)
Adding new file#17 to file$(old file#200)
Marking tablespace #2 invalid since it is not present in the describe file
Successfully created internal service XFF at open
ALTER SYSTEM: Flushing buffer cache inst=0 container=3 local
Wed Jan 07 14:41:49 2026
****************************************************************
Post plug operations are now complete.
Pluggable database XFF with pdb id - 3 is now marked as NEW.
****************************************************************
Completed: create pluggable database XFF using '/tmp/XFF.xml' nocopy
alter database open
Wed Jan 07 14:43:21 2026
Pluggable database XFF dictionary check beginning
Tablespace 'TEMP' #2 found in data dictionary,
but not in the controlfile. Adding to controlfile.
Pluggable Database XFF Dictionary check complete
Database Characterset for XFF is ZHS16GBK
*********************************************************************
WARNING: The following temporary tablespaces in container(XFF)
contain no files.
This condition can occur when a backup controlfile has
been restored. It may be necessary to add files to these
tablespaces. That can be done using the SQL statement:
ALTER TABLESPACE <tablespace_name> ADD TEMPFILE
Alternatively, if these temporary tablespaces are no longer
needed, then they can be dropped.
Empty temporary tablespace: TEMP
*********************************************************************
***************************************************************
WARNING: Pluggable Database XFF with pdb id - 3 is
altered with errors or warnings. Please look into
PDB_PLUG_IN_VIOLATIONS view for more details.
***************************************************************
Opening pdb XFF (3) with no Resource Manager plan active
Pluggable database XFF opened read write
Completed: alter database open
alter tablespace temp add tempfile '/data/bak/temp01.dbf' size 16m autoextend on
Completed: alter tablespace temp add tempfile '/data/bak/temp01.dbf' size 16m autoextend on
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
Wed Jan 07 14:46:08 2026
Immediate Kill Session#: 366, Serial#: 2995
Immediate Kill Session: sess: 7000100bafb5f58 OS pid: 5637924
ALTER SYSTEM: Flushing buffer cache inst=0 container=3 local
Wed Jan 07 14:46:22 2026
Pluggable database XFF closed
Completed: ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE
alter database open
Wed Jan 07 14:46:48 2026
Database Characterset for XFF is ZHS16GBK
***************************************************************
WARNING: Pluggable Database XFF with pdb id - 3 is
altered with errors or warnings. Please look into
PDB_PLUG_IN_VIOLATIONS view for more details.
***************************************************************
Opening pdb XFF (3) with no Resource Manager plan active
Pluggable database XFF opened read write
Completed: alter database open
这次4T多的aix环境rac数据库的单个pdb通过DBMS_PDB.RECOVER方法非常完美的恢复,DBMS_PDB.RECOVER是拯救单个pdb的神兵利器.



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

