Informix 数据库常用问题解决方案(1)

1.1修改锁模式方法

dbaccess选择要修改的数据库,在Query-language中执行

修改某个表table_name为行锁:alter table table_name lock mode (row);

如果要修改为页锁可以将row 换为page

 

1.2SQLCODE=240

l         INFORMIX解释:

-240 不能删除行。
数据库服务器不能完成DELETE语句的执行。滚回当前的事务处理;然后,检查伴随的 ISAM错误代码,得到更多的信息。

l         问题分析:

这种情况比较复杂,数据库可能出错的方面比较多,但在应用文件日志中都有记录是哪个数据库的哪一张表有问题。

l          参考解决方法:

可以通过informixoncheck命令进行检查修复,如果修复后还有问题,则只有将该表的数据unload出重新创建此表,再将数据load到新表中,

oncheck –cID databasename:tablename

1.3SQLCODE=268

l         INFORMIX解释:

-268 唯一限制<限制名>违法。
在执行这条语句期间,重复的值引入受唯一性限制保护的字段。不允许有重复值的行进入表中(不能插入或修改)。对于OnLine数据库服务器,在发现重复值之前由这条语句做的任何改动已被滚回。(然而,在事务中先于语句的影响,如果有的话,仍然起作用,必须明确地滚回或提交。)

l         问题分析:

上下级数据该表的主键不一致,请检查是否一致。

l          参考解决方法:

修改分公司索引,等待重新装载。

1.4SQLCODE=244

l         INFORMIX解释:

-244 不能按物理顺序读来取得下一行。
数据库服务器不能读取包含一个表的某行的磁盘页。更多的信息请检查伴随的ISAM 错误代码。可能硬件有问题,或表文件或索引文件可能被损坏。除非ISAM错误代码或操作系统信息指出其它原因,否则运行bchecksecheck实用工具来检验文件的完整性。

l         举例:

l         问题分析:

同时对数据库的某个表操作时没有用到索引,导致应用程序之间出现互锁现象。

l          参考解决方法:

对数据库做优化,修改表的索模式为记录锁。等待重新装载。

问题十:索引优化

问题一:修改锁模式方法

1.5SQLCODE=242

l         INFORMIX解释:

-242 不能打开数据库表< 表名>
数据库服务器不能开始读取表。更多的信息请检查伴随的ISAM错误代码。问题可能是在文件权限,硬件错误,或被损坏的系统目录等方面。除非ISAM错误代码或操作系统信息指出其它原因,否则运行bchecksecheck实用工具来检验文件的完整性。

l          参考解决方法:

参考问题五:SQLCODE=244

 

你可能感兴趣的:(Informix 数据库常用问题解决方案(1))