默认分类,Informix

Informix历史【转贴】

1980

在一家早期的S-100/CP/M公司Cromemco工作的Roger Sippl和Laura King开发了一个基于ISAM技术的小型的关系数据库,作为一个报表记录器软件的一部分。

1980年,Sippl和King离开Cromemco去开发关系数据库系统(RDS)。他们的第一个产品叫做马拉松(Marathon),本质上是一个他们以前那个ISAM作品的16位版本,并且在Onyx操作系统上发布,这种Onyx操作系统是一个为早期的ZiLOG微处理器开发的Unix操作系统。

阅读全文»

informix JDBC对应java运行环境版本

客户使用informix(gbase 8t)数据库时,使用JDBC方式访问数据库,通用会碰到版本对应关系的问题,以下是4.10版本和jre的对应关系:
4.10JC1-4.10JC3 支持使用JRE1.5及以后,支持数据库10.00,11.10,11.50,11.70及12.10
4.10JC4-4.10JC5 支持使用JRE1.6及以后,支持数据库11.50,11.70及12.10
4.10JC6及以后 支持使用JRE1.7及以后,支持数据库11.50,11.70及12.10

阅读全文»

informix(gbase 8t)内部用户使用示例

informix从11.70开始支持内部用户,以下以gbase8t(informix 12.10)为例示范如何使用内部用户(mapping user)

1,配置allowed.surrogates

在/etc/informix目录(如没有,使用root用户创建)下创建allowed.surrogates配置文件,内容如下:

USERS:daemon

阅读全文»

Informix与db2排序时null值处理

客户的数据库从db2迁移到gbase 8t/informix,在测试存储过程中,发现存储过程能正常执行,但结果却是不正确的。
按存储过程中的SQL语句逐条执行对比,发现在使用到

SELECT ROW_NUMBER()OVER(PARTITION BY FID ORDER BY MID) AS PX,MID,FID  FROM FTAB

时,结果出现不一致。

阅读全文»

Informix使用Java UDR的方法

操作系统:RHEL 6U4 64bit
数据库版本:Informix 12.10.FC6X5

Informix数据库支持C和JAVA写的用户自定义例程(UDR),以扩展用户对数据库的操作的功能。以下简单示例创建Java UDR的方法。

阅读全文»

关于informix的offset含义

在创建dbspace中,-o 参数指定的是chunk相对于设备的开始的offset,其单位是KB。
当-o 0 时,表示从设备的开始位置初始化设备;
当-o 不为0时,需要考虑-k 参数的影响:
当-k 不指定(使用默认值时),在onstat -d 的输出中,offset的显示的是页数(需-o的值除于页大小)
当-k 指定时,如页大小为2KB,-k指定为4,即页大小为8KB,此时在onstat -d的输出中,offset页的是基础页大小(默认大小)的页数(-o的值除于基础页大小)。
总的来说,offset只跟基础页大小相关!

对于页大小的统计,在一些系统表中也是使用基础页大小。谨记!

Informix删除记录的过程(delete row)

数据库版本:12.10.FC6X5
操作系统:RHEL 6U4 64bit
目的:通过onlog命令熟悉删除记录时的数据库内部操作过程

执行delete操作更新记录

[informix@rhel6u4 temp]$ dbaccess testdb -

Database selected.

> delete from ttt where col1 = 1;

1 row(s) deleted.

然后通过onlog -n <逻辑日志编号> 的输出,可知数据库内部需要完成如下操作:
请输入图片描述

1、开始事务
BEGIN(begin work):包含事务号、开始时间、用户;
2、从表中删除记录
HDELETE(Delete home row):
3、从blob页中删除text
PBDELETE(Delete tblspace blobpage):
4、从索引中删除记录
DELITEM(Delete item from index):
5、完成操作,提交
COMMIT(commit work): 包含提交时间。

Free Web Hosting