Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91088502
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-21 00:12:26

作者:oldbank  出处:
-126        ISAM错误: 错误的行 id。

ISAM处理器被要求使用某一行的物理位置来检索它,但是在那个位置却找不到。对
C-ISAM程序,如果使用记录号进行存取,检查在isrecnum中存储的数据;它是无效
的。否则当前的索引可能已被损坏;运行bcheck或secheck实用工具。对SQL产品,
索引已被损坏;如果你正在使用INFORMIX-SE数据库服务器,运行bcheck或secheck
实用工具来检查和修复索引。如果使用的是INFORMIX-OnLine数据库服务器,运行
tbcheck。如果使用的是INFORMIX-OnLine 动态服务器,运行oncheck。

-127        ISAM错误: 没有主键。

ISAM处理器的一个函数被调用,该函数需要一个唯一的主键索引,但是该文件没有这
样的索引。对C-ISAM程序,检查数据文件的设计;它是用零部分主索引建立的,(就
是说,使用记录号序列检索)。如果不是上述情况,索引可能已被损坏;运行bcheck
或secheck实用工具。如果错误重复出现,请记录所有的环境并与Informix 技术支持
部联系。

-128        ISAM错误: 没有日志。

ISAM处理器的一个函数被调用,该函数需要一个事务日志,但该文件没有日志。对
C-ISAM程序,检查数据文件的建立。在使用象isbegin这类函数之前,程序必须用
islogopen设置一个日志。对 SQL产品,这个数据库不支持事务日志。如果你正在使用
OnLine数据库服务器,请系统管理员允许此数据库进行日志操作。否则,使用START 
DATABASE语句开始事务日志。在所有情况下,日志只能在数据库完全备份后马上
开始。

-129        ISAM错误: 过多的用户。

ISAM的实现使用了共享内存,配置时已经达到为共享内存所规定的最大并发用户数。
你可能需要增加ONCONFIG文件中的参数USERTHREADS和TRANSACTIONS的值。
如果问题再次出现,与系统管理员或是安装此产品的人联系。

"用户"这个词可能会使人误解;实际上是对使用数据库服务器的并发的应用程序个数
有限制。一个用户可以同时启动多个应用程序。例如,当用户启动 INFORMIX-4GL程序
员环境时,它打开一个与数据库服务器的会话。当用户发出命令编译一个4GL程序时,
4GL编译器被启动并且还打开一个与数据库服务器的会话。在编译期间,用户有两个
会话在运行。

-130        ISAM错误: 没有这个dbspace。

这个代码指出下面两个问题之一。最可能的问题是这个操作以名字指定了一个
dbspace(例如在CREATE TABLE语句的IN子句中或是在环境变量DBSPACETEMP的
设置中),但这个名字没有被定义。你可以运行带有-d选项的tbstat或onstat实用
工具来查看已定义的dbspace的名字。请求OnLine管理员建立一个新的dbspace。

如果操作并没有显式地命名一个dbspace或是该名字是正确的,问题就比较严重了。该
错误可能反映了根dbspace的保留页被损坏。使用实用工具tbcheck或oncheck的-cr
选项来查看这个情况。

-131        ISAM错误: 没有可用的磁盘空间。

没有足够的连续可用的磁盘空间来完成当前的操作。对 C-ISAM 程序,如果正在使用
事务日志,滚回当前事务。腾出一些可用的磁盘空间并重新运行程序。对 SQL产品,
如果可能的话,滚回当前事务。与系统管理员联系以给数据库获得更多的磁盘空间。

-132        ISAM错误: 行尺寸太大。

单一行的尺寸极限是OnLine所支持的磁盘页大小。用不同的方法来定义表,以使得每
一行短一些。考虑把该表分割成两个或更多的表,或使用更加紧凑的数据类型。

-133        ISAM错误: 审计跟踪已存在。

ISAM处理器被要求以一种与审计跟踪不兼容的方式对文件进行操作,但是该文件的审
计跟踪已经存在了。对C-ISAM程序,在审计跟踪存在时,你不能调用iscluster。首先
用AUDSTOP方式调用isaudit。对 SQL产品,在一个表有审计跟踪时,你不能给该表建
立聚类的索引,先使用DROP AUDIT命令取消审计跟踪。

-134        ISAM错误: 没有更多的锁。

ISAM处理器需要锁定一行或一个索引页但是已没有可用的锁了。一个操作所需要的锁
的个数主要取决于在一个事务中改变的行的个数。你可以通过减少每个事务所修改的
行数来减少一个操作所需的锁的个数,或通过锁定整个表来代替锁定行。可用的锁的
个数根据你所使用的实现可能在下面三个位置之一被配置:操作系统核心;共享内存
段;或是OnLine。向你的系统管理员咨询如何获得更多的锁。

-135        ISAM错误: tblspace不存在。

这个错误可能表明根的dbspace控制信息被损坏。这是一个严重的错误,需要从档案上
恢复系统。简单地说,滚回当前的事务并且终止应用程序。然后OnLine管理员应该
运行tbcheck或oncheck实用工具。

-136        ISAM错误: 没有更多的区间

OnLine数据库服务器需要给一个表增加一个区间,但是不能做到这一点。或者,在
dbspace中没有足够的磁盘空间,或者,该表已被给定了一个可允许的扩展数的最大
值。OnLine管理员可以按如下方法确定原因:

    1.  确定表的tblspace数目。这个值为该表在systables表中所对应的
        partnum列值。

    2.  将tblspace数目转换成16进制并提取其最高的两位数字(高字节)。
        这个大块号指出该表所在之处。

    3.  使用tbstat或onstat实用工具的-t选项来找出这个表的磁盘使用情        况。
        特别注意报告的npages(可用的磁盘页),nused(已使用的磁盘页)和
        nextns(区间个数)的值。

如果nused小于npages并且nextns很大(200以上),那么表就拥有过多的区间。每个表
可以拥有的区间数的上限在200到50之间,该上限随表的定义和使用的磁盘页大小的
不同而不同。重新分配表,使用较少但是较大的区间。把表的数据卸载到一个平文件
上,取消该表,重新建立表,指定第一个区间大小应足够装入它现在所有的数据,下
一个区间大小在当前大小的四分之一和六分之一之间。然后把数据重新装入到表中。

如果nextns比较小或是npages和nused之间的差距比表的下一个区间还要小,表所在的
dbspace没有足够的磁盘空间。使用步骤2的大块号和DB-Monitor或ON-Monitor的
Chunks显示来确定dbspace,然后给该dbspace增加一个新的大块。

-137        ISAM错误:大块表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
磁盘大块。这个最大数目的极限已经达到,所以这个大块不能被增加。增加TBCONFIG
或ONCONFIG文件的CHUNKS参数并初始化共享内存。

-138        ISAM错误: dbspace表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
dbspace。这个最大数目的极限已经达到,所以这个dbspace不能被增加。增加
TBCONFIG或ONCONFIG文件的DBSPACES参数并初始化共享内存。

-139        ISAM错误: 日志文件表溢出。

OnLine管理员可以看到这个错误。OnLine数据库服务器被配置成只能处理一定数目的
逻辑日志。这个最大数目的极限已经达到,所以这个日志不能被增加。增加TBCONFIG
或ONCONFIG文件的LOGSMAX参数并初始化共享内存。

-140        ISAM错误: 全局部分不允许存取。

这个错误仅在VMS操作系统下发生。在初始化共享内存时发生了一个内部错误。如果错
误重复发生,请记录所有的的环境并与Informix技术支持部联系。
 
阅读(1110) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~