标签云
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,731)
- 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 (25)
- PostgreSQL恢复 (12)
- SQL Server (28)
- SQL Server恢复 (9)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- .[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
- ORA-600 [4000] [a]相关bug
标签归档:Oracle Recovery Tools
Oracle Recovery Tools 解决ORA-600 3020故障
尝试recover datafile,部分文件报ORA-600 3020,其他文件recover成功
ALTER DATABASE RECOVER datafile 1 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 24972 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_72232.trc (incident=749532): ORA-00600: 内部错误代码, 参数: [3020], [1], [272255], [4466559], [], [], [], [], [], [], [], [] ORA-10567: Redo is inconsistent with data block (file# 1, block# 272255, file offset is 2230312960 bytes) ORA-10564: tablespace SYSTEM ORA-01110: 数据文件 1: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF' ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 383 Media Recovery failed with error 600 ORA-283 signalled during: ALTER DATABASE RECOVER datafile 1 ... Tue Aug 02 10:28:24 2022 Trace dumping is performing id=[cdmp_20220802102824] Tue Aug 02 10:28:31 2022 ALTER DATABASE RECOVER datafile 2 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 24972 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Errors in file d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_72232.trc (incident=749533): ORA-00600: 内部错误代码, 参数: [3020], [2], [92323], [8480931], [], [], [], [], [], [], [], [] ORA-10567: Redo is inconsistent with data block (file# 2, block# 92323, file offset is 756310016 bytes) ORA-10564: tablespace SYSAUX ORA-01110: 数据文件 2: 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF' ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 12330 Media Recovery failed with error 600 ORA-283 signalled during: ALTER DATABASE RECOVER datafile 2 ...
利用Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)检查文件头相关信息,发现recover 失败的两个文件异常
通过Oracle Recovery Tools工具进行修复

数据库recover 成功,并顺利open

Tue Aug 02 10:56:13 2022 ALTER DATABASE RECOVER datafile 1 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 24972 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Completed: ALTER DATABASE RECOVER datafile 1 ALTER DATABASE RECOVER datafile 2 Media Recovery Start Serial Media Recovery started Recovery of Online Redo Log: Thread 1 Group 3 Seq 24972 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Completed: ALTER DATABASE RECOVER datafile 2 Tue Aug 02 10:56:34 2022 alter database open Beginning crash recovery of 1 threads parallel recovery started with 7 processes Started redo scan Completed redo scan read 8504 KB redo, 0 data blocks need recovery Started redo application at Thread 1: logseq 24972, block 2, scn 177712270 Recovery of Online Redo Log: Thread 1 Group 3 Seq 24972 Reading mem 0 Mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG Completed redo application of 0.00MB Completed crash recovery at Thread 1: logseq 24972, block 17011, scn 177734679 0 data blocks read, 0 data blocks written, 8504 redo k-bytes read Tue Aug 02 10:56:35 2022 Thread 1 advanced to log sequence 24973 (thread open) Thread 1 opened at log sequence 24973 Current log# 1 seq# 24973 mem# 0: D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Tue Aug 02 10:56:35 2022 SMON: enabling cache recovery Successfully onlined Undo Tablespace 2. Dictionary check beginning Tablespace 'TEMP' #3 found in data dictionary, but not in the controlfile. Adding to controlfile. Dictionary check complete Verifying file header compatibility for 11g tablespace encryption.. Verifying 11g file header compatibility for tablespace encryption completed SMON: enabling tx recovery ********************************************************************* WARNING: The following temporary tablespaces 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: Files may exists in db_recovery_file_dest that are not known to the database. Use the RMAN command CATALOG RECOVERY AREA to re-catalog any such files. If files cannot be cataloged, then manually delete them using OS command. One of the following events caused this: 1. A backup controlfile was restored. 2. A standby controlfile was restored. 3. The controlfile was re-created. 4. db_recovery_file_dest had previously been enabled and then disabled. ********************************************************** replication_dependency_tracking turned off (no async multimaster replication found) LOGSTDBY: Validating controlfile with logical metadata LOGSTDBY: Validation complete Completed: alter database open
增加tempfile,导出数据该库恢复完成
Oracle Recovery Tools实战批量坏块修复
有客户数据库无法正常启动ORA-600 6711错误
SQL> startup mount pfile='d:/pfile.txt' ORACLE instance started. Total System Global Area 4294964032 bytes Fixed Size 9036608 bytes Variable Size 889192448 bytes Database Buffers 3388997632 bytes Redo Buffers 7737344 bytes Database mounted. SQL> alter database open ; alter database open * 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: [6711], [4313028], [1], [4309898], [0], [], [], [], [], [], [], [] Process ID: 22708 Session ID: 978 Serial number: 56675
alert日志报错
2022-06-26T12:34:41.855326+08:00 alter database open 2022-06-26T12:34:41.984974+08:00 Ping without log force is disabled: instance mounted in exclusive mode. Endian type of dictionary set to little Undo initialization finished serial:0 start:313418906 end:313418906 diff:0 ms (0.0 seconds) Database Characterset is ZHS16GBK No Resource Manager plan active 2022-06-26T12:34:43.302315+08:00 Errors in file C:\APP\XFF\diag\rdbms\orcl\ora19c\trace\ora19c_ora_22708.trc (incident=38629): ORA-00600: internal error code, arguments: [6711], [4313028], [1], [4309898], [0], [], [], [], [], [], [], [] Incident details in: C:\APP\XFF\diag\rdbms\orcl\ora19c\incident\incdir_38629\ora19c_ora_22708_i38629.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. 2022-06-26T12:34:44.232115+08:00 ***************************************************************** An internal routine has requested a dump of selected redo. This usually happens following a specific internal error, when analysis of the redo logs will help Oracle Support with the diagnosis. It is recommended that you retain all the redo logs generated (by all the instances) during the past 12 hours, in case additional redo dumps are required to help with the diagnosis. ***************************************************************** 2022-06-26T12:34:44.315431+08:00 Errors in file C:\APP\XFF\diag\rdbms\orcl\ora19c\trace\ora19c_ora_22708.trc: ORA-00600: internal error code, arguments: [6711], [4313028], [1], [4309898], [0], [], [], [], [], [], [], [] 2022-06-26T12:34:44.315431+08:00 Errors in file C:\APP\XFF\diag\rdbms\orcl\ora19c\trace\ora19c_ora_22708.trc: ORA-00600: internal error code, arguments: [6711], [4313028], [1], [4309898], [0], [], [], [], [], [], [], [] Error 600 happened during db open, shutting down database Errors in file C:\APP\XFF\diag\rdbms\orcl\ora19c\trace\ora19c_ora_22708.trc (incident=38630): ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [6711], [4313028], [1], [4309898], [0], [], [], [], [], [], [], [] Incident details in: C:\APP\XFF\diag\rdbms\orcl\ora19c\incident\incdir_38630\ora19c_ora_22708_i38630.trc 2022-06-26T12:34:45.266678+08:00 opiodr aborting process unknown ospid (22708) as a result of ORA-603 2022-06-26T12:34:45.274688+08:00 ORA-603 : opitsk aborting process License high water mark = 1 USER (ospid: (prelim)): terminating the instance due to ORA error
通过分析trace文件进行分析,确认是由于histgrm$表异常导致,通过一些特殊处理,绕过该表相关sql,open数据库,并且尝试导出数据
SQL> startup mount pfile='d:/pfile.txt'; ORACLE instance started. Total System Global Area 4294964032 bytes Fixed Size 9036608 bytes Variable Size 889192448 bytes Database Buffers 3388997632 bytes Redo Buffers 7737344 bytes Database mounted. SQL> SQL> SQL> alter database open; Database altered.
通过分析是由于system有坏块导致,dbv检查文件

通过Oracle Recovery Tools工具批量坏块修复功能修复


通过工具修复大量主要坏块被修复,还有一些内部逻辑错误(后续工具继续完善),再次尝试逻辑导出数据,无任何报错,数据比较完美恢复

发表在 小工具, 非常规恢复
标签为 expdp ora-1578, ORA-600 6711, Oracle Recovery Tools, Oracle Recovery Tools修复坏块, 恢复修复
评论关闭
修改oracle scn小工具(patch scn)
在一些情况下(特别是一些数据库非常规恢复场景中),需要修改oracle scn绕过一些错误,让数据库open成功,在以前的版本中我们可以通过event,隐含参数,oradebug等方法进行修改,在一些较新的版本中这些方法都被oracle屏蔽,无法实现oracle scn进行调整,针对这种情况,开发了一个Patch_SCN小程序,实现对oracle数据库的scn进行调整
SQL> select dbms_flashback.get_system_change_number a from dual; A ---------------- 107367806959
通过工具查询scn信息,由于oracle的scn是动态的,因此和get_system_change_number 查询值有细微出入
win版本修改scn

通过查询确认scn修改成功

增加一键通过修改控制文件scn实现改变数据库scn的功能—202210增加

linux版本修改SCN
查询当前数据库SCN
SQL> startup mount ORACLE instance started. Total System Global Area 551165952 bytes Fixed Size 2255112 bytes Variable Size 369100536 bytes Database Buffers 171966464 bytes Redo Buffers 7843840 bytes Database mounted. SQL> alter database open; Database altered. SQL> select dbms_flashback.get_system_change_number a from dual; A ---------- 248118193
关闭数据库,启动到mount,为修改SCN做准备(为了模拟真实环境,只让程序在mount情况下修改scn,open情况下可以修改但是无实际意义)
SQL> startup mount; ORACLE instance started. Total System Global Area 551165952 bytes Fixed Size 2255112 bytes Variable Size 369100536 bytes Database Buffers 171966464 bytes Redo Buffers 7843840 bytes Database mounted. SQL> select spid from v$process where addr = 2 (select paddr from v$session where sid= 3 (select sid from v$mystat where rownum=1)); SPID ------------------------ 21019
进行SCN修改
[oracle@iZbp11c0qyuuo1gr7j98upZ tmp]$ ./Patch_SCN 21019(会话进程号) 300000000(期望修改SCN值) Machine Code:W0UY-SV09-71CY-IEWA Please input Key:42FB4ADAB72BB4AD <----需要联系软件作者惜分飞获取 Confirm modification, please input [Y]... Y Modify the Oracle SCN value to:11E1A300:300000000
启动数据库,查询scn
SQL> ALTER DATABASE OPEN; Database altered. SQL> select dbms_flashback.get_system_change_number a from dual; A ---------- 300000244 ---由于数据库启动之后,scn稍微增加,属于正常情况
通过上述测试,证明Patch_SCN可以完美实现linux平台Oracle 数据库的SCN调整工作
该功能的通用版已经包含到oracle racovery tools工具中(注册版可用)
Patch_SCN下载:Patch_SCN下载
Patch_SCN使用说明:Patch_SCN使用说明
OraRecovery下载:OraRecovery下载
OraRecovery使用说明:OraRecovery使用说明
发表在 Oracle, 小工具
标签为 Oracle Recovery Tools, oracle scn修改工具, patch scn, win scn修改, 通过控制文件修改数据库scn
评论关闭