在AIX4.3.3系统上安装Informix9.21

发表于:2007-07-04来源:作者:点击数: 标签:
操作系统: AIX 4.3.3 数据库产品:IBM Informix ClientSDK 2.70CU1(32位/64位) IBM Informix Dynamic Server 9.21 系统配置: 数据库 服务器 为IBM小型机。 IBM Informix数据库软件安装在机器内置硬盘上,划分出1G的文件系统挂在根文件系统的/informix目

  操作系统: AIX 4.3.3
  数据库产品:IBM Informix ClientSDK 2.70CU1(32位/64位)
  IBM Informix Dynamic Server 9.21
  
  系统配置:
  数据库服务器为IBM小型机。
  IBM Informix数据库软件安装在机器内置硬盘上,划分出1G的文件系统挂在根文件系统的/informix目录下,每次机器启动时自动将此文件系统自动mount。
  
  确保硬盘有足够剩余空间,至少剩余6G。
  
  1 IBM Informix数据库产品的安装过程
  
  注::
  1. 以下安装过程中,在命令行中出现 '$'的为informix用户登录,出现 '# ' 为root用户登录。
  2. 确认系统ROOT 的 PP SIZE,执行$lsvg rootvg可以查看到该项参数值。
  
  1.1 设置AIX UNIX 环 境
  (5和6步可以不做)
  1. 以root 登 录。使 用 AIX 中的系统管理工具smitty。
  2. 建立一个文件系统,该文件系统挂在根目录的informix目录下,不要创建该目录,在创建该文件系统时指明挂在/informix系统自动会创建该目录,文件系统要有1G大小。
  #smitty/System Storage Management/File Systems/ Add File Systems/Journaled File System/Add a Journaled File Syste/Add a Standard Journaled File System
  选择rootvg
  设置SIZE of file system等于1000兆×1024K×2BLOCK=2048000BLOCK
  设置MOUNT POINT为/Informix
  设置Mount AUTOMATICALLY at system restart?为yes
  #mount /informix
  3. 创建用户组informix。该组组号必须大于或等于100。
  #smitty/Security & Users/Groups/Add a Group
  设置Group NAME为informix
  4. 创建用户informix。(修改)该用户主目录为/informix,用户组为informix,用户口令为informix(可以任意更改)。其用户号必须大于或等于100。
  a.#smitty/Security & Users/Users/Add a User/
  设置User NAME为informix
  设置Primary GROUP为informix
  设置HOME directory为/informix
  b.设置完之后,退到上级菜单选择Change a User's Password,输入informix用户名,接着输入用户新密码;
  c.退出菜单,将/informix目录的宿主改为informix:informix
  chown informix:informix /informix
  5. 设置环境变量INFORMIXDIR 和PATH 等:
  用informix用户登陆,在文件/Informix/.profile中加入如下环境变量,然后退出用户重新登陆:
  INFORMIXDIR=/informix
  PATH=$INFORMIXDIR/bin:$PATH
  TERMCAP=$INFORMIXDIR/etc/termcap
  INFORMIXSERVER=map
  ONCONFIG=onconfig.map
  export INFORMIXDIR PATH TERMCAP INFORMIXSERVER ONCONFIG
  6. 退出用户,再登录,使环境变量生效,可用如下命令来查看:
  $env |grep INFORMIXSERVER
  
  1.2 IBM Informix产品安装顺序
  INFORMIX 产 品 安 装 顺 序 如 下:
  1. 数据库服务器,如IDS 9.21;
  2. 客户端开发工具包,如ClientSDK 2.70CU1;
  
  1.3 装入INFORMIX产品并运行安装程序
  (注:以下安装一定要用INFORMIX用户登录)
  1. IBM INFORMIX Dynamic Server 9.21 产品
  (1). 插入IBM INFORMIX Dynamic Server 9.21安装光盘
  (2). 导入IBM INFORMIX Dynamic Server 9.21安装文件:
  $ mount /cdrom //假设光驱文件系统是挂在/cdrom目录下
  $ cpio -icumdvB < /cdrom/IDS/ids.cpi
  也可以通过局域网将ids.cpi传送到/informix目录下,以上两个操作就改成$ cpio -icumdvB < ids.cpi
  (3). 运行IBM INFORMIX Dynamic Server 9.21 相应的安装程序:
  $ ./installserver
  当显示:Enter your serial number (e.g.INF#X999999,) > 时,输入产品标签上的序列号。(AAD#J298231)
  当显示:Enter your serial number KEY (uppercase letters only) > 时,输入产品标签上的序列号键值。(HSDJJH)
  当显示:Installation of INFORMIX ONLINE complete 时,表明安装完成。
  (4). 用root用户执行如下:(修改相关文件的权限)
  # ./RUN_AS_ROOT.server
  
  2 IBM Informix数据库产品的配置过程
  (实际配置时修改相关的物理设备或目录的名称)
  2.1 准备数据库空间
  1. INFORMIX 数据库管理系统和应用系统使用AIX Unix文件系统。
  2. INFORMIX 数据库数据空间使用AIX Unix 裸设备,不需要建立文件系统,不需要执行mount命令。
  * 对于AIX Unix,裸设备为逻辑卷(Logical Volume).
  * 所有的裸设备均使用字符式裸设备文件名(/dev下命令"ls -l"输出以c打头的设备名).
  * 裸设备所取的名称一定要用给定的名称.
  
  3. 划分原则如下:
  数据库的空间可以逻辑分为:数据库系统使用空间和数据库用户使用空间。其中数据库系统使用空间包括Informix root空间(rootdbs)、物理
  
  日志空间(phydbs)、逻辑日志空间(logdbs)和临时表空间(tempdbs)。数据库用户使用空间可以包括数据空间(datadbs)和索引空间(idxdbs)。
  
  为减少并发用户的数据冲突,尽量将系统和用户数据分开。为提高数据处理的并发特点,可以将表数据分片(作用是可以使用到数据库的并发处
  
  理特性、备份恢复的最小单位、提高数据表的最大容量等)。在建立数据dbspace时,可以多建立几个,以利于以后数据表的分片。
  
  4. IBM硬盘划分如下:
  
  硬盘划分:
  使用AIX 管理工具smitty lv将共享硬盘划分为下列逻辑卷:
  
  生产数据库部分(限制:chunk的最大容量为2G,因此划分的lv不要超过2G,以下以1G举例)
  
  (1)Informix 根数据卷 320M
  裸设备映射系统文件名 空间 裸设备名称
  /dev/rrootdbs 320M rootdbs
  创建过程:
  #smitty/ System Storage Management/ Logical Volume Manage/ Logical Volumes/ Add a Logical Volume
  选择rootvg
  设置Logical volume NAME为rootdbs
  设置Number of LOGICAL PARTITIONS为320/PP(PP为物理分区大小,文档开头有介绍如何查询PP值,一般为4兆,8兆,或32兆)
  以下建裸设备过程雷同。
  (2)Informix 物理日志卷 448M
  裸设备映射系统文件名 空间 裸设备名称
  /dev/rphydbs 448M phydbs
  (3)Informix 逻辑日志卷 1.28G
  裸设备映射系统文件名 空间 裸设备名称
  /dev/rlogdbs 1.28GB logdbs
  (4)Informix 临时表空间卷 640M
  裸设备映射系统文件名 空间 裸设备名称
  /dev/rtempdbs 640 tempdbs
  (5)应用数据使用空间卷/应用索引使用空间卷2.56G(可以根据数据量的大小,建立多几个数据空间卷)
  裸设备映射系统文件名 空间 裸设备名称
  /dev/rmapdbs1 1.28GB mapdbs1
  /dev/rmapdbs2 1.28GB mapdbs2
  
  5. 设置数据设备文件的权限并配置网络服务端口:
  # chmod 666 /dev/console
  # chmod 660 /dev/r*dbs*
  # chown informix:informix /dev/r*dbs*
  
  # cd /etc
  使用vi编辑工具将下列内容加入到/etc/services文件中:
  sql_map 3333/tcp #informix
  数据库服务器IP服务名(sql_map)在配置sqlhosts文件中使用。
  
  
  2.2 修改AIX Unix内核参数
  以root登录,修改内核参数
  
  1. 使用AIX 管理工具smitty aio 进入管理状态,修改如下参数:
  进入Change / Show Characteristics of Asynchronous I/O
  修改STATE to be configured at system restart [available]
  
  2.3 初始化数据库
  1. 连接裸设备字符式文件名。
  通过ln 命令连接到 /informix/data 目录下相应的文件名:
  $ cd
  $ mkdir data
  $ cd data
  
  $ ln -s /dev/rrootdbs rootdbs
  $ ln -s /dev/rphydbs phydbs
  $ ln -s /dev/rlogdbs logdbs
  $ ln -s /dev/rtempdbs tempdbs
  $ ln -s /dev/rmapdbs1 mapdbs1
  $ ln -s /dev/rmapdbs2 mapdbs2
  
  2. 修改Informix配置文件onconfig.map:
  $ cd etc
  $ cp onconfig.std onconfig.map
  
  使用vi 编辑工具按以下建议内容修改onconfig.map中的内容:
  ROOTNAME rootdbs
  ROOTPATH /informix/data/rootdbs
  ROOTSIZE 320000(320M,此大小只是参考,以实际建立的裸设备大小为准)
  MSGPATH /informix/online.log
  TYPEDEV /dev/null
  LTYPEDEV /dev/null
  DBSERVERNAME map
  NETTYPE soctcp,1,10,CPU
  LOCKS 100000 (安照默认即可)
  BUFFERS 20000 (安照默认即可)
  LOGSMAX 32
  
  3. 修改$INFORMIXDIR/etc/sqlhosts 文件
  $ cd
  $ cd etc
  $ cp sqlhosts.std sqlhosts
  $ vi sqlhosts
  
  增加如下内容
  #注释<INFORMIXSERVER> <POTOCOLNAME> <HOSTNAME> <SERVICESNAME>
  map onsoctcp hostname sql_map
  
  注: <INFORMIXSERVER>为数据库服务器名,与.profil中定义的要一致。
  <HOSTNAME>为虚拟主机名,要与/etc/hosts中的主机名一致。
  <SERVICESNAME>为数据库服务端口号,要与/etc/services中的数
  据库服务端口号一致。
  
  4. 初始化数据库:(危险步骤!!不要对正常的数据库使用以下命令,仅当第一次初始化数据库时使用)
  # shutdown -Fr (AIX要重启,用root用户)
  $ oninit -ivy (用informix用户)
  
  注:可用onstat - 命令来查看数据库服务启动情况或export TERM=vt100,用dbaccess数据库管理工具来检查。
  
  5. 创建数据库空间:
  创建逻辑日志文件、物理日志文件、数据文件及索引文件所用的空间:
  1)、使用以下命令行命令:
  (注:可用命令onstat -d 查看创建的情况)
  
  $ onspaces -c -d phydbs -p /informix/data/phydbs -o 0 -s 447000 (建立dbspace phydbs)
  
  $ onspaces -c -d logdbs -p /informix/data/logdbs -o 0 -s 1280000 (建立dbspace logdbs)
  
  $ onspaces -c -d tempdbs -t -p /informix/data/tempdbs -o 0 -s 640000 (建立dbspace tempdbs)
  
  $ onspaces -c -d mapdbs -p /informix/data/mapdbs1 -o 0 -s 1280000 (建立dbspace mapdbs)
  $ onspaces -a mapdbs -p /informix/data/mapdbs2 -o 0 -s 1280000 (添加chunk 到dbspace mapdbs中)
  
  ......
  
  6. 改变逻辑日志和物理日志的位置,大小和个数:
  1) 修改数据库状态为单用户维护状态
  $ onmode -uy
  
  2) 将物理日志从缺省的rootdbs上移到phydbs上
  $ onparams -p -d phydbs -s 190000
  
  3) 在logdbs上划分13个100M的逻辑日志
  $ onparams -a -d logdbs -s 100000
  将上一条命令执行13次
  
  4) 做系统的0 级备份,将新加的逻辑日志变为可用的状态:
  $ ontape -s
  
  5) 将当前的逻辑日志位置从rootdbs上的逻辑日志移到logdbs数据库空间上:
  (用onstat -l 来查看移动情况)
  $ onmode -l
  $ onmode -l
  $ onmode -l
  
  强行做一次checkpoint操作:
  $ onmode -c
  
  现在可以删除在rootdbs_b上的逻辑日志:
  (用onstat -l 查看,直到删除为此,可能有6个)
  $ onparams -d -l 1 -y
  $ onparams -d -l 2 -y
  $ onparams -d -l 3 -y
  
  7. 改变数据库到online状态:
  $ onmode -m
  
  8. 做一次整个数据库系统的0级备份:
  $ ontape -s
  选择0
  9. 先关闭INFORMIX服务:
  $ onmode -ky
  10. 启动系统:
  $ oninit
  $ dbaccess
  (使用之前环境变量TERM是否为vt100,命令export TERM=vt100可设置)
  
  3 IBM Informix数据库产品的维护与管理
  
  3.1 Informix数据库的启动
  1. 以Informix 登录,执行启动命令:
  $ oninit
  
  启动后,执行命令查看Informix状态:
  $ onstat -
  应显示数据库版本、状态,启动时间和所占内存。
  
  3.2 Informix 数据库的关闭
  1. 以Informix 登 录,执行关闭命令:
  $ onmode -ky
  
  3.3 Informix数据库的备份
  1. 数据备份
  数据备份采用Informix所提供的增量备份方式。数据备份使用磁带机(/dev/rmt/0m)。数据备份规划为:每个星期的星期日作0 级备份,即整
  
  个数据库系统的全备份。星期一到星期六作1级备份,即本星期以来数据 库所作修改的备份。
  备份日程安排如下:
  星 期: 日 一 二 三 四 五 六
  备 份 级 别: 0 1 1 1 1 1 1
  
  当需要进行数据库系统恢复时,从本星期的0 级备份和前一天的1级备份 中进行恢复。详细说明为:如果星期一需要恢复,只需从星期日的0级
  
  备份恢复。如果星期二需要恢复,需要从星期日的0 级备份和星期一的1级备份恢复。依此类推,如果星期六需要恢复,需要从星期日的0 级备
  
  份和星期五的1级备份恢复。如果星期日需要恢复,需要从上星期日的0级备份和星期六的1级备份恢复。
  
  另外,由于应用系统需要,每天的备份需要进行两次,批处理前和批处理后分别各作一次。
  
  数据备份操作命令为:(以informix 登 录)
  $ ontape -s
  please enter the level of archive to be performed (0,1,or 2)
  选 择 0 ( 星 期 日)
  选 择 1 ( 星 期 一 , 二 , 三, 四, 五, 六)
  
  数据恢复操作命令为:(以informix 登 录)
  $ ontape -r
  please mount tape 1 on /dev/rmt/0m and press Return to continue ...
  按照提示插入0 级备份带、1 级备份带和逻辑日志备份带。
  
  2. 逻辑日志备份
  逻辑日志备份采用连续或自动备份方式。逻辑日志备份固定于AIX机器上的一个窗口(连续备份) 。
  连续逻辑日志备份操作命令为:(以informix 登 录)
  $ ontape -c
  
  连自动辑日志备份操作命令为:(以informix 登 录)
  $ ontape -a
  
  逻辑日志备份分单双日进行。每日作批处理前,在AIX机的窗口上中断当天的逻辑日志备份。然后插入新的逻辑备份磁带,键入命令行执行逻辑备份。
  
  3. onbar 备份
  以上的备份方式也可以使用onbar 与第三方的备份软件一起使用,但不可和ontape的备份混合使用。
  
  3.4 常用的系统管理命令
  在执行系统管理命令之前,使用env 命令查看当前informix 的环境变量属于营销业务还是测试业务。两者之间使用设置环境变量命令互相转变:
  $cd
  $. ./setenv
  
  1. dbexport
  将数据库以ASCII方式下载。该命令常用于迁移数据库。
  如:命令dbexport -o /informix/db_export stores7,将数据库 stores7 下载到/informix/db_export/stores7.exp 目录下。
  数据库模式文件存放在/informix/db_export/stores7.exp/stores7.sql 下。
  
  2. dbimport
  与dbexport 配合使用,根据dbexport 的输出创建数据库。
  如:命令dbimport -c -i /informix/db_export stores7
  根据上例中输出结果创建数据库。
  
  3. dbload
  将ASCII 文件中的数据传送到数据库中。
  
  4. dbschema
  将数据库的模式输出到文件中,可用于重建数据库或表。
  
  5. oncheck
  数据一致性检查和索引修复工具。常用选项有:
  oncheck -ce 检查Chunks 和extents
  oncheck -cd 检查数据行
  oncheck -ci 检查索引值
  oncheck -cI 检查索引值和rowid
  oncheck -cr 检查系统保留页
  oncheck -cc 检查系统目录表
  
  6. oninit
  启动OnLine
  
  7. onlog
  显示系统逻辑日志的内容。常用选项有:
  onlog -l 显示已经备份到磁带上的日志信息
  
  8. onmode
  改变OnLine 的运行模式,强制检查点动作,切换逻辑日志以及杀死指定的进程。常用选项有:
  onmode -k 关闭OnLine
  onmode -c 强制检查点动作
  onmode -l 切换逻辑日志到下一个逻辑日志文件
  onmode -z 杀死指定的进程
  onmode -F 释放多余的内存
  onmode -a 动态分配内存
  
  9. onparams
  改变OnLine 的逻辑日志和物理日志的配置参数。(添加逻辑日志时使用)
  
  10. onspaces
  创建、删除和修改dbspace、chunk工具。
  
  11. ontape
  进行逻辑日志的备份,改变数据库日志的状态,执行数据恢复。常用选项有:
  ontape -a 备份所有已满的逻辑日志
  ontape -c 启动连续逻辑日志备份
  ontape -s 启动数据备份
  ontape -r 启动数据恢复
  ontape -s -B | -N | -U 数据库名 改变数据库日志的状态
  
  12. onstat
  监视数据库的操作。常用选项有:
  onstat --help 显示所有信息help
  onstat - 显示数据库状态信息
  onstat -l 显示物理日志和逻辑日志信息
  onstat -g ses 显示用户线索信息
  onstat -g sql 显示sql语句
  onstat -k 显示锁信息
  onstat -x 显示事物信息
  onstat -d 显示数据库空间使用信息
  onstat -D 显示CHUNK读写信息
  onstat -c 显示配置信息
  onstat -m 显示online.log最后20行信息
  onstat -p 显示性能信息
  onstat -r 周期性重复显示信息
  onstat -u 显示用户信息
  onstat -z 将所有统计值置为0
  onstat -g ath 显示线程
  onstat -g seg 显示内存信息
  onstat -g rea 显示等待线程
  onstat -g act 显示活动线程
  onstat -g iof 显示CHUNK读写信息
  onstat -g ioq 显示AIO队列信息
  onstat -g ntu 显示网络端口读写信息
  onstat -g ntd 显示线程读写信息
  
  13. 在x-windows下可以运行的程序
  $ onperf 数据库性能监控
  $ ipload Informix最快的load数据工具
  $ onpload ipload的命令行方式工具
  
  14. onbar
  $ onbar 支持IBM光盘库、磁带库的备份工具
  
  15. Dbaccess
  $ dbaccess 最常用的数据库管理(库、表、索引)工具
  
  16. onmonitor
  $ onmonitor 菜单界面的Informix数据库管理工具
  
  17. Update statistics 需要定期处理,最好每天都做
  对性能最有影响的SQL语句
  
  18. set explain on 打开分析SQL语句性能的开关
  
  19. dbaccessdemo7 建立demo数据库
  
  
  
  3.5 数据库导入/导出
  Informix数据库在不同配置(如数据库空间大小、名称等)的系统上进行恢复与备份时,使用ontape、onbar等方式备份的数据库可能无法恢复。推荐使用导入dbimport/导出dbexport方式进行备份与恢复。
  
  3.5.1 数据库导出(备份)
  $ cd /informix ; mkdir export_db 建立导出目录,已存在则可跳过
  $ dbexport db_name -o /informix/export_db 导出数据库db_name
  $ tar cvf db_name.tar /informix/export_db 打包export_db目录为db_name.tar
  $ compress db_name.tar 压缩为.Z文件
  
  3.5.2 数据库导入(恢复、新建)
  $ cd /informix
  $ uncompress -c db_name.tar.Z | tar xvf - 解压缩、解包
  $ dbimport -d mapdbs_sd -l buffered -i <目录, db_name.exp的父目录> db_name
  参数说明:
  -d mapdbs_db 指定dbspace为mapdbs_sd,应根据实际修改,注意:必须指定本参数,否则数据库可能会建立在rootdbs。
  -l buffered 指定数据库为buffered日志模式
  db_name 数据库名,必须与目录db_name.exp匹配
  
  如果需要改变数据库的名称,如改变数据库名db_name为new_db_name则在导入前必须进行如下:
  a) 改变文件db_name.exp/db_name.sql为db_name.exp/new_db_name.sql,“.sql”不变 ;
  $ cd db_name.exp
  $ mv db_name.sql new_db_name.sql
  
  b) 改变目录db_name.exp为new_db_name.exp,“.exp”不变;
  $ mv db_name.exp new_db_name.exp
  
  2.3.5.3 修改数据库日志模式
  $ ontape -U db_name
  如果失败,则可能需要0级备份,可使用如下命令
  $ ontape -s -L 0 -U db_name
  $ onmonitor
  选择Status/Databases可查看状态。
  
  2.3.6 数据库错误码查询方法
  Informix的错误码可通过命令finderr查询错误详细信息,该命令在安装目录的bin目录(如/informix/bin)下。
  $ finderr 107 查询错误代码107的详细信息
  $ finderr 显示其帮助

原文转自:http://www.ltesting.net