码迷,mamicode.com
首页 > 数据库 > 详细

LINUX下Db2安装

时间:2016-07-19 02:21:01      阅读:817      评论:0      收藏:0      [点我收藏+]

标签:db2数据库安装   db2配置端口   

LINUX下Db2安装

1.解压db2_v101_linuxx64_expc.tar.gz

2.执行./db2_install

3.创建用户组和用户

 DB2没有独立的用户管理系统,必须借用OS用户来提供安全性认证,所以这里需要创建 LINUX用户和组。一共创建了3个组,每个组一个用户。其作用和含义分别是:

 数据库管理服务器DAS用户 dasusr1 组名: dasadm1
 管理实例的用户 db2inst1 组名:db2iadm1
 受防护用户 db2fenc1 组名: db2fadm1

[root@localhost  bin]# groupadd -901 db2iadm1
技术分享[root@localhost  bin]# groupadd -902 db2fadm1
技术分享[root@localhost bin]# groupadd -903 dasadm1
技术分享[root@localhost  bin]# useradd -g db2iadm1 -801 -/home/db2inst1 -m  db2inst1
技术分享[root@localhost  bin]# useradd -g db2fadm1 -802 -/home/db2fenc1 -m   db2fenc1
技术分享[root@localhost  bin]# useradd -g dasadm1 -803 -/home/dasusr1 -m  dasusr1
技术分享
技术分享[root@localhost  bin]# passwd db2inst1
技术分享技术分享passwd: all authentication tokens updated successfully.

[root@localhost  bin]# passwd db2fenc1

[root@localhost bin]# passwd  dasusr1
技术分享
技术分享[root@localhost  bin]# more /etc/group |grep db2
技术分享db2grp:x:901:
技术分享db2fgrp:x:902:
技术分享db2agrp:x:903:
技术分享
技术分享[root@localhost 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用户时就会自动执行这个脚本。db2das用户的设置脚本文件位于/home/db2das/das/dasprofile,同样需要执 行这个脚本,才能执行db2admin等命令。用db2ilist命令可以查出当前已创建的实例名。

技术分享[root@localhost server]# cd /opt/ibm/db2/V10.1/instance
技术分享[root@localhost instance]# ./dascrt -dasusr1 (注:创建DB2管理服务器)
技术分享SQL4406W  The DB2 Administration Server was started successfully.
技术分享DBI1070I  Program dascrt completed successfully.
技术分享
技术分享[root@localhost instance]# ./db2icrt -u db2inst1 db2inst1


(注:创建DB2实例)或者[root@localhost instance]# ./db2icrt -a server -u db2fenc1 db2inst1 (注:创建DB2实例)
这里dascrt创建的是DB2 adminstration server,每台服务器只有一个这种server,为进行DB2管理(比如运行控制中心)所必须,同时指定其管理用户是db2dasusr1 ,db2icrt创建的是实例,其名字一般和管理用户名一样,这里db2fenc1指定db2inst1为它的防护用户,而db2inst1为一实例用户


技术分享DBI1070I  Program db2icrt completed successfully.
技术分享-sh-3.2$ db2ilist
技术分享db2inst1


启动DB2实例

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

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

root用户也可以执行db2admin start命令。如果首次执行,则会提示如下横线以下信息。一般出现在刚刚用dascrt命令创建das之后。

技术分享[root@localhost das]# su  dasusr1
技术分享-sh-3.2$ . das/dasprofile
技术分享-sh-3.2$ db2admin start
技术分享SQL4406W  The DB2 Administration Server was started successfully.
技术分享
技术分享[root@localhost 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@localhost bin]# ./db2admin start
技术分享SQL4409W  The DB2 Administration Server is already active.



5.创建和访问数据库

  首先要启动数据库实例,切换到 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 because databases are still active.
技术分享SQL1025N  The database manager was not stopped because databases are still active.
技术分享-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$ db2stop
技术分享2011-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 pagesize 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/实例名下,在此目录下包括系统表空间、用户表空间的数据文件,通 常这个目录下的空间不会太大,当需要导入大量数据时,会发生磁盘空间不足的错误,解决方法是在其他目录创建表空间,然后在创建表时指定表空间,或者在数据 库关闭状态下,将此目录移动到其他空间足够的目录,再用Linuxln -s命令将其他位置映射到此目录下。更好的办法是在一开始做好容量规划,将数据库创建目录指定到大容量的目录,具体命令行写法参考文档。软连接的例子如 下:

技术分享[db2inst1@localhost :/home/db2inst1]#>cp -R db2inst1 /arch/IBM/ts
技术分享[db2inst1@localhost :/home/db2inst1]#>du -/arch/IBM/ts/db2inst1
技术分享20111984        /arch/IBM/ts/db2inst1
技术分享[db2inst1@localhost :/home/db2inst1]#>mv db2inst1 db2inst1ori
技术分享[db2inst1@localhost :/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@localhost :/home/db2inst1]#>ln -/arch/IBM/ts/db2inst1 db2inst1


6.配置网络允许远程访问

编辑/etc/services文件在最后加入(即设置db2启动端口)

db2inst1    50000/tcp  

#su - db2inst1

$db2 update dbm cfg using SVCENAME db2inst1----设置SVCENAME,默认是5000

$db2set DB2COMM=TCPIP ----修改DB2的连接方式为TCPIP

DB2_EXTENDED_OPTIMIZATION=ON

DB2_STRIPED_CONTAINERS=ON

查看实例名:db2 get dbm cfg | grep -i service 是否是db2inst1   

更改端口

查看SVCENAME:db2 get dbm cfg | grep -i service   

如:db2inst1  ,则更改/etc/services文件中db2inst1对应的端口即可。

或者直接使用db2 update dbm cfg using SVCENAME 60000 直接更改端口。 

 开放防火墙端口50000。


本文出自 “德泽无忧” 博客,谢绝转载!

LINUX下Db2安装

标签:db2数据库安装   db2配置端口   

原文地址:http://dezewuyou.blog.51cto.com/2628602/1827417

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!