Oracle Database error ora-600 [ktbdchk1: bad dscn] and ora-8103 optimize upted block solution

Source: Internet
Author: User
Tags error code session id stack trace


Two days ago, a colleague of the database alert log constantly fl the ora-600 [ktbdchk1: bad dscn] error, the impact of the insert statement on a table, not long ago the database storage failure, similar cases are not found in known bugs. The environment 11.2.0.4 2 nodes RAC does not have Data Guard configured. Here, we simply record the problem handling process.

# ALERT Log

Tue Jul 26 19:28:53 2016
Thread 1 advanced to log sequence 83177 (LGWR switch)
Current log #1 seq #83177 mem #0: + DATA/anbob/onlinelog/group_1.261.839353823
Current log #1 seq #83177 mem #1: + FRA/anbob/onlinelog/group_1.257.839353823
Tue Jul 26 19:28:53 2016
Archived Log entry 318062 added for thread 1 sequence 83176 ID 0xded21be5 dest 1:
Tue Jul 26 19:30:58 2016
Errors in file/home/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_ora_7655.trc (incident = 11956963 ):
ORA-00600: internal error code, arguments: [ktbdchk1: bad dscn], [], [], [], [], [], [], [], [], [], []
Incident details in:/home/oracle/diag/rdbms/anbob/anbob1/incident/incdir_11942563/anbobw.ora_7655_i11956963.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
Tue Jul 26 19:31:00 2016
Dumping diagnostic data in directory = [cdmp_201601_193100], requested by (instance = 1, osid = 7655), summary = [incident = 11956963].
Tue Jul 26 19:31:03 2016
Sweep [inc] [11956963]: completed
Sweep [inc2] [11956963]: completed
Tue Jul 26 19:34:00 2016
Thread 1 advanced to log sequence 83178 (LGWR switch)
Current log #2 seq #83178 mem #0: + DATA/anbob/onlinelog/group_2.262.839353823
Current log #2 seq #83178 mem #1: + FRA/anbob/onlinelog/group_2.258.839353823
Tue Jul 26 19:34:00 2016
# TRACE FILE

Dump file/home/oracle/diag/rdbms/anbob/anbob1/incident/incdir_11942563/anbob1_ora_7655_i11956963.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0-64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
ORACLE_HOME =/home/app/oracle/product/11.2.0
System name: Linux
Node name: 4gdb1
Release: 2.6.32-279. el6.x86 _ 64
Version: #1 SMP Wed Jun 13 18:24:36 EDT 2012
Machine: x86_64
Instance name: anbob1
Redo thread mounted by this instance: 1
Oracle process number: 134
Unix process pid: 7655, image: oracle @ 4gdb1

* ** 19:30:58. 981
* ** Session id: (3010.12441) 19:30:58. 981
* ** Client id: () 19:30:58. 981
* ** Service name :( anbob) 19:30:58. 981
* ** Module name :() 19:30:58. 981
* ** Action name :() 19:30:58. 981

Dump continued from file:/home/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_ora_7655.trc
ORA-00600: internal error code, arguments: [ktbdchk1: bad dscn], [], [], [], [], [], [], [], [], [], []

========= Dump for incident 11956963 (ORA 600 [ktbdchk1: bad dscn]) ========
----- Beginning of Customized Incident Dump (s )-----
[Ktbdchk] -- ktbgcl4 -- bad dscn
Dependent scn: 0x691a. 3c003e00 recent scn: 0x0001. 7fa36b1a current scn: 0x0001. 7fa36b1a
----- End of Customized Incident Dump (s )-----

* ** 19:30:59. 060
DbkedDefDump (): Starting incident default dumps (flags = 0x2, level = 3, mask = 0x0)
----- Current SQL Statement for this session (SQL _id = 9dws8axhn8m32 )-----
Insert into ANBOBT1 (values, accnbr, ability_code, action_type, start_time, end_time, groupId, create_time, province_code, city_code) values (values,: 1,: 2,: 3,: 4,: 5,: 6,: 7,: 8,: 9)

----- Call Stack Trace -----
Calling call entry argument values in hex
Location type point (? Means dubious value)
----------------------------------------------------------------------------
...
DbgexPhaseII () + 1764 call ksfdmp () 000000003? 000000002?
7FFFAED67190? 7FFFAED67268?
7FFFAED6BD10? 000000002?
DbgexExplicitEndInc call dbgexPhaseII () 7FD46BC75730? 7FD46B720EE0?
() + 755 7FFFAED6FFA8? 7FFFAED67268?
7FFFAED6BD10? 000000002?
DbgeEndDDEInvocatio call dbgexExplicitEndInc 7FD46BC75730? 7FD46B720EE0?
NImpl () + 769 () 7FFFAED6FFA8? 7FFFAED67268?
7FFFAED6BD10? 000000002?
DbgeEndDDEInvocatio call dbgeEndDDEInvocatio 7FD46BC75730? 7FD46B720EE0?
N () + 52 nImpl () 7FFFAED6FFA8? 7FFFAED67268?
7FFFAED6BD10? 000000002?
KtbValidateDependen call dbgeEndDDEInvocatio 7FD46BC75730? 7FD46B720EE0?
TScn () + 432 n () 7FFFAED6FFA8? 7FFFAED67268?
7FFFAED6BD10? 000000002?
Ktbgcl1 () + 2030 call ktbValidateDependen 7FFFAED74DF8? 009E69A1C?
TScn () 7FFFAED6FFA8? 7FFFAED67268?
7FFFAED6BD10? 000000002?
Ktbcfs () + 92 call ktbgcl1 () 7FFFAED74D30? 000000002?
7FFFAED70C2C? 000000002?
691A00000000? 000000002?
Kdt_bseg_srch_cbk () call ktbcfs () 7FFFAED74D30? 7fffaed71_c?
+ 1769 000000000? 000000002?
691A00000000? 000000002?
Ktspfpblk () + 527 call kdt_bseg_srch_cbk () 7FFFAED74D30? 7fffaed71_c?
000000000? 000000002?
691A00000000? 000000002?
Ktspfsrch () + 503 call ktspfpblk () 7FFFAED71460? 7fffaed71_c?
000000000? 000000002?
691A00000000? 000000002?
Ktspscan_bmb () + 509 call ktspfsrch () 7FFFAED71460? 7fffaed71_c?
000000000? 000000002?
691A00000000? 000000002?
Ktspgsp_main () + 856 call ktspscan_bmb () 057974305? 7fffaed71_c?
000000000? 000000002?
691A00000000? 000000002?
Kdtgsp () + 2701 call ktspgsp_main () 057974305? 7fffaed71_c?
...
...

Global cache element dump (address: 0x9c7e35a10 ):
Id1: 0x1ada9 id2: 0xd pkey: OBJ #87760 block: (13/109993)
Lock: X rls: 0x0 acq: 0x0 latch: 20
Flags: 0x20 fair: 0 recovery: 0 fpin: 'ktspbwh1: ktspfsrch'
Bscn: 0x0. 129cc03a bctx: (nil) write: 0 scan: 0x0
Lcp: (nil) lnk: [NULL] lch: [0x9af615b50, 0x9af615b50]
Seq: 438 hist: 67 143: 0 208 352 197 48 121 67 143: 0 208 352 48 197
List of buffers linked to this global cache element:
Flg: 0x00000000 state: XCURRENT tsn: 10 tsh: 0 mode: EXCL
Pin: 'KT spbwh1: KT spfsrch'
Addr: 0x9af615a18 obj: 87760 cls: DATA bscn: 0x0. 129cc03a
Buffer tsn: 10 rdba: 0x0341ada9 (13/109993)
Scn: 0x0000. 129cc03a seq: 0x01 flg: 0x04 tail: 0xc03a2801
Frmt: 0x02 chkval: 0x52bd type: 0x28 = pagetable managed lob block <
Hex dump of block: st = 0, typ_found = 1
...
...
...
Long field block dump:
Object Id 87600 <
LobId: 000100020.a69 PageNo 2 <
Version: 0x0000.00000002 pdba: 54634113
00 65 00 3e 75 28 62 37 59 d3 54 0d 00 3c 00 2f 00 50 00 61 00 72 00 61
00 4e 00 61 00 6d 00 65 00 3e 00 3c 00 4e 00 65 00 77 00 50 00 61 00 72
...
From MOS

Format: The ORA-600 [ktbdchk1: bad dscn] [a] [B] [c] [d] [e]

SUGGESTIONS:
Check all machine hardware for possible errors.
Run dbverify (dbv) utility on the datafiles in question.
Run a full export on the database and check for your uption.
If possible rebuild any other upted objects with export/drop/import

NB Prob Bug Fixed Description
* III 22241601 12.2.0.0 ORA-600 [kdsgrp1] ORA-1555/ORA-600 [ktbdchk1: bad dscn] due to Invalid Commit SCN in INDEX block
* D iiii 8895202 11.2.0.2, 12.1.0.1 ORA-1555/ORA-600 [ktbdchk1: bad dscn] ORA-600 [2663] in Physical Standby after switchover-superseded
II 9674932 Same fix as 8895202 for ORA-600 [ktbdchk1: bad dscn]-use 8895202 instead
E iii 7517208 10.2.0.5, 11.2.0.1 DBV enhanced to identify Logical SCN Block limit uptions
* III 5380055 10.2.0.3, 11.1.0.6 ORA-1555/partition uption if switch to Standby then back to Primary
-3610343 9.2.0.7, 10.1.0.4, 10.2.0.1 OERI: [ktbdchk1: bad dscn] in RAC
"

View the table creation DDL at that time

Create table "WEEJAR". "ANBOBT1"
("CUST_ABILITY_ID" NUMBER (12, 0) not null enable,
"ACCNBR" VARCHAR2 (32) not null enable,
"ABILITY_CODE" VARCHAR2 (32) not null enable,
"ACTION_TYPE" VARCHAR2 (32) not null enable,
"START_TIME" date not null enable,
"END_TIME" date not null enable,
"GROUPID" NUMBER (9, 0 ),
"CREATE_TIME" DATE,
"PROVINCE_CODE" VARCHAR2 (10 ),
"CITY_CODE" VARCHAR2 (10)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE (INITIAL 131072 NEXT 8192 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 freelist groups 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT );
Because remote connection is not available, it is confirmed that the problem requires two people in the middle, so no specific information is recorded, and the database is still OPEN, but it only affects the part (the database storage was damaged a few days ago ).
Here I have a question: why is there no lob field in the table and the trace prompts that there is a lob type? Oracle write exception? If you know, please mail me.
Analysis method:
1. Find OBJ # in the TRACE, and confirm that the object is the table used by insert.
2. Check that the table has no index and no LOB field.
3. flush buffer cache
4, CTAS failure reporting ora-8103
5, analyze table [TABLENAME] structure cascade online; failed to report ora-8103

So finally follow the solution table ora-8103 to avoid this ora-600, this case confirms that the table is not important can lose part of the data.

1, find the partition upted block, you can use 8103 trace further tracking can also solve the data block in the ora-600 trace first, dbv (rman) verify the data file and then query v $ database_block_partition uption
2. If the unique + not null index exists, you can use the script provided on MOS to skip abnormal row recovery based on rowid.
3. If no index exists, you can use DBMS_ROWID.ROWID_CREATE to generate an approximate rowid (not knowing the number of rows) based on dba + obj #. You can also use rowid to skip this step.
4. If you know about bbed, you can try to modify the SCN in ktbbhcsc to be slightly smaller than the current SCN.
5. Use extraction tools
6. If the table data is not important at present, create a new table and rename the change, and manually append the data later.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.