DB2--数据库安装、创建、导入

日常工作中需要用到DB2数据库(虽然很少遇到,但是总不能不会啊),所以打算在虚拟机上搭一套环境练手。折腾了蛮久,勉强算是能用了,做一下记录,供日后回顾。


安装介质

v9.7_linuxx64_server.tar.gz、db2ese_c.lic


安装步骤

  • 解压,生成server文件夹。
cd server
.\db2_install

安装时我没使用默认的路径,手动修改路径为/home/db2。--PS:我也没搞懂这边为什么要用root安装,存疑,回头试试用别的用户。

  • 添加环境变量

DB2安装完成后没有自动添加环境变量,需要手动添加。为了偷懒,我直接修改了/etc/profile文件,在export path前加了一句

PATH=$PATH:/home/db2/bin:/home/db2/adm
  • 添加用户
groupadd -g 2000 db2iadm1
groupadd -g 2001 db2fadm1
useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
passwd db2inst1
passwd db2fenc1
  • 添加授权
db2licm -a db2ese_c.lic
  • 创建数据库
cd /home/db2/instance
./db2icrt -p 50000 -u db2fenc1 db2inst1
su - db2inst1
db2sampl
db2start
db2 connect to sample
db2 "select * from staff"

das管理服务器我没有安装,虚拟机也不用远程管理的,懒了。

  • 设置端口号
vi /etc/services

在最后一行添加

db2inst1 50000/tcp
  • db2配置
su - db2inst1
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_DISABLE_FLUSH_LOG=ON
db2set AUTOSTART=YES
db2set DB2_STRIPED_CONTAINERS=ON
db2set DB2_HASH_JOIN=Y
db2set DB2COMM=tcpip
db2set DB2_PARALLEL_IO=*
db2set DB2CODEPAGE=819
  • 检查svcename
db2 get dbm cfg|grep SVCENAME

至此DB2数据库安装并创建完成。


表数据导入

  • 创建***用户

DB2的用户跟oracle完全不同,oracle可以使用create user来新建用户,而DB2的用户直接就是使用的操作系统的用户,也就是如果想添加多个用户,你需要在操作系统上添加多个用户。

useradd ****

  • 创建数据库

自己练手,先执行创建数据库语句(貌似刚刚也不需要创建sample库的)

CREATE DATABASE *** USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM USER TABLESPACE MANAGED BY DATABASE USING (FILE '/home/db2inst1/NODE0000/***/sdetbsp' 51200);
  • 导入数据

再导入原先准备好的数据库脚本

su - db2inst1
db2 connect to *** user *** using ***
db2 -tvf *.sql -z input.log

千万注意,此处必须先使用需要的用户(user using)连接至数据库,否则后续任务就默认以db2inst1用户来执行了。

执行完成后使用工具DbVisualizer 9.5.7(DB2工具真心难找,使用sqldbx需要client server,最近IBM竟然因为US的出口管制不让从官网下载了)连接进行测试,连接时需要选择数据库类型、服务器地址、database-name、端口(5000,也就是前面加到/etc/services里的记录)、用户名密码。

使用工具连接成功!明天搭建web环境测试一下功能是不是可以正常运行。

你可能感兴趣的:(数据库)