标签云
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-01595 ORA-08103 ORA-600 2131 ORA-600 2662 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,770)
- DB2 (22)
- MySQL (77)
- Oracle (1,611)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (592)
- Oracle安装升级 (98)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- Oracle 19c 202507补丁(RUs+OJVM)-19.28
- 2025年的Oracle 8.0.5数据库恢复
- ORA-600 kokiasg1故障分析(obj$中核心字典序列全部被恶意删除)
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
分类目录归档:ORA-xxxxx
ORA-00600 [ktbdchk1: bad dscn] 解决
启动数据库报错 SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1260720 bytes Variable Size 150995792 bytes Database Buffers 8388608 bytes Redo Buffers 7127040 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced alert.log导错 Wed Aug 10 12:31:11 2011 Errors in file /u01/admin/xienfei/udump/xff_ora_8568.trc: ORA-00600: internal error code, arguments: [ktbdchk1: bad dscn], [], [], [], [], [], [], [] xff_ora_8568.trc内容 [ktbdchk] -- readers_dsz -- bad dscn scn: 0x0000.b1e60c00scn: 0x0000.0011fca1 *** 2011-08-10 12:31:11.998 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [ktbdchk1: bad dscn], [], [], [], [], [], [], [] Current SQL statement for this session: select ctime, mtime, stime from obj$ where obj# = :1 根据上面错误判断,错误的scn为b1e60c00,不是整个数据文件的scn错误 而应该是一个对象的scn错误,所以继续在xff_ora_8568.trc文件中查找b1e60c00 找到结果如下: Block header dump: 0x0040007a Object id on Block? Y seg/obj: 0x12 csc: 0x00.b1e60c00 itc: 1 flg: - typ: 1 - DATA fsl: 0 fnx: 0x0 ver: 0x01 Itl Xid Uba Flag Lck Scn/Fsc 0x01 0x0008.02a.000001d9 0x00802341.01bb.04 ---- 1 fsc 0x0000.0011ae7c data_block_dump,data header at 0x20fd6044 =============== tsiz: 0x1fb8 hsiz: 0xea pbl: 0x20fd6044 bdba: 0x0040007a 76543210 flag=-------- ntab=1 nrow=108 frre=-1 fsbo=0xea fseo=0x453 avsp=0x369 tosp=0x369 0xe:pti[0] nrow=108 offs=0 根据这个提示,发现dba为:0040007a的对象异常,查找对应的file_id,block SQL> SELECT DBMS_UTILITY.data_block_address_file (TO_NUMBER ('40007a', 'XXXXXXXX')) file_id, 2 DBMS_UTILITY.data_block_address_block (TO_NUMBER ('40007a', 'XXXXXXXX')) block_id 3 FROM DUAL; FILE_ID BLOCK_ID ---------- ---------- 1 122 使用bbed查看file=1,block=122的scn情况 BBED> p ktbbh struct ktbbh, 48 bytes @20 ub1 ktbbhtyp @20 0x01 (KDDBTDATA) union ktbbhsid, 4 bytes @24 ub4 ktbbhsg1 @24 0x00000012 ub4 ktbbhod1 @24 0x00000012 struct ktbbhcsc, 8 bytes @28 ub4 kscnbas @28 0xb1e60c00 ub2 kscnwrp @32 0x0000 b2 ktbbhict @36 1 ub1 ktbbhflg @38 0x02 (NONE) ub1 ktbbhfsl @39 0x00 ub4 ktbbhfnx @40 0x00000000 struct ktbbhitl[0], 24 bytes @44 struct ktbitxid, 8 bytes @44 ub2 kxidusn @44 0x0008 ub2 kxidslt @46 0x002a ub4 kxidsqn @48 0x000001d9 struct ktbituba, 8 bytes @52 ub4 kubadba @52 0x00802341 ub2 kubaseq @56 0x01bb ub1 kubarec @58 0x04 ub2 ktbitflg @60 0x0001 (NONE) union _ktbitun, 2 bytes @62 b2 _ktbitfsc @62 0 ub2 _ktbitwrp @62 0x0000 ub4 ktbitbas @64 0x0011ae7c 果然发现scn为0xb1e60c00,现在把其修改为:0x00124ac6(注意规则,一般linux下都是倒序) BBED> set offset 28 OFFSET 28 BBED> m /x c64a1200 BBED-00209: invalid number (c64a1200) 小技巧,一次性修改报错,尝试一次修改一点 BBED> m /x c64a File: /u01/oradata/xienfei/system01.dbf (0) Block: 122 Offsets: 28 to 43 Dba:0x00000000 ------------------------------------------------------------------------ c64ae6b1 00000000 01000200 00000000 <32 bytes per line> BBED> set offset +2 OFFSET 30 BBED> m /x 1200 File: /u01/oradata/xienfei/system01.dbf (0) Block: 122 Offsets: 30 to 45 Dba:0x00000000 ------------------------------------------------------------------------ 12000000 00000100 02000000 00000800 <32 bytes per line> BBED> set offset -2 OFFSET 28 BBED> dump File: /u01/oradata/xienfei/system01.dbf (0) Block: 122 Offsets: 28 to 43 Dba:0x00000000 ------------------------------------------------------------------------ c64a1200 00000000 01000200 00000000 <32 bytes per line> BBED> sum apply Check value for File 0, Block 122: current = 0x3a4e, required = 0x3a4e SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1260720 bytes Variable Size 150995792 bytes Database Buffers 8388608 bytes Redo Buffers 7127040 bytes Database mounted. Database opened.
ORA-600 [LibraryCacheNotEmptyOnClose] on shutdown
一、现象
alert.log中记录
Mon May 9 19:56:10 2011(shutdown 数据库过程中)
Errors in file /opt/oracle/admin/xunzhi/udump/xunzhi_ora_328.trc:
ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose], [], [], [], [], [], [], []
trace中记录
*** 2011-05-09 19:56:10.843 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose], [], [], [], [], [], [], [] Current SQL information unavailable - no session. ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedst()+31 call ksedst1() 000000000 ? 000000001 ? 7FFFB5A19840 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? ksedmp()+610 call ksedst() 000000000 ? 000000001 ? 7FFFB5A19840 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? ksfdmp()+21 call ksedmp() 000000003 ? 000000001 ? 7FFFB5A19840 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? kgerinv()+161 call ksfdmp() 000000003 ? 000000001 ? 7FFFB5A19840 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? kgeasnmierr()+163 call kgerinv() 0068966E0 ? 01EFD6610 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? 000000000 ? kglshu()+757 call kgeasnmierr() 0068966E0 ? 01EFD6610 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? 000000001 ? kqlnfy()+468 call kglshu() 0068966E0 ? 000000000 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? 000000001 ? kscnfy()+587 call kqlnfy() 000000018 ? 000000000 ? 7FFFB5A198A0 ? 7FFFB5A197E0 ? 000000000 ? 000000001 ? ksmshu()+269 call kscnfy() 000000018 ? 000000000 ? 000000000 ? 7FFFB5A197E0 ? 000000000 ? 000000001 ? opistp_real()+1052 call ksmshu() 000000018 ? 000000000 ? 000000000 ? 7FFFB5A197E0 ? 000000000 ? 000000001 ? opistp()+309 call opistp_real() 000000031 ? 000000002 ? 7FFFB5A1E560 ? 000000000 ? 000000000 ? 000000001 ? opiodr()+984 call opistp() 000000031 ? 000000002 ? 7FFFB5A1E560 ? 000000000 ? 000000000 ? 000000001 ? ttcpip()+1012 call opiodr() 000000031 ? 000000002 ? 7FFFB5A1E560 ? 000000000 ? 0059C02A8 ? 000000001 ? opitsk()+1322 call ttcpip() 00689E3B0 ? 000000001 ? 7FFFB5A1E560 ? 000000000 ? 7FFFB5A1E058 ? 7FFFB5A1E6C8 ? opiino()+1026 call opitsk() 000000003 ? 000000000 ? 7FFFB5A1E560 ? 000000001 ? 000000000 ? 4E5000B00000000 ? opiodr()+984 call opiino() 00000003C ? 000000004 ? 7FFFB5A1F728 ? 000000001 ? 000000000 ? 4E5000B00000000 ? opidrv()+547 call opiodr() 00000003C ? 000000004 ? 7FFFB5A1F728 ? 000000000 ? 0059C0460 ? 4E5000B00000000 ? sou2o()+114 call opidrv() 00000003C ? 000000004 ? 7FFFB5A1F728 ? 000000000 ? 0059C0460 ? 4E5000B00000000 ? opimai_real()+163 call sou2o() 7FFFB5A1F700 ? 00000003C ? 000000004 ? 7FFFB5A1F728 ? 0059C0460 ? 4E5000B00000000 ? main()+116 call opimai_real() 000000002 ? 7FFFB5A1F790 ? 000000004 ? 7FFFB5A1F728 ? 0059C0460 ? 4E5000B00000000 ? __libc_start_main() call main() 000000002 ? 7FFFB5A1F790 ? +244 000000004 ? 7FFFB5A1F728 ? 0059C0460 ? 4E5000B00000000 ? _start()+41 call __libc_start_main() 000723088 ? 000000002 ? 7FFFB5A1F8E8 ? 000000000 ? 0059C0460 ? 000000002 ?
二、问题展示形式
ORA-600 [LibraryCacheNotEmptyOnClose] is reported in the alert.log on shutdown
The trace file shows the following call stack trace and will also include a System State:
kglshu kqlnfy kscnfy ksmshu opistp_real opistp opiodr ttcpip opitsk opiino opiodr opidrv sou2o opimai_real main libc_start_main
三、问题原因及其后果
This is a bug in that an ORA-600 error is reported when it is found during shutdown, after database close, that there are still objects in the library cache. It does not indicate any damage or a problem in the system.
Ignore the error as it just indicates that there are some items in the library cache when closing down the instance. The error itself occurs AFTER the database close and dismount stages so only affects the instance shutdown itself. Datafiles have been closed cleanly.
发表在 ORA-xxxxx
评论关闭
ORA-00600 [2662]
一、错误现象(alert日志中)
Errors in file /opt/oracle/admin/conner/udump/conner_ora_31607.trc:
ORA-00600: internal error code, arguments: [2662], [0], [897694446], [0], [897695488], [8388697], [], []
二、错误解释
ORA-600 [2662] “Block SCN is ahead of Current SCN”,说明当前数据库的数据块的SCN早于当前的SCN,主要是和存储在UGA变量中的dependent SCN进行比较,如果当前的SCN小于它,数据库就会产生这个ORA-600 [2662]的错误了。这个错误一共有五个参数,分别代表不同的含义
ORA-600 [2662] [a] [b] {c} [d] [e]
Arg [a] Current SCN WRAP
Arg [b] Current SCN BASE
Arg {c} dependent SCN WRAP
Arg [d] dependent SCN BASE
Arg [e] Where present this is the DBA where the dependent SCN came from.
注:897694446<897695488
三、错误原因
1.使用隐含参数_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库
2.硬件错误引起数据库没法写控制文件和重做日志文件
3.错误的部分恢复数据库
4.恢复了控制文件但是没有使用recover database using backup controlfile进行恢复
5.数据库crash后设置了_DISABLE_LOGGING隐含参数
6.在并行服务器环境中DLM存在问题
四、解决办法
1、如果SCN相差不多,可以通过多次重起数据库解决(每次加1)
2、通过10015 ADJUST_SCN事件来增进current SCN
1)计算level
1.1) Arg {c}* 4得出一个数值,假设为V_Wrap
1.2) 如果Arg [d]=0,则V_Wrap值为需要的level
Arg [d] < 1073741824,V_Wrap+1为需要的level
Arg [d] < 2147483648,V_Wrap+2为需要的level
Arg [d] < 3221225472,V_Wrap+3为需要的level
1.3)SCN被增进了1024*1024*1024*level(level*10 billion)
2)执行内部事件
alter session set events ’10015 trace name adjust_scn level N’;
注:mount状态下执行(open下无效)
alert日志中会出现:
Sat Aug 20 15:41:07 2011
Debugging event used to advance scn to 107374182400