DB2(Linux-CentOS)安装及编译环境搭建

时间:2022-06-21 01:22:46

[DB2(Linux)安装及编译环境搭建]

安装db2 v8.1

1、从ftp://192.168.0.1/software/DB/DB2_V81_ESE_LNX_32_NLV.tar下载linux db2安装包

2、解压安装包 tar xvf DB2_V81_ESE_LNX_32_NLV.tar

3、开始安装./db2_install

  稍后会出现:

    DB2.ADMCL      DB2 Administration Client for LINUX26

    DB2.ESE        DB2 Enterprise Server Edition for LINUX26

    DB2.ADCL       DB2 Application Development Client for LINUX26

  

    输入大写DB2.ESE回车,开始安装,执行完后会在在/opt目录自动创建IBM/db2/V8.1目录

4、创建DB2用户及组:

    useradd db2adm1

    useradd db2inst1

    密码一般设为与用户名一致

5、创建db2管理服务器实例:

   root用户进入 /home/db2adm1

   执行 /opt/IBM/db2/V8.1/instance/dascrt -u db2adm1

  如果报管理实例无法启动:

   执行rm /home/db2adm1/das,重建DB2ADMIN,然后再执行上步

6、创建db2数据库实例:

   root用户进入 cd /home/db2inst1

   执行 /opt/IBM/db2/V8.1/instance/db2icrt -u db2inst1 db2inst1

  执行成功时显示:

       DBI1070I Program db2icrt completed successfully.

  如果返回tail 22

       tail: cannot open `+2' for reading: No such file or directory

       vi /opt/IBM/db2/V8.1/instance/db2iutil 将 tail +2 改为 tail -n +2(共三处)

  如果返回:

       DBI1281E The database manager configuration file could not be initialized.

       Explanation:An error occurred when attempting to initialize the database            manager configuration file. A DB2 instance could not be created or migrated.

     检查linux信息:

       # uname -a

       # hostname

         dbserver

       # vi /etc/hosts

       127.0.0.1    localhost

       127.0.0.1    dbserver

7、检查db2服务端口,没有则添加(一般安装程序已经自动添加):

    # vi /etc/services

    DB2_db2inst1 60000/tcp

    DB2_db2inst1_1 60001/tcp

    DB2_db2inst1_2 60002/tcp

    DB2_db2inst1_END 60003/tcp

7、设置db2实例运行环境变量(可在补丁安装后执行)

    1 进入db2inst1用户: su - db2inst1

    2 启动数据库: db2start

    3 设置允许db2通过tcpip方式访问: db2set DB2COMM=tcpip 

  设置db2实例中的服务端口: db2 update dbm cfg using svcename DB2_db2inst1

      设置成功查看: db2 get dbm cfg |grep svcename

    5 设置页代码:   db2set DB2CODEPAGE=1386

      建立数据库时和访问数据库时的DB2CODEPAGE参数必须保持一致,并且该参数只有重新启      动数据库管理进程才能生效。

    6 设置中文代码: db2set DB2COUNTRY=86

    7 其它变量设置(可选)

      db2set DB2_STRIPED_CONTAINERS=on

      变量说明:当创建DMS表空间容器(设备或文件)时,会在该容器开始处存储一个单页标       记,其余页可由DB2存储数据,并分组成按快大小确定的块。为了能使块按照RDID条排列       ,且使I/O最优,因此必须将DB2注册表变量DB2_STRIPED_CONTAINERS设置为"ON"

      

      db2set DB2_PARALLEL_IO=*

      变量说明:当对表空间容器读写数据时,若数据库中的容器大于1DB2可以使用并行          I/O,可以发出并行读写调用。因此修改注册表变量DB2_PARALLEL_IO“*”,表示每个        表空间,也可以设置为由逗号分开的表空间ID的列表,例如:

      db2set DB2_PARALLEL_IO=1,2,4,8(对表空间1,2,48打开并行I/O

      

      db2set DB2INCLUDE=头文件目录

      设置sql头文件目录,该参数仅用于开发环境

  

    8 查看当前环境变量,检查环境变量的设置情况

?    db2set –all

安装db2 V8.1补丁

1、解压db2补丁包 tar -xvf db2_FP15_MI00189.tar

2、执行./installFixPak -y

3、进入/opt/IBM/db2/V8.1/instance目录执行./db2iupdt -e

安装db2 V8.1许可文件

1、将db2ese.lic拷到任意目录,/tmp

2、用root赋予操作权限 chmod 777 db2ese.lic

3、用db2inst1用户执行 db2licm -a /tmp/db2ese.lic

4、可用db2licm -l 命令查看db2许可情况

5、第3步执行后报错,进入/var/lum目录 执行vi nodelock,将文件中的#号全部去掉

为其它用户赋db2操做权限

1、在用户的环境变量文件(~.bash_peofile)中加上

if [ -f /home/db2inst1/sqllib/db2profile ]; then

. /home/db2inst1/sqllib/db2profile

fi

2、编辑/etc/group根据需要把用户名加到db2的组中,如:

dasadm1:x:102:db2inst1,root

db2inst1:x:103:root

查看db2实例组:db2 get dbm cfg|grep SYSADM_GROUP

                                         

3、设置其它变量:

db2set

db2set DB2INCLUDE=头文件目录1:头文件目录2

DB2COUNTRY=86

DB2COMM=tcpip

DB2CODEPAGE=1386

DB2AUTOSTART=TRUE

()

root运行db2start报:

SQL1092N "ROOT " does not have the authority to perform the requested command.

这是因为root的权限不够,要把root加到SYSADM_GROUP,那怎么知道SYSADM_GROUP具体是什么呢?

使用db2用户执行下列命令:

$:db2 get dbm cfg|grep SYSADM_GROUP

SYSADM group name (SYSADM_GROUP) = DB2GRP1

编辑/etc/grouproot加到DB2GRP1组中就可以

其它配置:

# cd /opt/IBM/db2/V8.1/instance

# ./db2iauto -on db2inst1 设置自启动

db2cc无法启动

  从IBM网站下载IBMJava-1.4.2安装到/opt/目录,换名为IBMJava-1.4.1(欺骗系统)

创建共享库链接

    # cd /home/db2inst1

    # /opt/IBM/db2/V8.1/cfg/db2ln