Unix Technical Forum

help with full filesystem corruption

This is a discussion on help with full filesystem corruption within the Informix forums, part of the Database Server Software category; --> I've been asked to fix a problem on a redhat linux 7.3 machine running a version of informix 4gl ...


Go Back   Unix Technical Forum > Database Server Software > Informix

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-20-2008, 12:04 PM
amcrory
 
Posts: n/a
Default help with full filesystem corruption

I've been asked to fix a problem on a redhat linux 7.3 machine running
a version of informix 4gl (2.1 as best as I can tell). The error
started when the filesystem filled up. I have successfully expanded the
filesystem and the system works for the most part but when they try to
run an import utility get this error:

Program stopped at "load_comma_cd.4gl", line number 694.
SQL statement error number -314.
ISAM error number 0.
Table (load_comma) currently in use.


using isql I am able to view the table structure but any other
operation results in "file not found" or "in use" errors. I don't know
that much about informix and have been seaching out a solution for a
couple days. Can anyone provide me some pointers to get this fixed?

Thanks,

Andrew

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-20-2008, 12:04 PM
Superboer
 
Posts: n/a
Default Re: help with full filesystem corruption

ahum sounds like you have an Standard Engine.

do a ls -l $INFORMIXDIR/lib and check if an sqlexec is there.

if so you may have corruption in your db. (copy first and look at
secheck.)
you may have a version which uses kernel locking, if that is the case a
reboot
of the machine may help since you might see a stray lock.
if you have lock files you may need to delete it??!!
if i am not mistaken (sorry looongg time ago) the filename is
<partoftablename><somenumber>.lck????
try move it away if it exists....


please be carefull backup all first!!! maybe restore on a test box and
run
your stuff from there excluding the
<partoftablename><somenumber>.lck????
of course...

Check out the manual too specially f you have transaction log enabled.
you may need to restore afterall since it may have become corrupted.


if you have something like IDS so
onstat - says online then someother program has a (exclusive) lock on
it;
see prev entry from Danny de Koster how to find locks...


Superboer.


amcrory schreef:

> I've been asked to fix a problem on a redhat linux 7.3 machine running
> a version of informix 4gl (2.1 as best as I can tell). The error
> started when the filesystem filled up. I have successfully expanded the
> filesystem and the system works for the most part but when they try to
> run an import utility get this error:
>
> Program stopped at "load_comma_cd.4gl", line number 694.
> SQL statement error number -314.
> ISAM error number 0.
> Table (load_comma) currently in use.
>
>
> using isql I am able to view the table structure but any other
> operation results in "file not found" or "in use" errors. I don't know
> that much about informix and have been seaching out a solution for a
> couple days. Can anyone provide me some pointers to get this fixed?
>
> Thanks,
>
> Andrew


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-20-2008, 12:04 PM
amcrory
 
Posts: n/a
Default Re: help with full filesystem corruption

Superboer, thanks for the reply. there is sqlexec in $INFORMIXDIR/lib
and I find no .lck files on the system. onstat does not exist nor do
some other utilities I've read about. In fact the only utilities are
$INFORMIXDIR/bin:

bcheck dbschema isql sacego salesdemo sperform
dbload deccon isqldemo saceprep sformbld

I've tried to drop and recreate the table but when I run drop I get:

314: Table (load_comma) currently in use.
2: No such file or directory

when I try to alter:

215: Cannot open file for table (load_comma).
2: No such file or directory

It's like the .dat and .idx files are missing? I have compared to the
backup and do not see any missing files.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-20-2008, 12:04 PM
Surfer!
 
Posts: n/a
Default Re: help with full filesystem corruption

In message <1147143606.550405.79520@i40g2000cwc.googlegroups. com>,
amcrory <amcrory@gmail.com> writes
>Superboer, thanks for the reply. there is sqlexec in $INFORMIXDIR/lib
>and I find no .lck files on the system. onstat does not exist nor do
>some other utilities I've read about. In fact the only utilities are
>$INFORMIXDIR/bin:
>
> bcheck dbschema isql sacego salesdemo sperform
> dbload deccon isqldemo saceprep sformbld
>
>I've tried to drop and recreate the table but when I run drop I get:
>
> 314: Table (load_comma) currently in use.
> 2: No such file or directory
>
>when I try to alter:
>
> 215: Cannot open file for table (load_comma).
> 2: No such file or directory
>
>It's like the .dat and .idx files are missing? I have compared to the
>backup and do not see any missing files.
>


You definitely have Standard Engine..

Your system is probably using the UNIX lock table instead of .lck files,
and has a rogue entry in there. Try rebooting it. Also check what is
in systables for load_comma - you will find out what the name of the
..dat & .idx files is, and remember they don't have to be in the same
directory as the system catalogues.

Also check the permissions of the Unix files - create an empty database
to see what they should be first.

Of course you might have a corruption in the system cataloges.
Sometimes I've managed to repair those with bcheck -s, sometimes I've
had to unload the whole damned database and reload it, and the
corruption often stops dbexport working so other methods have to be
resorted to.

Can dbschema create a schema for the whole database? And if it can,
does the load_comma table exists?

BTW - it isn't a temporary table, is it?



--
Surfer!
Email to: ramwater at uk2 dot net
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-20-2008, 12:05 PM
Superboer
 
Posts: n/a
Default Re: help with full filesystem corruption

> 314: Table (load_comma) currently in use.
> 2: No such file or directory

yes gone ...

hum....

use dbaccess or isql's query language

do a

select * from systables where tabname ="load_comma"

it should give you dirpath.

if dirpath is a fully qualified directoryname/somefilename

ex:

/data/mydatabase/load_comma

then do a ls of
/data/mydatabase/load_comma.*
if the name is load_c000101 or something simular,
goto the directory where your database reside
cd into the <databasename>.dbs
and do a ls of load_c000101 .*

if there is nothing there, you lost the table.
try to get the schema of load_comma

dbschema -d <yourdbname> -t load_comma -ss load_comma.sql
(ahum not sure if you can use -ss.....) and fingers crossed that this
works
otherwise you have to get this info from the system catalog and retype
the create table
statement....

create a dummy database

use
load_comma.sql to recreate load_comma
maybe you need to modify it
if dirpath is /data/mydatabase/load_comma add in
/data/mydatabase/load_comma
after the create table in this case you can manually delete the dummy
db since
you have an new empty table in your db.

if dirpath was load_c000101 you can copy the idx and dat files to
your
production database directory.


again i would really check for backups and see if you have a valid one.


Superboer.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:02 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com