首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

怎么在清理Informix数据库日志

2012-03-09 
如何在清理Informix数据库日志?各位专家、高手,大家好,请问如何清理Informix的数据库逻辑日志?我用onstat-l

如何在清理Informix数据库日志?
各位专家、高手,大家好,请问如何清理Informix的数据库逻辑日志?我用onstat   -l查看了一个逻辑日志的使用情况,发现有10个逻辑日志,大小均为7500,其中9个的使用率为100%。我在运行一对账程序时(长事务程序),速度非常慢,但对账的数据只有400多笔,以前上千笔的数据对账时也只用了几十秒,所以我怀疑是逻辑日志满了造成对账时间过长,但不知如何清掉逻辑日志,释放逻辑日志空间。我试着执行ontape   -a先备份逻辑日志,但因服务器没有磁带机,备份时总是失败。请大家帮忙分析一个,如何解决这个问题?

[解决办法]
将日志文件备份指向/dev/null试试。

备份以后就就应该不大了。
[解决办法]
应该没关系了,我都是这样做的。
[解决办法]
ontape -p 删除日志


ontape应用程序提供以下功能:
申请逻辑日志backup
启动逻辑日志文件连续backup
创建archive
执行数据重装
改变数据库日志登录状态
只有注册为root或informix的用户才能执行ontape。
2. 使用说明
用户可以在shell提示符下使用ontape -- 的到简单提示。
语法如下:
ontape { -a | -c | -l | -p | -r [-D Dbspace-list] | -s [-L archive_level] [-A database_list] [-B database_list] [-N database_list] [-U database_list] }
根据功能分类说明如下:
改变日志记录(logging)的状态
ontape [-s {-A|-B|-U}|-N ] [数据库]
-s选项初始化一个档案(archive)
-A选项将指定数据库状态设置为与 ANSI兼容的日志记录方式
-B选项将指定数据库状态设置为缓冲(buffer)的日志记录方式
-U选项将指定数据库状态设置为非缓冲(unbuffer)的日志记录方式
-N选项中止指定数据库的日志(logging)
建立备份档案
首先说明备份级别,备份分为3级,它们是:
0 级备份所有有用的页
1 级备份所有上次0级备份后有变动的页
2 级备份所有上次1级备份后有变动的页
0 级备份是基础,它备份恢复数据恢复时需要的所有页,假设数据库数据遭到完全的破坏,它也能恢复备份时的全部数据,但时间较长。1级备份在0级的基础上,它备份的内容较少,但需要的时间较少,2级备份又次之。将三种备份结合起来能达到较好效果。下面是一个建议的备份时间表,可根据自己的情况建立备份时间表。
星期日0级备份
星期二、四1级备份
星期一、三、五、六2级备份
在做备份前应做好以下事情:
确保有足够的逻辑日志空间
保留一份 ONCONFIG 文件的拷贝
检验数据库一致性
确保数据库在正确的状态下(在线模式或静模式)
不做其他的管理事项
不使用后台方式(background mode)
在磁带上贴好标签
开始一次备份:
ontape -s [-L {0|1|2}]
-L 选项指定备份级别
开始自动逻辑日志备份
ontape -a
本选项在一个逻辑日志文件满后自动备份
连续的逻辑日志备份
ontape -c
本选项开始一次连续的逻辑日志备份,使用CTRL-c 可中止
恢复备份数据
有时需要恢复备份的数据,恢复有三种方式,即冷恢复(cold restore)、热恢复( warm restore)、混合恢复(mixed restore)。冷恢复在离线方式(off-line)恢复,热恢复在在线方式下(on-line)恢复,混合恢复则是先作冷恢复,再作热恢复。可以恢复全部数据,也可只恢复指定的数据空间:
ontape -r [-D [数据空间]]

[解决办法]
碰到长事务,应该是逻辑日志不够用了,建议增加逻辑日志个数,10个明显太少。
这是最简单的解决方法。
至于备份到null竟然不允许,有点怪,没碰到过。
[解决办法]
赞成 qdice007(小飞侠) 的说法,如果慢主要还是逻辑日志空间不够,逻辑日志空间对事务影响很大,所以不要轻易删除逻辑日志。而且逻辑日志是由数据库自动循环使用的,不存在满的说法,所谓满就是事务已经占据太多逻辑日志空间,已经达到吃水线了

热点排行