默认分类,Informix

Informix逻辑日志和物理日志的主要作用

逻辑日志文件的作用是自上一次备份以来,数据库所发生的变化进行记录;

物理日志记录的是dbspace页的修改前的映像,物理日志记录的修改前映像代表了所有数据在物理上和逻辑上都保持一致的时间点(检查点)。

将物理日志中的修改前映像和逻辑日志中的逻辑日志结果起来,可以还原数据库自上一次检查点以来的所有事务。

Informix完全检查点基本步骤

1.阻止线程进入临界区;
2.逻辑日志缓冲区刷新到磁盘;
3.物理日志缓冲区刷新到磁盘;
4.脏数据刷新到磁盘;
5.检查点记录写入到逻辑日志缓冲区;
6.清空物理日志

Informix的时间与数值秒转换

sysmaster库中的sysptnhdr表中created字段是表的建立时间,其值是自1970-01-01 00:00:00 开始的秒数。
若我们需要获取表建立的时间,则需要进行转换,比如 to_date('1970-01-01 00:00:00','%Y-%m-%d %H:%M:%S') + created units second,但尝试执行这个时,会返回错误。

阅读全文»

Informix 11.70使用映射用户

操作系统:RHEL5U8 64bit
数据库版本:Informix V11.70FC3
操作目标:创建 通过映射用户(MAPPED USER)使用数据库内部用户(Internal User) 访问Informix数据库
说明:映射用户功能是11.70中新增加的功能,是对数据库用户管理的增强。

1、指定映射用户使用的系统用户代理

使用root用户创建/etc/informix/allowed.surrogates 文件,内容格式如下:

USER:ifxuser
GROUP:informix

阅读全文»

HDR断开后,备机无法正常恢复

在一个操作系统为AIX5.3,数据库版本为10.00FC5的环境中:
HDR备机关闭,然后主机切换至标准模式,想再启动备机到标准模式(当前DRAUTO参数为2),按照规则备机应当自动恢复至主用模式再转换到标准模式。但本次原备机启动时一直处理Fast Recovery(Sec) 状态,手工执行onmode -d standard后,该命令无法执行完成,状态改变成了 Quiescent ,无法进一步操作(包含onmode -ky)。

阅读全文»

AIX5.3安装配置Informix 11.50无法创建大于2G dbspace问题

操作系统版本:AIX 5300-12-01-1016
数据库版本:Informix V11.50FC9

数据库安装一切顺序,初始化正常(rootdbs等空间大小均使用祼设备,且小于等于2GB(2048000)),然而在创建一个4G的dbspace时报错。

informix> onspaces -c -d demodbs -p /opt/informix/dbs/demodbs -o 40 -s 4000000

Verifying physical disk space, please wait ...

The chunk ' /opt/informix/dbs/demodbs ' will not fit in the space specified.

online.log中的报错信息为:

WARNING: mt_aio_wait: errno == EINVAL

核对机器文档上的系统要求ids_machine_notes_11.50.txt,操作系统要求明显高于要求,且提到的几个fix都包括:
instfix -ivk IY66195
instfix -ivk IY71363
instfix -ivk IY83580
Portable Streams Environment (PSE)
strload -q
和Asynchronous IO (AIO) 都是正常的。

在网上搜了好长一段时间关于WARNING: mt_aio_wait: errno == EINVAL信息,有提到使用SDS的BUG,或者951密码错误方面,或者block块大小不一致的问题,均不符合当前要求。偶而发现一个aix5.3下安装11.50的问题http://wworacle.blog.163.com/blog/static/212687252008107291871 ,虽然问题不同,忽然一想,莫非也是系统内核问题?于是将内核改成64位。
原bootinfo -K 为32,bootinfo -y 为64

转换到64位内核

ln -sf /usr/lib/boot/unix_64 /unix
ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
bosboot -ad /dev/ipldevice

然后重启系统,bootinfo -K 输出为 64

启动数据库,再次增加4G的dbspace正常成功

informix>onspaces -c -d demondbs -p /opt/informix/dbs/demodbs -o 40 -s 4096000
Verifying physical disk space, please wait ...
Space successfully added.

** WARNING **  A level 0 archive of Root DBSpace will need to be done.

总结: informix 11.50 64位版本在aix上安装需要64位的硬件系统和64位的内核,同时需要满足数据库对操作系统的要求。

Informix数据库HDR升级启示

在一次数据库HDR升级中(从10.00FC7升级到11.50,操作系统为HP-UX 11.31 IA64),使用备机先升,主机为备份的方式(HDR断开前,主机仅允许select操作,其它操作业务关闭)。

阅读全文»