INFORMIXOnLine故障诊断与排除.doc
《INFORMIXOnLine故障诊断与排除.doc》由会员分享,可在线阅读,更多相关《INFORMIXOnLine故障诊断与排除.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、INFORMIX-OnLine故障诊断和排除(1)系统不能进入静态方式-摘自互联网开放系统以其无和伦比能力连接不同计算机软件,硬件。在这种环境下,诊断问题时就需要关注问题全局和细节。本文就如果诊断INFORMIX-Online问题给出了良好建议。诊断问题症状系统管理员诊断问题时首先要定义问题症状。 系统是否难于进入静态(quiescent)状态? 是否有非正常结束INFORMIX系统进程? 系统进程是否定期挂起? 下面讨论指出如何定位系统问题,讨论可能起因,并对这些问题解决提出建议。系统不能进入静态方式该症状常常伴有一条错误信息。一般错误是:tbinit:fatal error in shar
2、ed memory creation (共享内存生成时有严重错误)检查系统初始化时定义系统日志文件来发现错误出处。该日志缺省名为$INFORMIXDIR/online.log。在此文件中会看到和下面相近信息:16:00:56 Cannot Open Primary Chunk /dev/turbo_root,errno = 1316:00:56 Cannot Open Primary Chunk /dev/turbo_root,errno = 1316:00:56 I/O error,Primary Chunk dev/turbo_root - Offline16:00:56 I/O lsee
3、k() chunk 1,pagenum 0, pagecnt 1 -errno =916:00:56 INFORMIX-Online Stopped这些错误是由UNIX权限问题造成。OnLine产品需要由root来安装。系统部分可执行程序应属于root或者root有权限。所有INFORMIX系统文件属主及权限都应该记录在$INFORMIXDIR/etc/onlinefiles中。检查所有OnLine文件权限,属主,属组是否正确。也应检查chunk权限,保证CHUNK有UNIX权限660(crw-rw-),其属主,属组为informix,建议管理员使用系统管理员实用程序tbmonitor定义On
4、Line系统配置。初始化例程自动进行权限检查,计算可利用磁盘空间,但如果配置文件是直接修改,就并非如此了。如果系统日志文件中并未记录有用错误信息,而OnLine系统刚刚升级,则应检查确认页大小(和OnLine产品一道发送缺省配置文件中定义)是否已经改变。若页大小变化了,就必须从老系统输出数据(dbexport)再将数据输入到新系统上去(用dbimport)。错误tbinit:fatal error in shared memory creation 经常伴有操作系统错误或者附加OnLine错误。这也能用来判定问题为什么会发生。下列错误说明为何共享内存不能生成。 tbinit:shmgetEEX
5、IT17: tbinit:shmgetEINVAL22: tbinit shmatEINVAL22: tbinit shmgetENOSPC28: Bad Primary Chunk /dev/devname tbinit:shmgetEEXIST17: tbinit:shmgetEEXIT17:这个错误表明共享内存段在申请内存位置上已经存在。tbinit进程从环境变量TBCONFIG指定文件读取配置。若TBCONFIG未指定,tbinit从$INFORMIXDIR/etc/tbconfig文件读取配置。一旦获取配置信息,tbinit派生一个子进程,它将成为tbinit后台进程。tbinit后
6、台进程用唯一SERVERNUM值做一部分输入值来计算共享内存键值,唯一SERVERNUM值确保每个OnLine系统生成自己特定共享内存空间。仔细检查以保证文件配置正确,SERVERNUM值唯一。tbinit:shmget EINVAL22:or tbinit:shmatEINVAL22当无效参数传递给UNIX调用时,UNIX产生错误。用OnLine术语来说这意味着tbinit申请共享内存未被分配。一旦UNIX接受SERVERNUM和共享内存键值,tbinit便可将Online共享内存段附加在它虚拟地址空间上。虚拟地址,共享内存段要附加tbinit(或其他用户进程)内存空间是由SHMBASE定义
7、。若SHMBASE值不合法,或申请共享内存大于共享内存核心参数允许值时,或共享内存段由于边界对齐问题而无法连续分配时,UNIX会认为传给共享内存附加调用内存值是无效。现在对UNIX核心参数作一回顾,以下描述时有关共享内存配置参数。核心参数SHMSIZE 是操作系统范围内共享内存段最大值(以k为单位)。SHMMAX 是操作系统范围内共享内存段最大值(以字节为单位)。SHMMIN 是操作系统范围内共享内存段最小值(以字节为单位)。SHMMNI 是操作系统范围内共享内存标识最小数值。SHMLBA 是共享内存低段地址,也就是附加共享内存边界地址SHMSEG 是每个进程附加共享内存段最大数目。SHMAL
8、L 时系统范围内共享内存最大量。信号灯分配参数SEMMNI 是操作系统范围内信号灯标识最大值SEMMNS 是操作系统范围内信号灯最大值SEMMSL 是每个标识信号灯最大值。参数值定义SHMALL*操作系统页大小全部可能共享内存(以字节为单位)。SHMMAX=SHMSIZE*1024.SHMMNI*SHMMAX=操作系统范围内可编址共享内存(以字节为单位)。SHMSEG*SHMMAX=一个操作系统进程可编址共享内存(以字节为单位)。参数设置指导:规则1 SHMALL * 页大小 = SHMSEG * SHMMAX规则2 SHMALL * 页大小 SHMNI * SHMMAX规则3 SHMMSL
9、= 主机用户进程数/25规则4 SHMMAX SHMLBAtbinit: shmgetENOSPC28:当系统申请空间,而设备已满时,UNIX产生该错误。UNIX申请共享内存交换区,保证交换空间驻留设备上有足够空间。没有足够共享内存ID时也会发生错误,检查系统SHMMNI核心参数。Bad Primary Chunk /dev/devname由于控制器,硬件或者权限问题,使得向chunk写失败时,Online标记该chunk为down,这样做目是为了通知管理员数据完整性已经被破坏,检查系统日志文件中I/O错误。以下是典型硬件I/O错误例子:I/O error,Primary Chunk /dev
10、/rdsk/devname - OfflineI/O read(),Chunk 2,pagenum 272714,pagecnt 1 -errno =5I/O write() chunk 2,pagenum 2,pagecnt 1 - errno = 5发生I/O错误时,检查控制器和硬件。许多UNIX系统提供检查未安装原始设备低级别实用程序,不要在未安装原始设备上使用fsck命令,这是因为fsck会覆盖设备上存储信息,为恢复系统,INFORMIX建议管理员恢复最后存档,用日志恢复失败了写操作。一旦共享内存初始化完成,物理日志从上一次检查点开始检查物理日志前象,如果该记录存在,开始FAST RE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INFORMIXOnLine 故障诊断 排除
限制150内