Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » DB2  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 IBM DB2 项目中实践操作步骤(遇到了jar包注册问题)
wbjsly





发贴: 12
积分: 10
于 2004-03-03 13:10 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
DB2在HP11i上的安装、配置

第1步:
  找到合适的JAVA版本,安装测试JAVA是否能正常工作。
  本次安装的是从HP网站上下载的sdk_1-3-1-07,
  地址是:http://www.hp.com/products1/unix/java/java2/sdkrte1_3/downloads/license_sdk_1-3-1-07_pa-risc.html
  文件存放在102机器的tmp下,文件名:sdk13_13107_1100.depot
  注:一般情况下在安装完HP 11.11后,操作系统已经默认安装了JDK1.3,我们是因为在作测试时把原来的删除掉了,所以才需要重装JDK.
第2步:
  安装DB2
  安装前必须在系统上创建三个组(db2asgrp,db2fadm1,db2iadm1)和三个用户(db2as,db2fenc1,db2inst1),三个用户分别属于三个组,
  要注意的是三个用户和组的ID号必须两个机器完全一致,否则双机就不能连通。
  安装DB2数据库32位版本,安装过程中不需要创建实例。
  在CDROM下执行db2setup
  
第3步:
  安装DB2的两个补丁包
  打DB2的补丁9和10,如果是64位的补丁系统不能安装。
  补丁文件名(文件存放在102机器的/var/db2patch下):
    FP9_U486942.tar
    FP10_U488495.tar

第4步:
  创建实例

  /opt/IBMdb2/V7.1/instance/db2icrt -w 32 -s EE -u db2fenc1 db2inst1
 
  请注意创建的是一个32位的EE版(不是EEE版)的数据库实例,后面的db2fenc db2inst1参数必须和在10.104.14.101上创建实例的参数一致,否则双机就会出现问题.
 
第5步:
  1. cd /home/db2inst1/sqllib/java12
   ./usejdbc2(使用JDBC2)
   cp /home/db2inst1/sqllib/java12/db2java.zip /home/db2inst1/sqllib/java/db2java.zip
  
   在root用户下修改文件*.udf的属性(文件在102机器的home下) chmod 777 *.udf
  
  下面的命令在
  su - db2inst1(切换到db2inst1用户)后执行
  2. db2 update dbm cfg using jdk11_path /opt/java1.3
  3. db2set db2_use_jdk12=1
  4. export SHLIB_PATH=/opt/java1.3/jre/lib/PA_RISC:/opt/java1.3/jre/lib/PA_RISC/classic:/home/db2inst1/sqllib/lib:/usr/libEmbaressedSHLIB_PATH
   注:实际当中需要把以上的内容增加到文件/home/db2inst1/.profile的最后面。
  5. db2stop
   db2start
  以下6-8为了测试所建立的数据库,实际使用过程中可以不建。
  6. db2sampl(创建sample数据库)
   db2 connect to sample
   db2 -v "call sqlj.install_jar('file:/home/ora8UDFs.jar','ora8.sxfm')"
  7. db2 -td! -v -f mtkora8sxfm.udf(注册函数)
  8. db2 "values(ora8.to_char(current timestamp))" (测试函数是否注册成功)

第6步:
   创建数据库和表空间:   
将tablespace.ddl文件上传到/home/db2inst1下修改文件属性
chmod 777 *.ddl
1.备份数据库
  db2 backup db sxfm to /var
  在/var目录下看是否有一个类似SXFM.DB2INST1.NODE0000.CATN0000.20030903.100003.001的文件
  如果没有说明没有备份好,下面的工作不能进行.
2.删除原来的数据库
  db2 drop db sxfm
注:第一次做时不需要先备份,再删除。
3.创建数据库:
  db2 create db sxfm on /db_system using codeset GBK territory CN创建数据库使用GBK的字符集
4.创建缓冲池
  db2 connect to sxfm user sxfm using sxfm
    CREATE BUFFERPOOL "USERBP" SIZE 424 PAGESIZE 32768 NOT EXTENDED STORAGE
  db2 terminate(注意需要终断所有数据库的连接,否则数据库不能重启)
5.创建表空间(速度可能比较慢)
db2 connect to sxfm user sxfm using sxfm
db2 -tvf tablespace.ddl

第7步:
  注册UDF包:
将object.ddl上传到/home/sxfm下修改文件属性
chmod 777 /home/sxfm/object.ddl
  
1.转换到sxfm用户下注册ORACLE函数包
su - sxfm
db2 connect to sxfm user sxfm using sxfm
  db2 -v "call sqlj.install_jar('file:/home/sxfm/ora8UDFs.jar','ora8.sxfm')"
db2 -td! -v -f mtkora8sxfm.udf
db2 "values(ora8.to_char(current timestamp))" (测试安装是否成功)
注:在双机热备的第二台机器上只需要把ora8UDFs.jar包安装上就可以了,不需要执行注册db2 -td! -v -f mtkora8sxfm.udf

2.用object.ddl文件生成数据对象
db2 connect to sxfm user sxfm using sxfm
db2 -tvf object.ddl
这个脚本的运行时间比较长(近8分钟),请耐性等候.
3.重复第三步的工作两遍(由于函数的嵌套调用,有先后生成的问题)
4.导入基础数据
第一步:
用二进制方式将db2move.tar上传到/home/sxfm/db2move目录下面
tar -xvf db2move.tar将这个tar文件解开到/home/sxfm/db2move
chmod 777 /home/sxfm/db2move/*.*
第二步:
su - sxfm
cd /home/sxfm/db2move
db2 connect to sxfm user sxfm using sxfm
db2move sxfm import(使用db2move配合import将数据导入)
第8步:
安装HP的C++编译器aC++,并编译所有存储过程
  1.请HP工程师将aC++安装在默认的路径下面,这样配置修改的最少.
  2.将testProcedure.ddl和procedure.ddl文件上传到/home/sxfm下 chmod 777 *.ddl
   3.设置DB2_SQLROUTINE_COMPILE_COMMAND环境变量
   db2set DB2_SQLROUTINE_COMPILE_COMMAND=aCC +DAportable +u1 +z -ext -I$HOME/sqllib/include SQLROUTINE_FILENAME.C -b -o SQLROUTINE_FILENAME -L$HOME/sqllib/lib -ldb2
  4.db2 connect to sxfm user sxfm using sxfm
  5.db2 -td! -v -f testProcedure.ddl来生成一个测试使用的存储过程
  6.如果出现SQL7032N错误则表示C++编译器还是没有配置好.
    如果存储过程生成成功则:
    db2 -td! -v -f Procedure.ddl
    这个过程很慢,请耐心等候.
 

附录:

挂上光驱命令: mount /dev/dsk/c1t2d0 /cdrom

删除光驱命令:umount /cdrom

安装软件命令:swinstall -s /cdrom

查找命令:find / -name db2diag.log -print

检查在目录下的数据库文件 du /db_system

删除数据库别名 db2 uncatalog db sxfm

测试数据库是否能够执行原ORACLE的函数 db2 "values(ora8.to_char(current timestamp))"

把数据库实例挂接到指定的目录下 db2 catalog db sxfm on /db_system

删除数据库实例 /opt/IBMdb2/V7.1/instance/db2idrop -f db2inst1

创建数据库实例 /opt/IBMdb2/V7.1/instance/db2icrt -w 32 -s EE -u db2fenc1 db2inst1

查看Database Manager Configuration命令 db2 get dbm cfg

查看数据库当前的所有别名 db2 list db directory

修改Database Manager Configuration的属性SVCENAME为db2cdb2inst1的命令 db2 updata dbm cfg using SVCENAME db2cdb2inst1

生成数据库脚本:su - db2inst1
db2look -d sxfm -a -o /home/sxfm.ddl -e -m -x -l -i sxfm -w sxfm

DB2日志文件:/home/db2inst1/sqllib/db2dump/db2diag.log


wbjsly edited on 2004-03-03 13:25


flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923