网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > 其它数据库 > Informix Online 数据库维护技巧  

Informix Online 数据库维护技巧

2006-06-18  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏

一、 数据库查询用户的建立

  银行Informix_on_line数据库由于存储了储户的大量重要信息,为了数据库的安全性必需要对数据的操作有严格的规定,如进入on_line数据库要履行严格的手续,这在某些时候又给查找问题带来不便,因此有必要专门建立一个动态查询用户,该用户仅有对数据库的可读权限。
  具体做法是:
  1.建立查询用户,该查询用户应具有数据库使用的环境
  2.将查询用户与数据库作连接(work用户为例)
  ln-s/homel/work/homel/read(将查询用户read与数据库用户作连接);
  3.由work用户使用数据库,将connect权限赋予read用户
  grant connect to read;
  4.对数据库中每一张表放select权给read用户

网管u家www.bitscn.net


  grant select on abc to read.(将select权限赋给read用户)
  这样,以read用户注册,对数据库拥有了可读操作,给查找问题等带来方便。

二、 数据库一致性检查

  a.以informix登录
  b.将数据库状态置为off_line
    onmode-ky
   用onstat-检查数据库状态为off_line
  c.将数据库状态置为单用户模式
  onmode -s
  用onstat-检查数据库状态为quiesent
  d.检查数据库保留页状态
  oncheck-cr 1>/tmp/oncheck.cr 2>&1
  e.检查数据库目录页一致性
  oncheck-cc 1 >/tmp/oncheck.cc 2>&1
  f.检查数据库数据的一致性
中国网管论坛bbs.bitsCN.com

  oncheck-cD workdb 1>/tmp/oncheck.cd 2>&1
  g.检查数据库索引的一致性
  oncheck-cI workdb 1>/tmp/oncheck.ci 2>&1
  h.检查/tmp下oncheck.cr,oncheck.cc,oncheck.cd,oncheck.ci文件,查看有无错误信息,如没有,则数据库状态正常,反之亦然。
  i.将数据库状态置为online
  onmode-m
  用onstat-检查数据库状态为online

三、 数据库的备份与恢复

  1.dbexport备份与dbexport恢复
  dbexport备份是一文体文件备份,该备份将数据库中信息以文本文件方式保存,要注意的是,在备份时必须保证没有对数据库有访问者,否则做dbexport不会成功,dbexport备份的一般格式为(以数据库workdb为例) 网管u家www.bitscn.net
  dbexport workdb-d -s workdbs /path
  2.dbimport恢复是将用dbexport备份的文件恢复到数据库
  a.停止一切数据库操作→删除数据库
  b.$dbimport workdb-d workdbs -i/path;
  c.用工具onmonitor将参数TAPEDEV改为/dev/null;
  d.ontap -s -u workdb.
廯 e.检查workdb是否改为U状态.
  f.将TAPEDEV值改回原先的值.
  需要指出的是在dbimport恢复过程中,有大量的信息要写在逻辑日志文件中,采用上述方式,可避免写逻辑日志文件,加快dbimport的速度。
  3.数据库的零级备份
  数据库零级备份是重要的备份手段,日常一般用磁带备份,经常用于做重大操作之前的备份,数据往往需要恢复,而磁带上的零级备份数据由于数据量大,恢复起来花费时间较长,因此,可采用在硬盘上做零级备份的办法。
  a.在硬盘上划一个足够大的空间,用于备份文件的存放。

网管联盟bitsCN_com


  b.用onmonitor将参数TAPEDEV改定指向零级备份文件。
  如把/cs2000在作为零级备份文件oback的存放空间,可将参数改为TAPEDEV=/cs2000/oback,这样可做硬盘零级备份,备份恢复时间只是磁带机的1/6。在恢复过程中应该用tail -f online.log监控。恢复过程,一直到数据库状态变为online..
  c.将参数TAPEDEV=/cs2000/oback改为TAREDEV=/dev/rmt/0m;

四、 数据库常见故障处理

  检查:用onstat_-1检查逻辑日志的使用情况,是否中止进程,根据finder col.数据库故障的一般检查,首先要检查数据库状态,经常用onstat_de查找可能出现的错误,同时检查online.log是否报错。
  2.数据库表的跟踪:遇到在对数据库表作大规模操作时,有时我们不知道对该表的操作是否得以在继续进行,因为isql进入,操作该表,数据库报“该表已被锁”信息,这时可用查询语句:
网管下载dl.bitscn.com

  首先:set retrieved to drity read
  然后:select count(*)from abc,
  通过不断对abc表进入统计,如统计数在不断增加,则对该表的操作仍在进行,否则,以停止了对该表的操作。还有,当批量执行SQL命令,如update,……insert等时如不能成功执行,可采用增加判断条件,缩小范围的方法去执行,往往可以获得成功,遇有些语句涉及的记录在处理过程中被锁定,直到处理过程结束可能超过系统关于同时锁定界限,遇这种错误,可以在开始处理时锁定该表。
  3.故障排除举例:
  故障现象:在银行批量结息向结息数据表插入记录时出现informix sqlcode错误号为-239。
  故障检查:经查,从现象看,似乎有重复记录插入表中,但经核查数据,可以肯定数据绝无重复记录,考虑到表文件长期使用,表文件的相关信息受到某种破坏,为此,做以下操作:
  a.unload to “/tmp/abc.txt”select*from abc.卸出abc中全部数据;
  b.drop table abc.(删除表文件abc);
  c.create tabk abc
  (abc_swo mteger;
  abc_ano smallint)
   …
  );建立数据库表文件abc. 网管联盟bitsCN_com
  d.load form“tmp/abc.txt”insert into abc.
  (将原数据装入表文件abc中)。
  e.重新执行结息操作,新产生的结息数据顺利装入表文件abc中,故障得以排除。
  作为计算机技术人员,熟悉数据库的操作,掌握一些操作技巧和方法对于我们解决工作中遇到的问题,查找错误,是十分有帮助的。


  
 
TAGs技巧   维护   数据库   备份   检查   操作   状态   恢复    
 上一篇:Informix SQL 语句详解 (1)   下一篇:Informix动态服务器配置--7.经验:系统提示.so等找不到
Informix Online 数据库维护技巧 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: