5

We have a Sun Solaris system running Avaya CMS software. The software uses an Informix database. We have a single drive in the server. The drive began to go bad, corrupting files. We sourced a new drive and were able to duplicate the data from the old drive to the new one and successfully get the server up and running. We have a problem left though in that the database reports bad chunks and it will not write new data.

How can we repair this? Is it simply an Informix command to run or do we have to unallocated and re-allocate the database storage?

IBM Informix Dynamic Server Version 9.40.UC4

EDIT: We actually do not care about the old data any longer, it just we want to write new data, but it won't let us. Anyway to fix that?

Joshua Pack
  • 153
  • 7

1 Answers1

2

Simple situations are recoverable with oncheck command.
But your situation and this kind of corruption there is noway how recover the data from the "null" .

For that you need recover your archive + logical log backups.
Then you will recover all data to last status before the crash.

Do you have ? hm.... I'm pretty sure your thinking now is : ooopsss...

This is the minimal which you should have be at an environment without hardware redundancy.

Other option to study after that is configure your database to mirror all chunks at different hard disk... this way if one go bad the other keep all running.

Read this post https://stackoverflow.com/questions/19905391/why-informix-dbexport-is-generating-corrupt-data , maybe it can help you.

EDIT:

If the chunk is corrupted, makes no sense want to write anything over it.
The engine is very limited over this situation to guarantee the integrity of the data.
You will not able to drop the chunk if have some data into it (considering the database still pointing there have something).
The better solution is export what isn't corrupted to text file , recreate your instance from zero, create the database, structures and reload the data...
Need to understand this products are made with resource to guarantee the data integrity not to destroy it (considering the admin configures it properly).
As reference , check this links :

ceinmart
  • 497
  • 4
  • 11
  • We actually do not care about the old data any longer, it just we want to write new data, but it won't let us. Anyway to fix that? – Joshua Pack Apr 03 '14 at 15:31
  • Hi @Joshua , I edit my answer. Short answer: no you cannot without a workaround solution to leave the corrupted data by side... – ceinmart Apr 03 '14 at 20:05
  • I went ahead and accepted it as it is the best answer. Unless someone finds a way to fix the corrupt data without redoing everything :) Do you know a company or a person who can "export what isn't corrupted to text file , recreate the instance from zero, create the database, structures and reload the data"? – Joshua Pack Apr 04 '14 at 21:01
  • 1
    Hi @Joshua , if you write this request at the [IIUG (International Informix User Group) list](http://www.iiug.org/forums/ids/) I'm pretty sure you will get lot of proposals for this service. – ceinmart Apr 04 '14 at 23:09