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