开源中文网

您的位置: 首页 > SCO UNIX > 正文

SCO UNIX上INFORMIX数据库安装与配置

来源: 网络整理  作者: 佚名

1.建立infomix组和informix用户
  使用root注册,使用scoadmin系统命令建立组名为“informix”,用户名为“informix”的用户,
  其“home directory”缺省为“/usr/informix”,在这里我使用缺省值。
  其中,组号必须大于100,user id 大于200。

  2. 设置安装所需要的环境变量
     使用root注册,设置PATH和INFORMIXDIR环境变量
     B shell:
     #INFORMIXDIR=/usr/informix
     #PATH=$PATH:$INFORMIXDIR
     #export INFORMIXDIR
     C shell:
     #setenv INFORMIXDIR /usr/informix
     #setenv PATH ${INFORMIXDIR}/bin:${PATH}
     并将目录改变到/usr/informix,执行命令
     #cd /usr/informix

  3. 产品的安装(次序SQL->4GL->ESQL->IDS->GLS)
  1)将SQL光盘插入光驱,执行命令
  # mount /dev/cd0 /mnt
  2)拷贝介质
  介质如为tar格式,则执行:#tar xvf /mnt/SQL.tar
  介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/SQL.cpi
  3)执行安装命令
  # ./installsql
  输入许可证提供的序列号,如:INF#Xxxxxxx
  输入许可证提供的KEY:如AAABBB
  注意必须是大写字母
  4)卸载软件光盘,执行命令
  #umount /mnt
  
  B、安装4GL
  1)将4GL光盘插入光驱,执行命令
  # mount /dev/cd0 /mnt
  2)拷贝介质
  介质如为tar格式,则执行:#tar xvf /mnt/4GL.tar
  介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/4GL.cpi
  3)执行安装命令
  # ./install4gl
  输入许可证提供的序列号,如:INF#Xxxxxxx
  输入许可证提供的KEY:如AAABBB
  注意必须是大写字母
  4)卸载软件光盘,执行命令
  # unmount /mnt
  
  C、安装ESQL
  1)将ESQL光盘插入光驱,执行命令
  # mount /dev/cd0 /mnt
  2)拷贝介质
  介质如为tar格式,则执行:#tar xvf /mnt/ESQL.tar
  介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/ESQL.cpi
  3)执行安装命令
  # ./installesql
  输入许可证提供的序列号,如:INF#Xxxxxxx
  输入许可证提供的KEY:如AAABBB
  注意必须是大写字母
  4)卸载软件光盘,执行命令
   # unmount /mnt
  
  D、安装IDS7.31
  1)将IDS7.31盘插入光驱,执行命令
  # mount /dev/cd0 /mnt
  2)拷贝介质
  介质如为tar格式,则执行:#tar xvf /mnt/IDS.tar
  介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/ IDS.CPI
  3)执行安装命令
  # ./installserver
  输入许可证提供的序列号,如:INF#Xxxxxxx
  输入许可证提供的KEY:如AAABBB
  注意必须是大写字母
  4)卸载软件光盘,执行命令
    # unmount /mnt
  
  D、安装GLS
  1)将GLS光盘插入光驱,执行命令
  # mount /dev/cd0 /mnt
  2)拷贝介质
  介质如为tar格式,则执行:#tar xvf /mnt/LS732.tar
  介质如为cpio格式,则执行:#cpio –icvdumB < /mnt/LS732.CPI
  3)执行安装命令
  # ./installzhcn
  输入许可证提供的序列号,如:INF#Xxxxxxx
  输入许可证提供的KEY:如AAABBB
  注意必须是大写字母
  4)卸载软件光盘,执行命令
    # unmount /mnt
二、配置准备:

  1.为数据存储分配原始磁盘空间
  online允许使用两种不同的磁盘空间类型:原始的磁盘空间(即裸设备)和处理过的文件系统,使用处理过的文件做dbspace,其性能不如裸设备。使用处理过的文件就不能利用DMA功能(既直接内存访问),将数据从共享内存直接传递到磁盘,所以,为了充分发挥ONLINE的能力我建议读者使用裸设备。

  A.裸设备做dbspaces

SCO,unix,custom,!
2G/>

  1) fdisk 划分磁盘disk分区 创建UNIX分区(Create UNIX Partition)
  注意:
  start,end,size的数字单位是track
  硬盘参数有柱面Cylinder、磁道Head、扇区Sector
  cylinder*head=track
  track*sector=block
  1block=512b
  c*h*s*512=硬盘大小(b) /1024=硬盘大小(kb) /1024=硬盘大小(Mb)
  柱面*柱头*扇区=块   1block=512b

  2)divvy划分文件系统filesystem分区
  # divvy –m /dev/rhd02  
  /*** rhd02——第一块(0)硬盘(rhd)第二分区(2),对应上面的Partition2
  Please enter the number of file systems you want this area
  to be divided into, or press  to get the default of 17 file system(s)
  2
  +------------------+------------+--------+---+-------------+------------+
  | Name             | Type       | New FS | # | First Block | Last Block |
  +------------------+------------+--------+---+-------------+------------+
  | dbspace01        | NON FS     |  no    | 0 |            0|     1999999|
  | dbspace02        | NON FS     |  no    | 1 |      2000000|     3999999|
  | dbspace03        | NON FS     |  no    | 2 |      4000000|     5999999|
  | dbspace04        | NON FS     |  no    | 3 |      6000000|     7999999|
  | dbspace05        | NON FS     |  no    | 4 |      8000000|     9999999|
  |                  | NOT USED   |  no    | 5 |            -|           -|
  |                  | NOT USED   |  no    | 6 |            -|           -|
  | hd02             | WHOLE DISK |  no    | 7 |            0|    10239999|
  +------------------+------------+--------+---+-------------+------------+
  10238992 1K blocks for divisions, 1008 1K blocks reserved for the system
  n[ame]       Name or rename a division.
  c[reate]     Create a new file system on this division.
  t[ype]       Select or change filesystem type on new filesystems.
  p[revent]    Prevent a new file system from being created on this division.
  s[tart]      Start a division on a different block.
  e[nd]        End a division on a different block.
  r[estore]    Restore the original division table.
  Enter your choice or q to quit:
  ------------------------
  n:命名filesystem
  s:开始block
  e:结束block
  t:更改类型
  -------------------------

  # divvy –m /dev/rhd03
  +------------------+------------+--------+---+-------------+------------+
  | Name             | Type       | New FS | # | First Block | Last Block |
  +------------------+------------+--------+---+-------------+------------+
  | dbspace06        | NON FS     |  no    | 0 |            0|     1999999|
  | dbspace07        | NON FS     |  no    | 1 |      2000000|     3999999|
  | dbspace08        | NON FS     |  no    | 2 |      4000000|     5999999|
  | dbspace09        | NON FS     |  no    | 3 |      6000000|     7999999|
  | dbspace10        | NON FS     |  no    | 4 |      8000000|     8972741|
  |                  | NOT USED   |  no    | 5 |            -|           -|
  |                  | NOT USED   |  no    | 6 |            -|           -|
  | hd03             | WHOLE DISK |  no    | 7 |            0|     8972742|
  +------------------+------------+--------+---+-------------+------------+

  备注:

(1)通常采用的方式是Raw Device,也称“裸设备”,就是在安装Unix磁盘时,用divvy命令在磁盘分区中建

+--------------+----------+-----------+---------+---------+---------+
|Partition     | Status   | Type      | Start   | End     | Size    |
+--------------+----------+-----------+---------+---------+---------+
| 1            | Active   | UNIX      |       1 |  570000 |  570000 |
| 2            | Inactive | UNIX      |  570001 |  855000 |  285000 |
| 3            | Inactive | UNIX      |  855001 | 1139849 |  284849 |
+--------------+----------+-----------+---------+---------+---------+
Total disk size: 2424030 tracks (256 reserved for masterboot and diagnostics)

立一块Non FS分区,对此分区的大小预先要估算好(chunk*2,000,000k=14,000,000k)。Online系统

对“裸设备”的管理比Unix文件系统的管理效率高很多。
(2)为系统准备磁盘空间时,必须首先设立正确的权限,并且建议为原始设备建立连接,并且每个chunk不

得大于2G/>。在/dev目录下,自动产生dbspace01-dbspace10; rdbspace01-rdbspace10 的10个区。
(3)dbspace**修改权限、属性
# chown –R informix:informix *dbspace*
# chmod 660 *dbspace*
注:在/dev下 ,可以像文件一样操作dbspace,如rm dbspace02 

4
informix
#mkdir workdir ()
#cd workdir
#ln –s  /dev/rdbspaces01  workdbs
#ln –s  /dev/rdbspaces02  tmpdbs
#ln –s  /dev/rdbspaces03  logdbs




SHMMNI:100




  具体做法:从root注册登录,运行scoadmin在菜单中逐层选择Hardware/Kernel Manager,然后选择Tune Parameters,根据以上值设置核心参数,设置完重连核心,退出并重新启动UNIX。  或从root注册登录,切换到/etc/conf/cf.d下,编辑文件mtune(核心参数范围)和stune(核心参数当前值),修改系统参数。修改后使用命令link_unix 重新链接核心,并重新启动UNIX。注意:如果提示修改的参数超界,则需修改相应核心参数的上界。

三.准备informix初始化环境

  1) 编辑/etc/hosts文件,登记网络各机器的名字及网络地址,例如:
  IP地址 主机名
  192.168.1.2  styx     (informix_server1本机)
  192.168.1.5  styx1   (informix_client1客户机)
  
  2) 修改 /etc/services,增加informix服务端口名,
  一般在该文件的最后一行加入新的两行, 例如:
  sqlexec      9999/tcp #informix
  sty_service  7777/tcp #informix
  其中,online_service是informix服务名,7777为端口号,tcp为传输协议,该端口号必须唯一,
  如果和其它端口号有冲突,可以修改。
  
  3) 编辑$INFORMIXDIR/etc/sqlhosts文件

  数据库服务器名  网络协议   主机名  服务名
  sty            onipcshm     styx    sqlexec           (本机服务)
  sty_tcp        ontlitcp     styx    sty_service       (本地或远程)
  
  第一行sty为INFORMIX-ONLINE的server名,onlipcshm是共享内存方式连接(只限本地),
  styx是本地主机名(hostname),sqlexec是服务名。
  第二行sty_tcp是增加的一个数据库服务器别名,ontlitcp是使用传输层TCP/IP(本地或远程)
  访问数据库,sty_service是第3)步/etc/services中sty_service。
  
  4)语言支持设置
  以informix用户注册,
   $cd msg
   $mv zh_cn zh_CN.gb
   目的是为了主控台较好的使用,可将语言包目录转移。


  5)设置环境变量

  
    以informix用户注册,编辑.profile文件,增加以下内容:

  
  INFORMIXDIR=/usr/Informix

  
  PATH=$INFORMIXDIR/bin:$HOME/bin:$PATH:.

  
  INFORMIXSERVER=sty   (数据库服务器名)

  
  ONCONFIG=onconfig.sty  (ONCONFIG配置文件)

  
  DB_LOCALE=zh_CN.gb

  
  CLIENT_LOCALE= zh_CN.gb

  
  DBDATE=MDY4/         (日期类型)

  
  export INFORMIXDIR PATH ONCONFIG DB_LOCALE  CLIENT_LOCALE  DBDATE

  
   .profile文件编辑后,需退出该用户并重新进入。

  
  6)准备ONCONFIG配置文件,

  
  配置ONCONFIG文件(onconfig.sty)
  $ cd /usr/informix/etc(配置文件所在目录)
  $cp onconfig.std onconfig.sty(从标准配置文件中拷贝一份,作为配置自己系统的基础)。
  用vi 编辑器修改onconfig.sty文件中的值,由于文件中的参数多,所以我主要把重要的参数进行说明:
  ROOTNAME=rootdbs #这里我们取缺省rootdbs
  ROOTPATH=/usr/informix/workdir  # rootdbs的第一个chunk所在原始设备全路径名,
  dbs为我们在前面配置的原始dbspaces。
  ROOTSIZE=2000000(K)# root dbspace 第一个Chunk的大小,这些空间初始创建逻辑日志、物理日志、和sysmaster数据库,当初始完毕后,就应尽快将日志和临时表从rootdbs中移到
其它原始的dbspaces或处理过的文件中。
  DBSERVER NAME(server name)=styx #Online实例必须具有的唯一名,这个名字也是环境变量$INFORMIXSERVER的值,还应当作为$INFORMIXDIR/etc/sqlhosts中的第一个字段。
  DBSERVERALIASES(server aliases)=tcp #Online实例的别名,在网上是要唯一的,它是网络访问数据库必须的,在前面配置$INFORMIXDIR/etc/sqlhosts中要用到它。
  RESIDENT(Forced Residency)=1 #该参数决定Online实例共享内存的常驻区是否允许从操作系统的共享内存中交换出来,如果服务器的物理内存足够大(512MB以上),建议设置为1(Y),  否则为0(N)。
  LOCKS(Max of Locks)=100000 #该参数对共享内存的大小有影响,通常对于较忙的实例我们将它设置为100000。
  BUFFERS(Max of buffers)=100000 #这些缓冲区是共享内存常驻区唯一的最大消耗者,对实例共享内存的影响最大。
  MULTIPROCESSOR=1 #该参数打开或关闭多处理器封锁机制,如果系统是三个CPU以上,将它设为1(Y),如果是单CPU或双CUP建议设为0(N)。
  NETTYPE=ipcshm,1,80,CUP #共享内存数据库服务器通讯方式
  NETTYPE=tlitcp,1,80,NET #tcp数据库服务器通讯方式
  配置ONLINE的参数很多,以上是只是其中最重要的一部分。
  7)以informix用户注册,执行oninit –iy 初始化磁盘空间。

四、ONLINE数据服务器的数据空间分配

  做完online初始化后, 查看online 状态,执行命令:
  $onstat –
  屏幕显示:
  Informix Dynamic Server Version 7.31.UC7    -- On-Line -- Up 9 days
  00:24:34 --77824 Kbytes
  说明online正常启动。



  
  说明:已创建指向磁盘分区的符号链接
  创建 dbspace:编辑crdbs.sh(创建 dbspace)
  $vi crdbs.sh
  onspaces -c -d logdbs -p /usr/informix/workdir/logdbs -o 0 -s 1000000
  onspaces -c -d phydbs -p /usr/informix/workdir/phydbs -o 0 -s 250000
  onspaces -c -d tempdbs -t -p /usr/informix/workdir/tempdbs -o 0 -s 2000000  (临时空间)
  onspaces -c -d datadbs -p /usr/informix/workdir/datadbs0 -o 0 -s 2000000
  onspaces -a datadbs -p /usr/informix/workdir/datadbs1 -o 0 -s 2000000
  (增加chuck)
  $chmod 755 crdbs.sh
  $./crdbs.sh

  一下就完成增加dbspace 和添加 chuck ,查看数据空间状态,执行命令:

  $onstat –d
  Informix Dynamic Server Version 7.31.UC7    -- On-Line -- Up 9 days 01:54:27 --77824 Kbytes
  Dbspaces
  address  number   flags    fchunk   nchunks  flags    owner    name
  84c5813c 1        1        1        1        N        informix rootdbs
  84c58878 2        1        2        1        N        informix logdbs
  84c58934 3        1        3        1        N        informix phydbs
  84c589f0 4        2001     4        1        N T      informix tempdbs
  84c58aac 5        1        5        2        N        informix datadbs
   5 active, 2047 maximum
  Chunks
  address  chk/dbs offset   size     free     bpages   flags pathname
  84c581f8 1   1   0        1000000  948911            PO-  /usr/informix/workdir/rootdbs
  84c583c8 2   2   0        500000   149947            PO-   /usr/informix/workdir/logdbs
  84c584b8 3   3   0        150000   24947             PO-   /usr/informix/workdir/phydbs
  84c585a8 4   4   0        1000000  999947            PO-   /usr/informix/workdir/tempdbs
  84c58698 5   5   0        1000000  999947            PO-   /usr/informix/workdir/datadbs0
  84c58788 6   5   0        1000000  999997            PO-   /usr/informix/workdir/datadbs1
   6 active, 2047 maximum
  
  2.调整逻辑日志
   1) 计算新增逻辑日志的个数 n=logdbs大小/50M,假设logdbs 为1G,则
      N=1G/50M=20。
   2)将数据库设置为静态方式。
    $onmode –sy
   3) 在logdbs 中创建逻辑日志,执行以下命令20次。
  $onparams -a -d logdbs -s 50000
  我建议编辑shell文件 如:
  $vi crlog.sh
        onparams -a -d logdbs -s 50000
        onparams -a -d logdbs -s 50000 
        onparams -a -d logdbs -s 50000
        ………
   写20次该命令行,再执行crlog.sh,一次完成。
    $chmod 755 crlog.sh
    $./crlog.sh
   然后执行:
  $ontape -s   #空备份,使新增的逻辑日志可用。
  查看逻辑日志状态,
  $onstat –l
  Informix Dynamic Server Version 7.31.UC7    -- On-Line -- Up 9 days 04:58:49 --
  77824 Kbytes
  Physical Logging
  Buffer bufused  bufsize  numpages numwrits pages/io
    P-2  0        256      4570     33       138.48%
        phybegin physize  phypos   phyused  %used
        300035   125000   60076    0        0.00
  Logical Logging
  Buffer bufused  bufsize  numrecs  numpages numwrits recs/pages pages/io
    L-1  0        256      42       39       39       1.1        1.0
          Subsystem    numrecs  Log Space used
          OLDRSAM      42       1368
  address  number   flags    uniqid   begin        size     used    %used
  828861e8 4        U-B----  4        10080f        500      500   100.00
  8288623c 7        U---C-L  5        200035      25000     1005     4.02
  82886258 8        F------  0        2061dd      25000        0     0.00
  82886274 9        F------  0        20c385      25000        0     0.00
  82886290 10       F------  0        21252d      25000        0     0.00
  
  C:当前活动日志  B:表示可用  F:表示空日志
  将默认建立在rootdbs 中的6个逻辑日志删除,重复6次以下命令:
  $onmode –l #Force to next logical log
  确保新增的逻辑日志可用。最后执行:
  $onparams -d -l 1 -y
  $onparams -d -l 2 -y
  $onparams -d -l 3 -y
  $onparams -d -l 4 -y
  $onparams -d -l 5 -y
  $onparams -d -l 6 –y
  按要求做备份,
  $ontape -s
  
  3. 调整物理日志
     计算物理日志大小,将物理日志建立在phydbs 上。物理日志为逻辑日志大小的1/4。
  若系统新物理日志大小为1G/4=250M,则在informix 用户下,执行:
    $onmode -sy      #使实例处于quiescent状态
    $onparams -p -s 250000 -d phydbs -y
    $ontape -s      #在移动物理日志以后应立即创建一个0级备份
    $onmode -m      #使实例从quiescent状态改变到on-line状态
   4.设置临时数据空间,修改$INFORMIXDIR/etc/$ONCONFIG 文件,修改
     DBSPACETEMP   tempdbs #tempdbs 为临时数据空间名
   5.重启数据库
  $onmode –ky
  $oninit
  检查数据库是否正常启动:
  $onstat –
  Informix Dynamic Server Version 7.31.UC7    -- On-Line -- Up 0 days 00:08:49 --
  77824 Kbytes

Tags:数据库
相关文章列表:
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明