Linux下静默安装DB2 v9.7以及卸载DB2数据库的步骤

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Auspicious_air/article/details/89676551

DB2 V9.7 ESE for Linux 安装与删除

第一、 Linux 平台下安装 DB2 V9.7 ESE

安装步骤如下:

1.安装前准备工作

将下载的安装文件上传到待安装的 Linux 机器,解压缩到某个目录,产生了一个名为

Server 的子目录,进入子目录,可以看到有多个可执行的脚本,其 中 db2prereqcheck 是

先决条件检查, db2setup 是图形界面安装程序, db2_install 是命令行方式安装。还有一个

db2 目录, 保存了需要安装的二进制文件。 执行 db2prereqcheck , 如果没有返回任何结果,

表明系统符合 DB2 安装的先决条件, 可以进入下一步安装。 如果返回 信息, 请按信息提示

修改配置,然后再次运行,直到没有错误提示。

[root@redflag11012601 app]# ll v*gz

-rw-r--r-- 1 root root 810576392 05-03 19:44 v9.7_linuxx64_server.tar.gz

[root@redflag11012601 app]# tar xzf v9.7_linuxx64_server.tar.gz

[root@redflag11012601 app]# cd server

[root@redflag11012601 server]# ll

总计 64

drwxr-xr-x 6 bin bin 4096 2009-11-16 db2

-r-xr-xr-x 1 bin bin 5340 2009-11-16 db2ckupgrade

-r-xr-xr-x 1 bin bin 5293 2009-11-16 db2_deinstall

-r-xr-xr-x 1 bin bin 5163 2009-11-16 db2_install

-r-xr-xr-x 1 bin bin 5127 2009-11-16 db2ls

-r-xr-xr-x 1 bin bin 5145 2009-11-16 db2prereqcheck

-r-xr-xr-x 1 bin bin 5145 2009-11-16 db2setup

drwxr-xr-x 15 bin bin 4096 2009-11-16 doc

-r-xr-xr-x 1 bin bin 5181 2009-11-16 installFixPack

[root@redflag11012601 server]# ./db2prereqcheck

2.安装 DB2 数据库软件

以操作系统 root 用户执行 db2_install ,根据提示操作,设定安装目录和要安装的版本

等以后,耐心等待安装任务完成。 DB2 用一个安装包包括了同一操作系统平台各个版本的

功能,只要在安装类型选择企业版即可,这里我们输入 ESE 。 要注意,由于操作系统默认

语言为简体中文,安装界面也是中文提示的,而且,必须输入中文 "是 "才能更改安装目录。

和大多数 unix 下的软件一样, 软件安装 只是整个安装过程很小的一步, 要使软件能正常工

作,大量的配置和管理任务还在后头。

[root@redflag11012601 server]# ./db2_install

用于安装产品的缺省目录 - /opt/ibm/db2/V9.7***********************************************************

要选择另一个目录用于安装吗? [是/否]

输入安装目录的完整路径名 -

------------------------------------------------

/user1/ibm/db2/V9.7

指定下列其中一个关键字以安装 DB2 产品。

ESE -- 企业版

CONSV

WSE -- 工作组版

EXP -- 易捷版

PE -- 个人版

CLIENT

RTCL

按“帮助 ”以重新显示产品名称。

按“退出 ”以退出。

***********************************************************

ESE

正在初始化 DB2 安装。

要执行的任务总数为: 47

要执行的所有任务的总估计时间为: 2070

任务 #1 启动

描述:正在检查许可协议的接受情况

估计时间 1 秒

任务 #1 结束

任务 #47 启动

描述:正在注册 DB2 更新服务

估计时间 30 秒

任务 #47 结束任务 #48 启动

描述:正在更新全局概要文件注册表

估计时间 3 秒

任务 #48 结束

已成功完成执行。

有关更多信息,请参阅 "/tmp/db2_install.log.27290" 上的 DB2 安装日志。

3.创建 DB2 运行所需要的用户组和用户

DB2 没有独立的用户管理系统,必须借用 OS 用户来提供安全性认证,所以这里需要

创建 LINUX 用户和组。一共创建了 3 个组,每个组一个用户。其作用和含义分别是:

数据库管理服务器 DAS 用户 dasusr1 组名: dasadm1

管理实例的用户 db2inst1 组名: db2iadm1

受防护用户 db2fenc1 组名: db2fadm1

其中管理实例的用户 db2inst1 是最常用的,我们为它设置口令 db2 ,以便下面步骤的

正常操作。 创建完成后, 执行如下命令查看 /etc/group 和/etc/passwd , 检查用户组和用户是

否创建成功。

[root@redflag11012602 server]# groupadd -g 901 db2grp

[root@redflag11012602 server]# groupadd -g 902 db2fgrp

[root@redflag11012602 server]# groupadd -g 903 db2agrp

[root@redflag11012602 server]# useradd -g db2grp -u 801 -d /home/db2inst1 -m -s

/bin/sh db2inst1

[root@redflag11012602 server]# useradd -g db2fgrp -u 802 -d /home/db2fenc -m -s

/bin/sh db2fenc

[root@redflag11012602 server]# useradd -g db2agrp -u 803 -d /home/db2das -m -s

/bin/sh db2das

[root@redflag11012602 server]# passwd db2inst1

Changing password for user db2inst1.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@redflag11012602 server]# more /etc/group |grep db2db2grp:x:901:

db2fgrp:x:902:

db2agrp:x:903:

[root@redflag11012602 server]# more /etc/passwd |grep db2

db2inst1:x:801:901::/home/db2inst1:/bin/sh

db2fenc:x:802:902::/home/db2fenc:/bin/sh

db2das:x:803:903::/home/db2das:/bin/sh

4.创建实例

需要以 root 用户创建 das 和实例。分别用下面 2 个命令:

dascrt 创建的是 DB2 adminstration server , 每台服务器只有一个这种 server , 为进行

DB2 管理 (比如运行控制中心 )所必须,同时指定其管理用户是 db2das ;

db2icrt 创建的是实例,其名字一般和管理用户名一样,这里均为 db2inst1 ;

创建成功以后,系统在 db2das 和 db2inst1 相应的 home 目录下产生了一个子目录。

/home/db2inst1/sqllib 目录中包括了 一个 db2profile 文件,包括了设定各个 db2 实例中用

到的环境变量, 如 DB2INSTANCE 和各种命令的搜索路径,库的路径等,必须执行它, 才

能进行各种操作,或者将 . ~/sqllib/db2profile 一行加入 /home/db2inst1/.profile 文件 (因为创

建 db2inst1 用户时指定了 shell 类型是 /bin/sh , 如果是其他 shell, 则采用不同的 profile 文件,

比如 bash 则采用 .bash_profile) , 这样当切换到 db2inst1 用户时就会自动执行这个脚本。 d

b2das 用户的设置脚本文件位于 /home/db2das/das/dasprofile ,同样需要执 行这个脚本,

才能执行 db2admin 等命令。用 db2ilist 命令可以查出当前已创建的实例名。

[root@redflag11012602 server]# cd /user1/ibm/db2/V9.7/instance

[root@redflag11012602 instance]# ./dascrt -u db2das

SQL4406W The DB2 Administration Server was started successfully.

DBI1070I Program dascrt completed successfully.

[root@redflag11012602 instance]# ./db2icrt -u db2inst1 db2inst1

DBI1070I Program db2icrt completed successfully.

-sh-3.2$ db2ilist

db2inst1

5.启动 DB2 实例

切换到 db2das 用户,执行 db2admin start 启动 DB2 管理服务器。

切换到 db2inst1 用户,执行 db2start 启动数据库实例。

root 用户也可以执行 db2admin start 命令。如果首次执行,则会提示如下横线以下信

息。一般出现在刚刚用 dascrt 命令创建 das 之后。

[root@redflag11012601 das]# su - db2das

-sh-3.2$ . das/dasprofile-sh-3.2$ db2admin start

SQL4406W The DB2 Administration Server was started successfully.

[root@redflag11012602 instance]# su - db2inst1

-sh-3.2$ ls

Desktop sqllib

-sh-3.2$ . sqllib/db2profile

-sh-3.2$ db2start

05/05/2011 20:13:08 0 0 SQL1063N DB2START processing was successful.

SQL1063N DB2START processing was successful.

----------

[root@redflag11012601 bin]# ./db2admin start

SQL4409W The DB2 Administration Server is already active.

6.创建和访问数据库

首先要启动数据库实例,切换到 db2inst1 用户,执行 db2start 命令启动数据库实例。

若需要,首先用 db2stop 命令停止实例,如果 db2stop 命令不能成功执行,可运行下

面的命令来关闭数据库实例。首先在 db2inst1 用户下强制关闭实例上的所有应用程序。

$ db2 force applications all

$ db2stop 关闭数据库实例。

上述步骤也可以简化为改用 db2stop force 命令。

启动数据库实例后用 db2 create database 命令创建数据库,可以设定字符集、页大

小等数据库选项。

数据库创建成功后, 可以用 db2 connect to 命令连接数据库。 然后就可以进行创建表、

查询等操作了。

如果要尽快测试 db2 数据库的功能,也可以用命令创建 db2 自带的 sample 数据库。

-sh-3.2$ db2stop

2011-05-09 11:01:56 0 0 SQL1025N The database manager was not stopped beca

use databases are still active.

SQL1025N The database manager was not stopped because databases are still ac

tive.

-sh-3.2$ db2 force applications all

DB20000I The FORCE APPLICATION command completed successfully.

DB21024I This command is asynchronous and may not be effective immediately.

-sh-3.2$ db2stop2011-05-09 11:06:03 0 0 SQL1064N DB2STOP processing was successful.

SQL1064N DB2STOP processing was successful.

-sh-3.2$ db2start

05/08/2011 11:14:24 0 0 SQL1063N DB2START processing was successful.

SQL1063N DB2START processing was successful.

-sh-3.2$ db2 "create database tpch USING CODESET UTF-8 TERRITORY CN pag

esize 32 K"

DB20000I The CREATE DATABASE command completed successfully.

-sh-3.2$ db2 connect to tpch;

Database Connection Information

Database server = DB2/LINUXX8664 9.7.4

SQL authorization ID = DB2INST1

Local database alias = TPCH

db2 => select * from dual;

DUMMY

-----

X

1 record(s) selected.

----------------------------------------------------------------------

-sh-3.2$ cd /user1/ibm/db2/V9.7/bin

-sh-3.2$ ./db2sampl

Starting the DB2 instance...

Creating database "SAMPLE"...

Connecting to database "SAMPLE"...

Creating tables and data in schema "DB2INST1"...

Creating tables with XML columns and XML data in schema "DB2INST1"...

Stopping the DB2 instance...

'db2sampl' processing complete.注意:如果创建数据库时没有指定创建位置,默认创建在 /home/db2inst1/ 实例名下,

在此目录下包括系统表空间、用户表空间的数据文件,通 常这个目录下的空间不会太大,

当需要导入大量数据时,会发生磁盘空间不足的错误,解决方法是在其他目录创建表空间,

然后在创建表时指定表空间,或者在数据 库关闭状态下,将此目录移动到其他空间足够的

目录,再用 Linux 的 ln -s 命令将其他位置映射到此目录下。更好的办法是在一开始做好容

量规划, 将数据库创建目录指定到大容量的目录, 具体命令行写法参考文档。 软连接的例子

如 下:

[db2inst1@aix:/home/db2inst1]#cp -R db2inst1 /arch/IBM/ts

[db2inst1@aix:/home/db2inst1]#du -sh /arch/IBM/ts/db2inst1

20111984 /arch/IBM/ts/db2inst1

[db2inst1@aix:/home/db2inst1]#mv db2inst1 db2inst1ori

[db2inst1@aix:/home/db2inst1]#ls -l

total 8

drwxrwxr-x 3 db2inst1 db2iadm1 256 May 10 16:03 db2inst1ori

drwxrwsr-t 23 db2inst1 db2iadm1 4096 May 10 15:49 sqllib

[db2inst1@aix:/home/db2inst1]#ln -s /arch/IBM/ts/db2inst1 db2inst1

7.设置 DB2 自启动

使用 root 用户执行 db2iauto 命令,设置对 db2inst1 实例在 LINUX 启动时自动启动。

这一步是可选的。用户应该按自己的实际需要决定是否设置。选项 -on 表示自动启动, -off

表示不随操作系统启动自动启动。

[root@redflag11012601 das]# cd /user1/ibm/db2/V9.7/instance

[root@redflag11012601 instance]# ./db2iauto -on db2inst1

[root@redflag11012601 instance]# vi /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

su - weblogic -c 'cd /bea/weblogic/bea/my_projects/domains/my_domain;nohup ./sta

rtWebLogic.sh > /bea/weblogic/web.log &'

su - db2inst1 -c db2start 加入这句开机自动启动实例

:x

8. 配置网络

DB2 软件在创建实例的过程中,自动在操作系统中增加了相关的服务 ,并指定了相应的

端口号。但 db2 并没有自动设定为通过 TCP/IP 协议访问,需要手工配置。

首先查看 /etc/services 中 db2 各个服务的端口号,这里 DB2_db2inst1 默认端口就是 60000 。

切换到 db2inst1 用户。 修改 DB2 连接方式为 TCPIP , 然后可通过 JDBC 、 ODBC 等访

问本 DB2 服务器上的数据库,安装了 DB2 客户端的其它机器也可访问数据库。

$ db2set DB2COMM=TCPIP ,设定完成后,可以通过不带参数的 db2set 命令查看结

果。

修改 DB2 的服务端口为上述默认端口号。 db2 update dbm cfg using SVCENAME

命令提示,需要重新启动实例,再用 clpplus 命令验证网络设置成功。

-sh-3.2$ db2set DB2COMM=TCPIP

-sh-3.2$ db2set

DB2_COMPATIBILITY_VECTOR=ORA

DB2_EXTENDED_OPTIMIZATION=on

DB2_LIKE_VARCHAR=y,y

DB2_HASH_JOIN=Y

DB2MEMMAXFREE=8000000

DB2MEMDISCLAIM=Y

DB2_MMAP_WRITE=NO

DB2_MMAP_READ=NO

DB2_RR_TO_RS=ON

DB2COMM=TCPIP

-sh-3.2$ db2 get dbm cfg |grep SVCENAME

TCP/IP Service name (SVCENAME) =

SSL service name (SSL_SVCENAME) =

-sh-3.2$ tail /etc/services

com-bardac-dw 48556/udp # com-bardac-dw

iqobject 48619/tcp # iqobject

iqobject 48619/udp # iqobject

# Local services

csync 2005/tcp # Cyrus IMAP Replication Daemon

csync 2005/udp # Cyrus IMAP Replication Daemon

DB2_db2inst1 60000/tcp

DB2_db2inst1_1 60001/tcp

DB2_db2inst1_2 60002/tcp

DB2_db2inst1_END 60003/tcp

-sh-3.2$ db2 update dbm cfg using SVCENAME 60000

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command comp

leted

successfully.SQL1362W One or more of the parameters submitted for immediate modification

were not changed dynamically. Client changes will not be effective until the

next time the application is started or the TERMINATE command has been issued.

Server changes will not be effective until the next DB2START command.

-sh-3.2$ db2stop force

2011-05-08 19:36:00 0 0 SQL1064N DB2STOP processing was successful.

SQL1064N DB2STOP processing was successful.

-sh-3.2$ db2start

第二、 Linux 平台下删除 DB2 V9.7 ESE

具体步骤如下:

1.停止所有的应用程序连接,并停止数据库实例

$ su - db2inst1

$db2stop force

$exit

2.删除实例

#su - root

#cd /user1/opt/ibm/V9.7/instance/

#ls

#./db2ilist 查看实例名

#./db2idrop db2inst1( 实例名 ) 删除实例

#./db2ilist

3.删除 DB2

#cd /tmp/server/ (进入 db2 V9.7 安装文件目录下 )

#./db2_deinstall -a

输入安装目录:

/user1/opt/ibm/db2/V9.7/

#cd /user1/opt/ibm/db2/

#ls

猜你喜欢

转载自blog.csdn.net/Auspicious_air/article/details/89676551