收藏本站 
广告服务 
网站地图 
>> 本频道近100000余篇各类电脑技术、网络技术、软件技术、网页及平面设计等方面的电脑教程,我们的原则:不是精华拒不收录!
先飞电脑技术网技术文章数据库开发Informix
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |

OnLine非正常结束后的处理方法

[ 作者:佚名    转贴自:网络转载    阅读次数:17    更新时间:2007-9-17 10:55:00   录入:刘光勇 ]        
    OnLine非正常结束时,描述有关OnLine进入脱机方式原因的信息将写入日志,下面是OnLine结束时系统日志中登陆日志的示例:

ProcessAbortedAbnormally:pid=22500user=210us=c003f15cflags=a01 

ProcessAbortedAbnormally(critialsection):pid=22500user=210flag=a01 

INFORMIX-OnLineenteringABORTmode!!!INFORMIX-OnLineStopped

日志条目显示一个进入临界状态的sqlturbo进程非正常结束,临界状态是指一个进程执行写调用而不能被中断所用的术语。如果一个进程处于临界状态时非正常结束,OnLine为保护数据完整性而进入脱机方式。当OnLine重新启动时会执行快速恢复,回滚所有未完成的事务。

如果持有锁存器(latch)的进程非正常结束,OnLine也会非正常结束。锁存器用于控制对诸如缓冲区,锁定表等共享内存资源的访问。为防止干涉其它进程申请共享内存资源,INFORMIXOnLine控制对有锁存器的资源表的访问。

虽然OnLine后台进程对夭折的进程进行日常的清理工作,但数据一致性阻止后台进程在清除过程中释放共享内存锁存器。对后台进程来说,判断用户进程是否完成对数据库的修改是不可能的。为解脱这以一困境,OnLine强制自己进入脱机方式。当OnLine回到联机(Online)方式时,自动进行快速恢复。快速恢复使OnLine达到与最后一个完成事务一致的状态。

当持有锁存器的进程结束时,会生成以下的条目:

ProcessAbortedAbnormally:pid=10743user=104us=60204cflags=21 

ProcessAbortedAbnormally(latch):pid=10743user=104flags=21 

INFORMIX-OnLineenteringABORTMODE!!! 

--OnLineAborting--us=6019a8,pid=11987,uid=1000

这些日志条目提供的信息在判定进程为何非正常结束时十分有用,条目中各域的定义如下:

pid---------sqlturboUNIX进程id 

user--------真正用户id 

us----------共享内存中用户结构的地址 

flags-------定义如下 

0x0000001------0x0000001正在使用的用户结构 

0x0000002------0x0000002等待锁存器 

0x0000004------0x0000004等待锁 

0x0000008------0x0000008等待缓冲区 

0x0000010------0x0000010等待检查点 

0x0000020------0x0000020等待读取调用 

0x0000040------0x0000040向存档磁道写逻辑日志 

0x0000080等待清除长事务 

0x0000100------0x0000080特定turbo检测用户 

0x0000200处于事务中 

0x0000400进程在回滚 

0x0000800------0x0000100处于临界状态的进程继续... 

0x0001000------0x0000200特定的后台进程 

0x0002000开始工作日志登记 

0x0004000------0x0000400存档 

0x0008000------0x0000800清除死进程 

0x0020000------0x00002000特定缓冲区刷新进程 

0x0010000------0x0002000等待逻辑缓冲区写入 

0x0040000------0x0004000该进程是远程服务器 

0x0080000该进程正完成远程任务 

0x0100000------0x0008000死锁超时 

-----------0x00010000-----普通锁超时 

-----------0x00020000-----超时等待期已结束

-----------0x00040000-----等待事务

以上的日志条目中,sqlturbo进程的UNIX进程id为10743,真正用户id为104,共享内存中用户结构的地址为0x60204c,标志显示用户结构正在使用中,OnLine引擎正处于读取调用之中(0x00000001,&0x00000020)。

这个信息可以标识非正常结束的用户,查明他或她是否遇到意外的错误,或以某种方式导致进程的非正常结束。用户不应对Informix进程使用kill-9命令。管理员可以用onmode-zpid命令中止某一个sqlturbo线索。如果进程正持有锁存器或处于临界状态,tbmode命令不会立即中止该进程。

文章首页【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“OnLine非正常结束后的处理方法”版权归文章所有者,转载请注明出处!
 ·上一篇文章:Informix Dynamic Server数据库分段存储      ·下一篇文章:掌握OnLine进程挂起后的处理办法
相关文章
·ActionScript控制语句基本用法[41]
·新手学用Photoshop的Action批处理[32]
·在数据库中安装jConnect 系统对象[56]
·备份Informix-OnLine的三个方法[109]
·怎样来正确的掌握online的备份[17]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号 先飞电脑教程网