Informix迁移工具
1. 前沿
总体上说,数据库迁移主要分为二进制迁移和文本迁移
2. 二进制迁移
二进制迁移使用的工具是ontape、on-bar、onunload等。
2.1 迁移环境
源数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE
目标数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE
数据库名:test
表名:testtable
表中记录:1972124条数据
2.2 迁移步骤
设置备份路径
?将onconfig文件中的TAPEDEV和LTAPEDEV的路径分别设置为/home/Informix/tapedev、/home/Informix/ltapedev
在源服务器上制作最终的0级备份
?ontape –s –L 0
使源数据库服务器脱机
?onmode –ky
将备份文件、onconfig、sqlhost以及环境变量的setenv1170文件均拷贝到目标服务器的相应位置(注意更改sqlhost文件中的ip地址栏位)
在目标服务器上安装IDS软件
在目标服务器上的相应位置建立与源数据库服务器相同的chunk文件并更改权限
在目标服务器上使用ontape –r命令恢复数据
恢复完毕之后,目标服务器自动启动到静默模式,更改使其进入联机模式 制作目标服务器的最初0级备份
3. 文本迁移
在数据库之间迁移,即将数据移动到不同操作系统上的数据库服务器中3.1 文本迁移中移动数据可以使用的传输工具和实用程序
-dbexport和dbimport
-onload和onunload
-load和unload
-dbload
-external table
-high performance loader(HPL)
这些工具有各自的优点和限制。综合考虑所有因素,选择适合环境的工具或实用程序
3.2 迁移环境
源数据库版本:IBM Informix Dynamic Server Version 11.50UC5
目标数据库版本:IBM Informix Dynamic Server Version 11.70UC5
数据库名:test
表名:testtable
表中记录:1972124条数据
3.2 文本迁移的步骤
使用on-bar on-archive或ontape来制作最终的0级备份(可选)
请选择以下某一迁移实用程序集来卸载数据库:
Dbexport和dbimport
Unload、dbschema和load
Unload、dbschema和dbload
安装并配置目标数据库服务器。
使目标数据库联机
使用dbimport、load或dbload或外部表将数据库装入目标数据库服务器
制作目标数据库服务器的最初0级备份
运行upstate statistics来更新目标数据库服务器用来规划有效查询的信息4. 数据的移动
4.1 移动数据前考虑因素
更改配置参数和环境变量(如设置PATH INFORMIXDIR和INFORMIXSERVER)
内存和数据空间的需求量
数据的组织
是否想要更改数据库模式以容纳更多信息,为增长提供空间或提高性能4.2 数据迁移工具
dbexport和dbimport
dbload和onload
unload和load
external table
High-Performance Loader(HPL)
?注意:
当从非informix数据源导入数据时,可以使用以下工具:
dbimport和dbload
HPL
IBM Informix Enterprise Gateway产品
4.3 数据迁移工具之间的比较
4.3.1 dbexport和dbimport
向存储在磁盘或磁带中的文本文件导入或导出数据库
导出的文件中包含数据文件和模式文件并且会再当前目录中创建名为dbexport.out的消息文件。此文件包含错误消息、警告以及它生成的SQL数据定义语句的显示
会以互斥方式锁定数据库变为没有日志的数据库了
有日志的数据库倒过去之后
●优点
?可以修改数据库模式并更改数据格式(比如将int类型改为char 给数据库中的表改名还要将unl文件名字改掉)
?可以在操作系统间移动数据
?可选的日志记录功能
?可以从非informix数据源导入数据
●缺点
?速度比dbload快,但比onload慢
?移动整个数据库
●用法
目标选项
Dbimport输入文件的位置
grant dba to "informix";
{ TABLE "informix".testtable row size = 102 number of columns = 7 index size = 0 }
{ unload file name = testt00103.unl number of rows = 1972124 }
create raw table "informix".testtable
(
fname char(20),
lname char(20),
company char(20),
address char(20),
city char(15),
state char(2),
zipcode char(5)
);
revoke all on "informix".testtable from "public" as "informix";
revoke usage on language SPL from public ;
grant usage on language SPL to public ;
dbexport completed
real 0m8.841s
user 0m2.622s
sys 0m0.753s
2. 将导出数据拷贝到目标服务器:
[informix@vm1 ~]$ scp -r dbexport/ vm2:/home/informix/
3. 使用dbimport导入数据:
[informix@vm2 ~]$ cd dbexport/
[informix@vm2 dbexport]$ dbimport test
{ DATABASE test delimiter | }
grant dba to "informix";
{ TABLE "informix".testtable row size = 102 number of columns = 7 index size = 0 }
{ unload file name = testt00103.unl number of rows = 1972124 }
create raw table "informix".testtable
(
fname char(20),
lname char(20),
company char(20),
address char(20),
city char(15),
state char(2),
zipcode char(5)
);
revoke all on "informix".testtable from "public" as "informix";
revoke usage on language SPL from public ;
4.3.2 dbload
●将数据从一个或多个文本文件传送到一个或多个现有表中●装入期间会进行表锁定
●优点
?可以修改数据库模式
?可以在操作系统间移动数据
?可选的日志记录功能
?适中的易用性
?可以从非informix数据源导入数据
●缺点
?速度比dbexport、dbimport、onload慢
2. 使用dbschema实用程序捕捉表模式和行类型必须使用-ui/-ua/-uia/all 选项来获
得命令行类型
[informix@vm1 dbload]$ dbschema -d test -t testtable -q > dbload.sql
real 0m0.416s
user 0m0.005s
sys 0m0.027s
3. 将使用unload导出的数据以及使用dbschema导出的模式文件拷贝到目标服务器[informix@vm1 dbload]$ scp unload vm2:/home/informix/
[informix@vm1 dbload]$ scp dbload.sql vm2:/home/informix/
3. 使用dbaccess在目标服务器中重建表模式(数据库名在目标服务器中要拥有)[informix@vm2 ~]$ dbaccess test dbload.sql
real 0m0.027s
user 0m0.008s
sys 0m0.005s4.
4. 创建dbload命令文件(unload为数据导出的文件名7为每个数据行的字段数)
Vi command.
file unload delimiter '|' 7;
insert into testtable;
5.运行dbload命令
time dbload -d test1 -c comm -l errlog
real 2m11.003s
user 0m10.564s
sys 0m3.325s
导入导出共计耗时:141.021s
4.3.3 onunload和onload
●将数据库中的数据卸载到磁带或磁盘中的文件中;将通过onunload命令创建
的数据装入到数据库服务器中
●以二进制格式和页大小为单位复制数据windows 4K linux 2K
●在使用onload和onunload实用程序之前,必须将压缩表和分段表中的数据
解压缩
●允许对表进行select和update
●
●
●优点
?速度快可选的日志记录功能
●缺点
?只在同一操作系统上具有相同版本的数据库服务器间移动数据?无法修改数据库模式
?使用难度大
?不可用于SE 7.22-7.25 SE 5.1或更早版本
1. 使用onunload实用程序下载数据
[informix@vm1 ~]$ touch onunload
[informix@vm1 ~]$ onunload -t /home/informix/onunload test
Please mount tape and press Return to continue ...
Please label this as tape number 1 in the tape sequence.
real 0m18.873s
user 0m0.005s
sys 0m0.010s
2.将下载的数据拷贝到目标服务器
[informix@vm1 ~]$ scp onunload vm2:/home/informix/
3.使用onload实用程序将数据上传(在目标端此数据库应该是不存在的)[informix@vm2 ~]$ onload -t /home/informix/onunload test
Please mount tape and press Return to continue ...
The load has successfully completed.
real 0m54.308s
user 0m0.005s
sys 0m0.020s
4.3.4 unload和load语句
●卸载和装入指定的行
●会产生长事务需要将其多次提交
●Unload不锁表load会锁表并产生长事务
●优点
?可以修改数据库模式
?可以在操作系统间移动数据
?易于使用
?可选的日志记录功能
●缺点
?只接受指定的数据格式
●案例
1.使用unload语句将表卸载到输出文件
[informix@vm1 ~]$ mkdir dbload
[informix@vm1 ~]$ cd dbload
[informix@vm1 dbload]$ vi unload.sh
dbaccess test < unload to "/home/informix/dbload/unload" select * from testtable; EOF [informix@vm1 dbload]$ sh unload.sh Database selected. 1972124 row(s) unloaded. Database closed. real 0m9.575s user 0m3.122s sys 0m0.981s2. 2. 使用dbschema实用程序捕捉表模式和行类型必须使用-ui/-ua/-uia/all 选项来获得命令行类型 [informix@vm1 dbload]$ dbschema -d test -t testtable -q > dbload.sql real 0m0.416s user 0m0.005s sys 0m0.027s 3. 将使用unload导出的数据以及使用dbschema导出的模式文件拷贝到目标服务器[informix@vm1 dbload]$ scp unload vm2:/home/informix/ [informix@vm1 dbload]$ scp dbload.sql vm2:/home/informix/ 3. 使用dbaccess在目标服务器中重建表模式(数据库名在目标服务器中要拥有)[informix@vm2 ~]$ dbaccess test dbload.sql real 0m0.027s user 0m0.008s sys 0m0.005s4. 4.在目标服务器中使用load语句导入数据 [informix@vm2 ~]$ vi load.sh 4.3.5 external table 最大化的利用I/O利用率11.7基本上百分之百利用I/O ●优点 ?快速重建大数据量的表 ?在线增量数据加载入库 ●缺点 External table不支持 –Index –Primary key ,unique key, foreign key –Trigger –Merge 语句的目的表 –一个查询语句中只能含有一个外部表(表关联的时候不能是外部表和外部表) –不能作为outer join的outer tabname –Update和delete语句 –load from ./orders.unl insert into orders_ext –Alter table 语句 –Grand, revoke语句 –LBAC –… ●介绍: IDS 11.5.xC6 的新特性 一个正常的表是由informix进行存储管理即表的数据是通过informix自身进行管理,而外部表是以操作系统文件方式管理 支持files和named pipe 支持所有的数据类型 可以通过sql接口进行访问IDS外部的数据 高性能ETL工具 利用SQL语句简单快速随大数据集合的导入、导出处理 ●定义外部表的数据对应的格式: DELIMITED 符号分隔列的文本格式 INFORMIX Informix内部的格式,是一个二进制的格式 FIXED 固定长度的格式 ●两种模式: DELUXE 在表有indexes和unique约束的情况下,自动更新索引和检查约束,提供快速并行loading 使用单条记录insert方法来load数据,处理index和每一行 数据,只对处理的记录锁定,目标表的其他记录可以被同时 访问 当下列情况下使用该模式: 重建index的代价非常高 当需要使用delete释放的空间 其他用户同时访问该表的记录 EXPRESS 能提供最高效的load 空载的情况表是空表 使用light-append,绕过buffer pool,只对raw table+no index 有效 Load数据时,系统自动对表加“exclusive”锁,其他用户不 可以访问该表 当导出的表中的数据绕开buffer 直接将数据导入到外部表 对应的磁盘中 开并发裸表 Systables tabtype为E的 案例 1.建立外部表 create external table testtable_ext sameas testtable using ( datafiles("DISK:/opt/IBM/informix/test/external_table/testtable%(1..4).unl"), format "delimited", DELIMITER "|", DELUXE, rejectfile "/opt/IBM/informix/test/external_table/testtable_rejfile.err", maxerrors 100 ); 2. 把数据unload到数据文件 [informix@vm1 ~]$ vi exter.sh dbaccess test < insert into testtable_ext select * from testtable where 1=1; EOF [informix@vm1 ~]$ time sh exter.sh real 0m11.528s user 0m0.005s sys 0m0.029s 3. 将unload的数据文件都拷贝到目标服务器 [informix@vm1 ~]$ cd /opt/IBM/informix/test [informix@vm1 test]$ scp -r external_table/ vm2:/opt/IBM/informix/test/ 4. 使用dbschema实用程序捕捉表模式和行类型必须使用-ui/-ua/-uia/all 选项来获 得命令行类型 [informix@vm1 dbload]$ dbschema -d test -t testtable -q > dbload.sql real 0m0.416s user 0m0.005s sys 0m0.027s 5. 将dbschema导出的模式文件拷贝到目标服务器 [informix@vm1 dbload]$ scp dbload.sql vm2:/home/informix/ 6. 使用dbaccess在目标服务器中重建表模式(数据库名在目标服务器中要拥有)[informix@vm2 ~]$ dbaccess test dbload.sql real 0m0.027s user 0m0.008s sys 0m0.005s4. 7. 在目标服务器建立相同的外部表 create external table testtable_ext sameas testtable using ( datafiles("DISK:/opt/IBM/informix/test/external_table/testtable%(1..4).unl"), format "delimited", DELIMITER "|", DELUXE, rejectfile "/opt/IBM/informix/test/external_table/testtable_rejfile.err", maxerrors 100 ), 8. 把文件数据load到目标服务器 [informix@vm2 ~]$ vi exterload.sh dbaccess test < insert into testtable select * from testtable_ext where 1=1; EOF [informix@vm2 ~]$ time sh exterload.sh real 0m9.797s user 0m0.007s sys 0m0.010s 导入导出共计用时21.768s 4.3.6 High-Performance Loader(HPL) ●从符合某些格式要求的任何ASCII或COBOL文件装入数据 ●优点 ?对于特大型数据库,与其他IBM Informix数据迁移实用程序相比具有性能优势,因为它以并行方式执行I/O和代码集转换 ?可以修改数据库模式 ?可以在操作系统间移动数据 ?可以从非informix数据源导入数据 ●缺点 ?需要较长的准备时间 ?不可用于:SE 7.22-7.25 SE 5.1x Online 5.1x ●简介 ?HPL由onpload实用程序、ipload和onpload数据库组成 ?Ipload实用程序是一个UNIX应用程序,它帮助用户为UNIX和Windows准备装入和卸载作业(它是一个图形用户界面,可以用来设置HPL的参数)?Onpload实用程序的功能是在数据库和存储设备之间转换、过滤和移动数据,使用onpload数据库中的信息来运行装入和卸载并转换数据以及在装入过程中记录有关不符合装入条件的数据记录信息 4.3.7 onpladm ●简介 ?可以从命令行使用onpload实用程序来创建、修改和删除HPL对象 ?HPL对象包括项目、作业、映射、格式、查询、过滤器、设备阵列和机器 创建作业的语法格式 -B blocksize 设置磁带I/O块大小(以字节为单位) -d device 设置设备名称,例如文件、设备阵列、磁带或管道 -D database 包含要装入或卸载的信息的目标数据库的名称 Job 从onpload数据库命名装入或卸载作业 -M devicesize 磁带设备大小(以千兆字节为单位) -n 设置无转换快速作业 -p project 标识存储格式和映射的项目 -S server 设置onpload数据库服务器 -t table 要装入或卸载的表的名称 -T target 数据将下载到其中的目标服务器的名称 设置运行方式 a 将数据源视为设备阵列 c 将当时设置为高级方式(如果未设置,那么onpladm使用快速方式) d 将数据源视为磁带设备 l 将数据装入数据库 n 指定onpladm不需要执行数据转换 N 允许无复制高级方式装入 P 将数据源视为程序以通过管道方式来执行和读取程序的接口(仅UNIX)u 从数据库卸载数据 设置格式 D 将格式设置为定界(默认) FI 将格式设置为固定内部 FA 将格式设置为固定ASCII FB 将格式设置为固定二进制 C 将格式设置为COBOL CB 将格式设置为COBOL(字节) 运行作业的格式 -f 标记以指定作业类型(默认为装入作业) l 指定装入作业 u 指定卸载作业 jobname 从onpload数据库命名装入或卸载作业 -l logname 为记录作业进度的日志文件设置路径 -p projectname 标识存储格式和映射的项目 -S servername 设置onpload数据库服务器 -Z 启用写入磁带或从磁带读取直至设备末尾。Onpload实用程序提示装入其他磁带,直至装入或卸载完成。 -flu -zD -T ids11701 -S ids11701 real 0m0.292s user 0m0.006s sys 0m0.013s 运行作业 Time onpladm run project test_project -fu -S ids11701 real 0m38.028s user 0m0.008s sys 0m0.019s Load: 创建作业 time onpladm create job testload -p test_project -d /home/informix/work/testload -D test -t testtable -fl -zD -T ids11701 -S ids11701 real 0m0.325s user 0m0.014s sys 0m0.019s 运行作业 time onpladm run project test_project -fl -S ids11701 real 0m29.912s user 0m0.019s sys 0m0.019s 导入导出共计用时:68.557s 4.3.8 移动数据的实用工具用时比较 i n f o r m i x学习总结-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII INFORMIX的学习第一章 ESQL/C的数据类型 数据类型 SQL与C数据类型的对应 简单类型 SQL C CHAR(n) char(n+1) CHARCTER(n) char * SMALLINT short int INTERGER INT long int SMALLFLOAT REAL float FLOAT DOUBLE PRECISIONdouble SERIAL long int DATE long int 复杂类型 SQL C DECIMAL DEC NUMERIC dec_t or struct decimal MONEY dec_t or struct decimal DATETIME dtime_t or struct dtime INREVER intrvl_t or struct intrvl VARCHAR varchar or string 数据类型转换 转换类型转换后 FLOAT DECIMAL(16) SMALLFLOAT DECIMAL(8) INTERGER DECIMAL(10,0) SAMLLINT DECIMAL(5,0) 数据类型的转换函数 有关CHAR类型的函数 1、以空值结尾的串的操作函数 rdownshift(char *s) 把一个字符串中的所有字母转换成小写形式。 rupshift(char *s) 把一个字符串中的所有字母转换成大写形式。 stcat(char *s, char *dest) 把一个字符串同另一个字符串相连接。 stcmpr(char *s1, char *s2) 比较两个字符串。 stcopy(char *from, char *to) 把一个字符串拷贝到另一个字符串。 stleng(char *string) 统计字符串的长度。 2、定长串的操作函数 bycmpr(char byte1, byte2, rpt len) 比较两组连续的字节内存块。 bycopy(char *from, char *to, int len) 把一块内存的内容拷贝到另一块内存。 byfill(char *to, int len, char ch) 用字符填充指定的内存块。 byleng(char from, int count) 统计有效字符的数目。有效字符是指字符串去除了末尾空格所剩的字符。 3、字符串操作函数 ldchar(char *from, int num, char *to) 拷贝定长串到空值结尾的串。 stchar(char *from, char *to, int num) 拷贝空值结尾的串到定长串。 4、字符串函数简单数值转换 rstod(char *str, double *dblval) 把以空值结束的字符串转换成C的double型 rstoi(char *str, int *intval) 把以空值结束的字符串转换成C的int类型。 rstol(char *str, long *lngval) 把以空值结束的字符串转换成C的long类型。 AIX上安装Informix 1 安装informix9.4 1.1安装准备 1)创建informix组和informix用户,创建informix主目录/home/db/Informix。 2)为Informix用户添加环境变量,在.profile文件中加入: export INFORMIXDIR=/home/db/informix export PATH=$INFORMIXDIR/bin:$PATH export LIBPATH=$INFORMIXDIR/lib:$LIBPATH export TERMCAP=$INFORMIXDIR/etc/termcap 1.2安装informix server9.4 使用root用户登陆,设置环境变量: export INFORMIXDIR=/home/db/informix export PATH=$INFORMIXDIR/bin:$PATH 然后执行安装目录下的ids_install脚本开始安装: 选择1)安装informix dynamic server 安装目录输入:/home/db/informix,然后开始安装informix。 1.3配置informix server 1)复制一份onconfig文件,例如:onconfig.server1,server1为server的名字。编 辑onconfig.server1文件,修改数据库参数。以下列出比较重要的参数: --rootdbs路径、空间 ROOTNAME rootdbs # Root dbspace name ROOTPATH /home/db/informix/dbs/rootchunk01 # Path for device containing root dbspace ROOTOFFSET 0 # Offset of root dbspace into device (Kbytes) ROOTSIZE 100000 # Size of root dbspace (Kbytes) --物理日志的dbs空间,先用rootdbs的20M; PHYSDBS rootdbs # Location (dbspace) of physical log PHYSFILE 20000 # Physical log file size (Kbytes) --逻辑日志用默认的 # Logical Log Configuration LOGFILES 6 # Number of logical log files LOGSIZE 2000 # Logical log size (Kbytes) --把磁带的东西都改成/dev/null TAPEDEV /dev/null # Tape device path TAPEBLK 32 # Tape block size (Kbytes) TAPESIZE 10240 # Maximum amount of data to put on tape (Kbytes) # Log Archive Tape Device LTAPEDEV /dev/null # Log tape device path LTAPEBLK 32 # Log tape block size (Kbytes) LTAPESIZE 10240 # Max amount of data to put on log tape (Kbytes) --配置数据库服务器参数,根据自己机器配置的实际情况分配locks和buffers; SERVERNUM 0 # Unique id corresponding to a OnLine instance 象以Informix用户和潜在用户为主] Informix11.5 for linux as4 u2安装 一、软件包下载 在IBM网站上注册并下载安装包: iif.11.50.UC2TL.Linux-RHEL4.tar 二、安装 1.创建informix用户和组 [root@vmbank ~]# groupadd informix [root@vmbank ~]# useradd -g informix -m informix [root@vmbank ~]# passwd informix Changing password for user informix. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@vmbank ~]# id informix uid=1002(informix) gid=1003(informix) groups=1003(informix) [root@vmbank ~]# mkdir /usr/informix [root@vmbank ~]# chown informix:informix /usr/informix 2.将安装包上传到服务器 使用infomix用户将iif.11.50.UC2TL.Linux-RHEL4.tar上传到服务器:/usr/Informix/insta目录下。 3.解压软件 软件被放在/home/soft/目录下 [root@vmbank informix]# tar xvf iif.11.50.UC2TL.Linux-RHEL4.tar /usr/Informix/insta 经常在论坛中看到有新人寻求informix的安装步骤,回想自己当初刚接触时,也是得到了众多好心人的帮助。如今将自己的实际经验与从前前辈们的安装文档自整理下放到这里,希望能对有需要的人有所帮助。由于毕竟经验有限,其中难免有遗漏或者不足的地方,欢迎大家批评指正! 1. 创建informix组和informix用户,组ID和用户ID为301(注:此处可根据需要自己设置),并为informix用户设置密码 group:informix user:informix 2. 为Informix数据库安装创建文件系统,并赋予权限,例: /informix chown -R informix:informix /informix 3. 修改环境变量.profile文件 INFORMIXDIR=/informix; PA TH=$PA TH:$INFORMIXDIR/bin; ONCONFIG=onconfig.test; INFORMIXSERVER=online; TERMCAP=$INFORMIXDIR/etc/termcap; TERM=vt100; export INFORMIXDIR PA TH ONCONFIG INFORMIXSERVER TERMCAP TERM 4. 数据库安装 必须用root用户安装 安装目录选择informix ./ids_install(此为10版本的集成安装,显示如下: Product Setup Type ------------------------------------------------ ------------------------ 1. [ ] IBM Informix IConnect 2. [x] IBM Informix Client-SDK Typical 3. [x] IBM Informix Dynamic Server Typical 4. [x] IBM Informix JDBC Driver )若为10以下的版本,可以选择进入SERVER文件夹,执行installserver进行安装。 5. 为informix实例创建裸设备,可根据需要自行添加。 例:裸设备名称分别为:testroot,testdata01,testdata02,testphy,testtmp,testindex,testlog 为裸设备修改属主和权限 chown informix:informix /dev/test* chown informix:informix /dev/rtest* chmod 660 /dev/test* chmod 660 /dev/rtest* 6. 为裸设备创建链接文件 su – informix cd /informix mkdir data ************************ 一、安装前的准备: 以root用户身份登录系统后, 1、配置IP地址和Hostname。 2、建立空间大于150MB的Informix文件系统: # smit crjfs Mount Point:/informix 3、建立Informix组。 4、建立Informix用户: primary group:informix group set:informix,system HOME directory:/informix 5、将异步IO激活: # mkdev –l aio # smit aio使异步IO在系统启动时自动available。 6、插入Informix按照媒体,键入: # mount /Informix # cd /informix # tar –xvf /dev/rmt0 或 # cpio –icvBmud < /dev/cd0 7、更改环境变量: # export INformIXDIR=/informix 8、创建LV(放置rootdbs): # smit lv Lvname:worklv Devicename:rworklv Size:80MB(最大2GB) Type:raw Mirror Write Consistency:no Enable BAD BLOCK relocation:no 通常不建议将数据库的日志放在rootdbs上,而应单独建立一个raw类型的LV,存放logdbs。用户的数据(如索引、表等)需存放在其他的raw类型的LV上。 9、更改LV的权限和属主: # chown informix:informix rworklv # chown informix:informix worklv #chmod 660 rworklv #chmod 660 worlv 10、更改Informix的环境变量: # vi $HOME/.profile export INformIXDIR=/informix export TERMCAP=/informix/etc/termcap export INformIXSERVER=ssc export ONCONFIG=onconfig.ssc# informix启动时的配置文件 export TERM=vt100 11、分配Informix的端口号: # vi /etc/services /etc/rc.d/init.d/sendmail stop 关闭sendmail服务 然后再设置其不在系统启动时启动:chkconfig --levels 12345 sendmail off 关闭其端口 建立informix组:groupadd -g 20000 informix 建立informix用户:useradd -u 20000 -g 20000 -d /home/informix -m informix 分区partprobe 修改这个文件etc/sysconfig/network这个文件里的主机名. NETWORKING=yes HOSTNAME=主机名 ------------------------------------------------------------------------ 记得重启!!! ------------------------------------------------------------------------ 完整: 第一步: #hostname onkaohe 第二步: 修改/etc/sysconfig/network中的hostname 第三步: 修改/etc/hosts文件 Fdisk命令不能用原因是,/sbin的目录路径(系统用户目录)不在root的$PATH变量中造成的。 $su #cd ~ #vi .bash_porfile 在出现的文本编辑器中,找到PATH=$PATH:$HOME/bin。 在该行后面加上“:/sbin“(不含引号),如下行: PATH=$PATH:$HOME/bin:/sbin 保存退出。 mkdir /informix.links mkdir /dev/raw 并在/etc/rc.local文件绑定raw文件使得重启生效,同时使用命令绑定使得即可生效 raw /dev/raw1 /home/informix.links/rootdbs …… 权限如下: Informix安装步骤 ./ids_install -javahome /usr/bin/java 1.前言 本文主要描述的是在linux环境下的informix的安装配置步骤,且本实例采用的Cook File作为Chunk文件。 2.安装前准备(release文件首先得解压IDS安装包之后在解压的目录中find . –name “ids_mach*”) 2.1.确认Informix所需的系统补丁 通过查看$INFORMIXDIR/release/en_us/0333目录下的ids_machine_notes_11.50.txt文件得知需要安装以下的包: libaio-0.3.106 libgcc-4.1.1 libstdc++-4.1.1 ncurses-5.5 pam-0.99.6.2 采用如下指令,查看本机是否安装了上面系统补丁 页脚内容1 rpm –qa | grep 修改文件/etc/sysctl.conf 执行“sysctl –p”,使更改生效 2.3.确认DISK剩余空间充足 请确保磁盘剩余空间>1G,由于本实例采用cook file作为chunk文件,所以建议至少大于2G的磁盘空间 2.4.创建Informix用户及组 以root用户执行如下指令,创建所需的user和group groupadd informix; useradd informix –g informix 3.安装informix软件 3.1.创建安装环境 在/home/informix目录下创建install目录,并将informix的安装包放在其目录下 3.2.解压安装包 tar -xvf IDS.11.50.FC5.Linux.x86.CZ5IZEN.tar 3.3.执行安装指令 页脚内容3 网管三期informix安装配置手册 亿阳信通股份有限公司 2003年9月 版权所有 本产品或文档受版权保护,其使用、复制、发行和反编译均受许可证限制。未经亿阳及其授权者事先的书面许可,不得以任何形式、任何手段复制本产品及其文档的任何部分。 目录 目录__________________________________________________________________________ 3第一章前言 ________________________________________________________________ 4 1.1目的______________________________________________________________________ 4 1.2内容______________________________________________________________________ 4 1.3谁应该读这本书_____________________________________________________________ 4第二章准备安装 __________________________________________________________ 5 2.1准备用户__________________________________________________________________ 5 2.2准备安装媒介_______________________________________________________________ 5 2.3准备环境变量_______________________________________________________________ 5第三章安装与配置 _______________________________________________________ 6 3.1安装Informix Online _______________________________________________________ 6 3.2 Informix系统环境设置_____________________________________________________ 6 3.3 Informix运行环境设置_____________________________________________________ 6 3.4准备数据库服务器硬盘空间___________________________________________________ 7第三章 informix client安装_________________________________________ 10附录: ______________________________________________________________________ 10 windows系统下Informix 11.7安装手册1. 概述 Informix在windows系统下的安装过程与Linux下的有些不同,这里通过实际操作,详细描述了Informix在windows系统下的安装,创建实例,配置数据库的过程. 2. 安装环境 超级用户:informix 密码:informix 一般用户:XYRZ 密码:XYRZ 实例名:ol_informix1170 端口:9088 数据库名:xydb 3 informix软件安装 得到Informix 11.7 developer edition在windows32位系统下的安装包iif.11.70.TC5DE.win2003,大小约为498MB,安装包为.zip的压缩文件。 因Informix软件需要使用Informix账户进行管理,所以在安装之前需要创建Informix用户。如果系统中没有预先创建Informix账户,则Informix Server的安装过程中将自动创建该用户,下面以没有预先创建Informix账户的环境为例,详细介绍安装过程。 1)将得到的安装包解压到合适的位置。 2)双击启动安装程序ids_install.exe,得到如下图所示安装界面,单击next按钮进入 下一步 单击“next”按钮。 4)单击next按钮后得到如下安装界面。选择合适的安装位置来安装Informix Server, 默认为:C:\Program Files\IBM\Informix\11.70。这里选择e盘下的Informix文件夹作为安装位置(e:\Informix),在地址栏里输入e:\Informix。也可以通过点击“choose” 按钮来选择安装位置或点击“Restore Default Folder”来重新使用默认安装路径。 然后单击“next”按钮。 Informix迁移工具 1. 前沿 总体上说,数据库迁移主要分为二进制迁移和文本迁移 2. 二进制迁移 二进制迁移使用的工具是ontape、on-bar、onunload等。 2.1 迁移环境 源数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE 目标数据库版本:IBM Informix Dynamic Server Version 11.70.FC3DE 数据库名:test 表名:testtable 表中记录:1972124条数据 2.2 迁移步骤 设置备份路径 ?将onconfig文件中的TAPEDEV和LTAPEDEV的路径分别设置为/home/Informix/tapedev、/home/Informix/ltapedev 在源服务器上制作最终的0级备份 ?ontape –s –L 0 使源数据库服务器脱机 ?onmode –ky 将备份文件、onconfig、sqlhost以及环境变量的setenv1170文件均拷贝到目标服务器的相应位置(注意更改sqlhost文件中的ip地址栏位) 在目标服务器上安装IDS软件 在目标服务器上的相应位置建立与源数据库服务器相同的chunk文件并更改权限 在目标服务器上使用ontape –r命令恢复数据 恢复完毕之后,目标服务器自动启动到静默模式,更改使其进入联机模式 制作目标服务器的最初0级备份 3. 文本迁移 在数据库之间迁移,即将数据移动到不同操作系统上的数据库服务器中3.1 文本迁移中移动数据可以使用的传输工具和实用程序 -dbexport和dbimport -onload和onunload -load和unload -dbload -external table -high performance loader(HPL) Informix-online Dynamic server完全安装手册 一、安装步骤: (1)创建informix目录: /informix 如果已创建,这一步可以不执行。 (2)创建informix用户及informix组。 (3)设置环境变量。设置环境变量在profile文件增加以下内容: INFORMIXDIR=/usr/Informix INFORMIXSERVER=pthk ONCONFIG=onconfig.pthk PATH=$PATH:$INFORMIXDIR/bin export INFORMIXDIR INFORMIXSERVER export ONCONFIG PA TH 说明: INFORMIXSERVER 该环境变量被设置为服务器的名称,它是客户机与服务器进行连接的入口,它的值将放入sqlhosts文件中,只有该值有效时客户才能完成与服务器的连接(如果客户与服务器的机型不同,则需要将sqlhosts文件同时装入所有的机器中,以便进行初始化操作)。 (4)SQL 和 online的安装 以 root 用户注册, 进入 informix 用户目录: # cd /usr/informix 执行命令: # . ./.profile 使informix 环境变量生效; SQLRT.TAR、CONNECT.CPI 、IDS.CPI 将SQL的安装文件拷贝到当前目录下:用 tar 或 cpio 命令(根据安装文件类型而定); #tar xvf (文件名.TAR) #cpio –icudvmB –I (文件名.cpi) 执行SQL的安装程序: # ./installsql 根据屏幕提示输入正确的序列号 (serial number) 和活动码 (active number); 完成SQL的安装; #./installconn 第一个选yes 第二个选no 将 online 的安装文件拷贝到当前目录下:用 tar 或cpio 命令(根据安装文件类型而定); 将安装文件展开; 执行 online 的安装程序: # ./installserver 根据屏幕提示输入正确的序列号 (serial number) 和活动码 (active number); 完成 online 的文件安装 Informix在Linux安装配置和HDR测试过程一.Informix在Linux安装配置 1.创建用户并设置用户环境 1.1. 创建用户 创建informix用户组,并创建informix用户,并设置informix用户密码。 # groupadd informix # useradd -g informix -d /idsdata/Informix -m informix # passwd informix 1.2. 修改informix用户环境变量 设置informix用户环境变量,设置: INFORMIXSERVER,INFORMIXDIR, ONCONFIG,INFORMIXSQLHOSTS,PATH,TERMC AP等informix实例相关环境变量。 # su – informix $ cd /home/informix $ vi .bashrc INFORMIXSERVER=demoserver INFORMIXDIR=/idsdata/informix ONCONFIG=onconfig.demoserver INFORMIXSQLHOSTS=/idsdata/informix/etc/sqlhosts.demo PATH=$INFORMIXDIR/bin:.:/usr/bin:$PATH export INFORMIXSERVER INFORMIXDIR ONCONFIG INFORMIXSQLHOSTS PATH LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli export LD_LIBRARY_PATH 2.创建设备文件 $ mkdir /idsdata/dbspaces $ cd /idsdata/dbspaces $ touch rootdbs $ touch phydbs $ touch logdbs $ touch tempdbs01 $ touch tempdbs02 $ touch datadbs $ touch indexdbs Informix在Linux安装配置和HDR测试过程 一.Informix在Linux安装配置 1 ?创建用户并设置用户环境 1.1. 创建用户 创建informix用户组,并创建informix用户,并设置informix用户密码。 # groupadd informix # useradd ?g informix ?d /idsdata/lnformix informix # passwd informix 1.2. 修改informix用户环境变量 设置informix用户环境变量,设置: INFORMIXSERVER,INFORMIXDIR, ONCONFIG,INFORMIXSQLHOSTS,PATH,TERMC AP等informix实例相关环境变量。 # su - informix $ cd /home/informix $ vi .bashrc INFORMIXSERVER=demoserver INFORMIXDIR=/idsdata/informix ONCONFIG=onconfig.demoserver INFORMIXSQLHOSTS=/idsdata/informix/etc/sqlhosts.demo PATH=$INFORMIXDIR/bin:.:/usr/bin:$PATH export INFORMIXSERVER INFORMIXDIR ONCONFIG INFORMIXSQLHOSTS PATH LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/cli export LD_LIBRARY_PATH 2 ?创建设备文件 $ mkdir /idsdata/dbspaces $ cd /idsdata/dbspaces $ touch rootdbs $ touch phydbs $ touch logdbs $ touch tempdbsOI $ touch tempdbs02 $ touch datadbs $ touch indexdbs 青海农信核心业务主机安装过程 一:准备环境: 创建VG的命令mkvg –f –vg applvg hdisk1 文件系统是建立在lv(逻辑卷)上的,lv(逻辑卷)是建立在vg(卷组)上的Jfs(raw/jfs2)←lv←vg 1、用smitty建立/usr/informix文件系统。空间为1G。 2、chown -R informix:informix informix Mount /Informix 激活文件系统 3、用smitty建立informix用户,令informix用户的主目录为/usr/informix。 4、编辑/usr/informix目录下的.profile文件写入脚本。 ONCONFIG=onconfig.qhnx INFORMIXSERVER=qhnxonline INFORMIXDIR=/usr/informix INFORMIXBINDIR=$INFORMIXDIR/bin TERMCAP=$INFORMIXDIR/etc/gtmp/termcap DBEDIT=vi DBLANG=english_us.8859 LIBPATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql:$INFORMIXDIR/lib/tools:/usr/lib:. DBDATE=Y4MD INFORMIXSTACKSIZE=128 KAIOOFF=1 TERM=vt100 PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. PATH=$PATH:$INFORMIXBINDIR export ONCONFIG INFORMIXSERVER DBDATE DBEDIT DBLANG LIBPATH INFORMIXSTACKSIZE KAIOOFF INFORMIXBINDIR TERM PATH INFORMIXDIR PATH TERMCAP if [ -s "$MAIL" ] # This is at Shell startup. In normal then echo "$MAILMSG" # operation, the Shell checks fi # periodically. PS1='[229:$LOGNAME]:$PWD>' export PS1 INFORMIX的学习第一章ESQL/C的数据类型数据类型 SQL与C数据类型的对应 简单类型 SQL C CHAR(n) char(n+1) CHARCTER(n) char * SMALLINT short int INTERGER INT long int SMALLFLOAT REAL float FLOAT DOUBLE PRECISIONdouble SERIAL long int DATE long int 复杂类型 SQL C DECIMAL DEC NUMERIC dec_t or struct decimal MONEY dec_t or struct decimal DATETIME dtime_t or struct dtime INREVER intrvl_t or struct intrvl VARCHAR varchar or string 数据类型转换 转换类型转换后 FLOAT DECIMAL(16) SMALLFLOAT DECIMAL(8) INTERGER DECIMAL(10,0) SAMLLINT DECIMAL(5,0) 数据类型的转换函数 有关CHAR类型的函数 1、以空值结尾的串的操作函数 rdownshift(char *s) 把一个字符串中的所有字母转换成小写形式。 rupshift(char *s) 把一个字符串中的所有字母转换成大写形式。 stcat(char *s, char *dest) 把一个字符串同另一个字符串相连接。 stcmpr(char *s1, char *s2) 比较两个字符串。 stcopy(char *from, char *to) 把一个字符串拷贝到另一个字符串。 stleng(char *string) 统计字符串的长度。 2、定长串的操作函数 bycmpr(char byte1, byte2, rpt len) 比较两组连续的字节内存块。 bycopy(char *from, char *to, int len) 把一块内存的内容拷贝到另一块内存。 byfill(char *to, int len, char ch) 用字符填充指定的内存块。 byleng(char from, int count) 统计有效字符的数目。有效字符是指字符串去除了末尾空格所剩的字符。 3、字符串操作函数 ldchar(char *from, int num, char *to) 拷贝定长串到空值结尾的串。 stchar(char *from, char *to, int num) 拷贝空值结尾的串到定长串。 4、字符串函数简单数值转换 rstod(char *str, double *dblval) 把以空值结束的字符串转换成C的double型 rstoi(char *str, int *intval) 把以空值结束的字符串转换成C的int类型。 rstol(char *str, long *lngval) 把以空值结束的字符串转换成C的long类型。DATE类型的函数 1、创建内部日期 rdefmtdate(long *jdate, char *frmt char *str) 生成具有确定格式的日期字符串。(str 字符串和fmt必须按月、日、年的同一顺序) 返回代码: 0操作成功。 -1204在str参数中有非法的月份。 -1206在str参数中有非法的日期。 -1209由于str中没有包含年、月、日各部分间的定界符,str的长 INFORMIX FOR LINUX 安装使用手册 (ONLINE分册) 高伟达软件技术有限公司2003年2月19日 Informix 数据库的安装、配置及检查使用 一:Informix Online for Linux的安装方法 https://www.doczj.com/doc/3614420282.html, (2001-05-10 20:39:08) 1、创建INFORMIX用户组和informix用户。 home=/usr/informix 2、给informix加密码。 3、展开informix安装文件: rpm -i ******************.rpm(共三个) 4、修改root的profile,增加 INFORMIXDIR=/usr/informix export INFORMIXDIR 执行profile 5、数据库安装,安装的原则是先装低版本的软件, 后装高版本的软件,最后装online。 a、 #cd /usr/informix b、 #./installclientsdk c、 #./installonline 6、增加文件系统online。用户可以定义别的文件系统。 mount /online文件系统。创建数据文件onlinedbs。 #cd /online #>onlinedbs #chmod 660 onlinedbs 7、修改/online和/online/onlinedbs的权限 #chown informix /online #chgrp informix /online #chown informix /online/onlinedbs #chgrp informix /online/onlinedbs 8、以informix注册 cd /usr/informix/etc 9、将onconfig.std文件拷贝到onconfig或别的文件名。 vi onconfig中的参数 a、ROOTPATH /online/onlinedbs b、ROOTSIZE 100000 c、CONSOLE /dev/null d、TAPDEV /dev/null或用户定义 e、LTAPDEV /dev/null f、DBSERVERNAME db(此项可自己定义但要求与sqlhosts中的定义一致。) 以上所有的内容均可由用户定义。 10、初始化共享内存 11、修改informix的.profile文件 $cd vi .profile增加以下内容 INFORMIXDIR=/usr/informix INFORMIXSERVER=db ONCONFIG=onconfig PATH=$PATH:/usr/informix/bin export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH $chmod +x .profile $. ./.profile Informix Dynamic Server 产品的安装及起动 一. 安装顺序 1. 安装Application development tools. 如:INFORMIX -SQL、INFORMIX- 4GL 等。 2. 安装SQL application-programming interfaces. 如:INFORMIX- ESQL/C、INFORMIX- CLI等。 3. 安装Database serves. 如:INFORMIX DYNAMIC SERVER 等。 4. 安装Additional products. 如:LANG SUPPLEMENT ZHCN 等。 二. 安装步骤 1. 检查操作系统是否运行正常 2. 以超级用户root登录,建立一个名为informix的用户组和一个名为informix的用户,是informix用户是informix用户组的唯一用户。 3. 设置环境变量: #INFORMIXDIR=(informix产品的安装目录) #export INFORMIXDIR #PATH=$INFORMIXDIR/bin:$PATH #export PATH 4. # cd $INFORMIXDIR 5. 如介质为光盘,则应Mount对应光盘的文件系统: #mount 介质设备名对应目录 主要操作系统CDROM Mount 方法: a. Data General DG/UX v4.11 on AviiON(Intel & M88K) # mount –t cdrom –o noversion /dev/pdsk/pdsk_num /cdrom (pdsk_num为一数值,可在/etc/devlinktab中找到对应值) b. Digital UNIX v4.0 , V3.2 on Dec Alpha 系统配置文件中必须存在: options CDFS 这一行。 # /usr/sbin/mount –r –t cdfs –o noversion /dev/rzinformix学习总结
AIX上安装Informix
Informix11.5 for linux5安装步骤
informix安装与配置
informix安装
informix安装心得
Informix安装步骤
informix安装手册
windows系统下Informix_11.7安装手册
informix迁移要点
Informix安装配置精讲
Informix安装配置和HDR测试过程
Informix安装配置和HDR测试过程.doc
informix数据库安装过程
informix学习总结
informix安装配置手册
Informix Dynamic Server 产品的安装及起动