Document Type | Technical Information
Category | Administration
Applicable Product Versions | Tibero6, Tibero7
Document Number | TADTI193
Overview
This is a method used to verify suspected inconsistencies in indexes.
Method
Executing the DBMS_VERIFY Package
- If there is no problem
SQL> set serveroutput on
SQL> declare
schema varchar2(1024);
tblname varchar2(1024);
begin
schema := 'TIBERO';
tblname := 'T';
DBMS_VERIFY.TABLE_INDEX(schema, tblname);
end;
/
"IDX1_T" ("TIBERO"."T") is ok!
PSM completed.
- If there is a problem
SQL> exec dbms_verify.SCHEMA_INDEX('TIBERO');
TBR-2131: Generic I/O error.
- sys.log
[12-01T14:35:27.678694] [COM-68] [I] Block & Key dump generated by condition 'dd->sgmt_id == idxblk->tx.sgmt_id'
[12-01T14:35:27.678913] [COM-68] [I] Internal Error with condition '(dd->sgmt_id == idxblk->tx.sgmt_id)' (5 args) (td_isgmt.c:1283:td_isgmt_get_
cr_in_lvl) (pid=9437514, sessid=68, tid=68)
[12-01T14:35:32.080332] [FRM-68] [I] THROW. ec=ERROR_SESS_KILLED(-12001) [ Session has been closed. ] (csr_id:53) [tbsvr_tracedump.c:294:tb_th
r_assert_cmd]
. (omitted)
- callstack
[68] *** 2025/12/01 14:35:23.327 ***
CALL STACK DUMP BY PROCSTACK (from 68,54001799)
---------- tid# 54001799 (pthread ID: 258) ----------
0x0900000000912810 _p_nsleep(??, ??) + 0x10
0x0900000000038b64 nsleep(??, ??) + 0xe4
0x090000000014e888 sleep(??) + 0x88
0x00000001004eae18 tb_system(??, ??, ??, ??) + 0xf8
0x00000001004e842c callstack_dump_ex(??, ??, ??) + 0x46c
0x00000001015171e8 td_isgmt_get_cr_in_lvl(??, ??, ??, ??, ??, ??, ??) + 0x1da8
.(omitted)
Consistency issues may vary depending on the Tibero version and applied patches.
General Action Plans
1. After applying the _INDEX_BUILD_USING_FULL_SCAN=Y parameter, perform an index rebuild on the relevant table, then reset the parameter back to _INDEX_BUILD_USING_FULL_SCAN=N.
SQL> alter system set _INDEX_BUILD_USING_FULL_SCAN=Y ;
System altered.
SQL> alter index IT238175_3 rebuild;
Index 'IT238175_3' altered.
SQL> alter system set _INDEX_BUILD_USING_FULL_SCAN=N
;
System altered.
This parameter is used because the keys must be generated based on the table data.
If this parameter is not used, keys are retrieved from an already inconsistent index and stored in a new segment, which may not properly restore consistency with the table.
2. Since root cause analysis varies by version, it is necessary to extract the required dumps and then submit a technical inquiry.