An application owner reported an error on a DB2 database connection attempt. A query on db2diag.log returned this message
ADM1710C The database is not accessible because the DB2 database manager cannot write to the log control file "SQLOGCTL.LFH.2" on database partition "0". Possible reasons for this include: the file does not exist; the file is not accessible to the database manager because of network, file system, or OS problems; or incorrect file permissions are preventing the database manager from writing to the file. Ensure that the file is accessible to the database manager and that the file system is functioning properly, and restart or reconnect to the database.
I attempted a DB2 database database connection, with a message of:
SQL1042C An unexpected system error occurred. SQLSTATE=58004
The database was marked as bad . the DB2 error messages correlated with Linux messages, relating to SCSI errors .
Dec 19 08:02:05 server1 kernel: Buffer I/O error on device dm-18, logical block 1562696 Dec 19 08:02:05 server1 kernel: lost page write due to I/O error on dm-18 Dec 19 08:02:05 server1 kernel: SCSI error : <0 0 2 0> return code = 0x20000 Dec 19 08:02:05 server1 kernel: end_request: I/O error, dev sdc, sector 12503752
DB2 couldn’t write due to the Linux file system drive moving into a read-only state ,which it does under certain circumstances to protect itself . Using Commands check for read only Linux file system , to verify the filesystem was in read only , I contact the Linux administrator.
The filesytem was remounted and placed back into the read/write state. Various DB2 files were recovered and made accessible again – which allowed the database to become available .