Subscribe to Posts by Email

Subscriber Count

    696

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

Corruption: Bad Number data? What is it? But my dbverify didn’t say anything about it.

Statement/session crashing with Few ora-07445 and a ora-600

(Publishing the statement is irrespective hence skipping)

 

ORA 600 [rworupo.2]
ORA-07445: exception encountered: core dump [__intel_new_memcpy()+382]
ORA-00600: internal error code, arguments: [kgh_heap_sizes:ds], [0x2AD2FD908088], [], [], [], [], [], [], [], [], [], []
ORA-07445: exception encountered: core dump [smboQbNxt()+103] [SIGSEGV] [ADDR:0x0] [PC:0x8F22023] [SI_KERNEL(general_protection)] []

Well our good luck chuck DBA has access to Metalink and found that similar to following the stack in our trace files too.

... intel_new_memcpy <- qersoSORowP <- qervwRowProcedure <- qeruaRowProcedure <- qerixFetchUniqueIndex <- qerjotRowProc <- qertbFetchByRowID <- qerjotRowProc <- qervwRowProcedure <- qersoFetch <- qervwFetch <- qerjotFetch <- qerjotFetch <- rwsfcd <- qeruaFetch <- qervwFetch <- qersoProcessULS <- qersoFetch ...

and this note:-

Query causes various ORA-07445 and ORA-600 errors [ID 1385197.1]

 

Apparently the db is upgraded to 11g from 10g and symptoms are matching, now we are on warpath to remove those corruptions.

But what is bad number data? How does it occur? According to my permissible knowledge

1) Numeric columns some how got chars into it?

2) Application interface accepts anything varchar into number column and inserts the same

for example: ‘1 ’, note the space after the digit.?

3) Conversion of columns :(?

4) etc reasons?

and how to resolve it?

1) First identify the rows that marked as corrupted

a) Identify the rows that are not equal to number values

select rowid from schema.table where rowid in (select rowid from schema.table where (numcolumn!=numcolumn/1);

this will list you all the rowid’s for that number column not equal to divisible/1 itself), this another way of checking your number column data.

 

alternatively you can download script from

b) Download the script (procedure) and execute in your database.

NOTE:428526.1 - Baddata Script To Check Database For Corrupt column data

 

c) Update the column with same value of the row that is marked as corrupted, but with multiply into one. (Exactly, you heard it correct, 1*1=(always)1, 2*1=2(always)

Recommendation:- Take a backup before you proceed

update schema.table set NUMCOLUMN = NUMCOLUMN * 1 where rowid in (select rowid from schema.table where ("NUMCOLUMN"!="NUMCOLUMN"/1))

Match the count of rows appeared in step a and then

commit;

d) Rerun the statement that is failing earlier, the above should fix the bad number data as of now. Remember this is something about data (type) corruption, not logical nor the physical corruption

 

-Thanks

Geek DBA

3 comments to Corruption: Bad Number data? What is it? But my dbverify didn’t say anything about it.