如何在aix环境下创建DB2数据库

如何在aix环境下创建DB2数据库,第1张

查看环境变量 db2set 如果发现db2set中db2codepage不是819,执行以下是代码片段:db2set db2codepage=819db2 create database test05 on /home/db2inst1db2 connect to test05 user db2inst1 using db2 创建对应pagesize大小的缓冲池和表空间以下是代码片段:db2 CREATE Bufferpool USER8 SIZE 1000 PAGESIZE 8Kdb2 CREATE Bufferpool USER16 SIZE 1000 PAGESIZE 16 Kdb2 CREATE Bufferpool USER32 SIZE 1000 PAGESIZE 32 Kdb2stop force ( 可以先用:db2stop 、db2 terminate进行停止)db2startdb2 connect to test05 user db2inst1 using db2db2 "CREATE REGULAR TABLESPACE TS_USER8 PAGESIZE 8K MANAGED BY SYSTEM USING ('FSMS_8K_1') BUFFERPOOL USER8"db2 "CREATE REGULAR TABLESPACE TS_USER16 PAGESIZE 16K MANAGED BY SYSTEM USING ('FSMS_16K_1') BUFFERPOOL USER16"db2 "CREATE REGULAR TABLESPACE TS_USER32 PAGESIZE 32K MANAGED BY SYSTEM USING 创建临时表空间(用于缓冲查询结果或者临时表)以下是代码片段:db2 CREATE Bufferpool TMPBUF8 SIZE 10000 PAGESIZE 8Kdb2 "CREATE TEMPORARY TABLESPACE TempTS_USER8 PAGESIZE 8K MANAGED BY 给相关用户付权限以下是代码片段:db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,LOAD ON DATABASE TO USER EASYMISdb2 GRANT USE OF TABLESPACE TS_USER8 TO easymisdb2 GRANT USE OF TABLESPACE TS_USER16 TO easymisdb2 GRANT USE OF TABLESPACE TS_USER32 TO easymis 开始创建表、创建(这种方式是直接创建表、视图的方式,如果采用db2move的方式,那么则不需要)以下是代码片段:db2 connect to test05 user easymis using easymisdb2 -f dbstructsql >crttablogdb2 -f viewsql >crtviwlog 恢复db2move备份的数据库(备份的过程参见后面的db2move的说明)以下是代码片段:db2move test05 import -l /home/db2inst1/wk/test04db2 -tvf viewsql >crtviewlog #如果脚本是db2look,命令结束符为分号,行结束无特殊符号

通过开始菜单找到“DB2命令窗口(Administrator)”,打开之后运行“db2sampl”,创建样本数据库,然后可以“db2 connect to sample”连接到sample数据库中,对各种表(可以通过db2 list tables查看到所有表)开始 *** 作。

DB2的用户需要通过 *** 作系统创建,如果只是练习使用,不需要新建用户,直接用管理员账号 *** 作即可。

在命令行处理器中只能执行数据库命令,在命令窗口中可以执行 *** 作系统命令。在命令行处理器中执行quit命令,就会返回命令窗口。在命令窗口执行db2 ,就可进行命令行处理器。在命令窗口执行db2命令时,在前面加db2并用""把sql语句包起来。创建数据库可以查询一下帮助 在命令行处理器中执行 create db 回车。或在命令窗口执行db2 create db

查询错误 db2 sql1024N

DB2错误分为sqlcode 和sqlstate 1024N或1052N为sqlcode

C:\Program Files\IBM\SQLLIB\BIN>db2 sql1024n

SQL1024N 不存在数据库连接。

说明:

没有与数据库连接。除非先前执行了 SQL CONNECT,否则不能处理其他 SQL 语句

无法处理该命令。

用户响应:

如果与数据库断开连接时发生错误,那么继续处理。如果在另一条 SQL 语句中发

生错误,那么发出 SQL CONNECT 语句,并重新提交该命令或语句。

sqlcode:-1024

sqlstate:08003

1) 了解分区定义

分区定义可以从节点配置文件(db2nodescfg)得到,其位于实例所有者的主目录中,它包含一些配置信息,告诉 DB2 有哪些服务器参与分区数据库环境的实例。分区数据库环境中的每个实例都有一个 db2nodescfg 文件。对于每个参与实例的服务器,db2nodescfg 文件必须包含一个条目。当创建实例时,会自动创建 db2nodescfg 文件并对拥有实例的服务器添加条目。这里我们假设有4个分区。

2) 创建数据库

create db dpfdb;

默认会创建3个分区组IBMCATGROUP(只在0号分区上)

IBMTEMPGROUP ,IBMDEFAULTGROUP(在所有分区上),如果用户没有创建其他分区组,所创建的表空间会默认放在IBMDEFAULTGROUP上

3) 创建分区组

我们在 1到3号分区建立一个分区组

CREATE DATABASE PARTITION GROUP USERGROUP ON DBPARTITIONNUMS(1,2,3);

4) 创建表空间

CREATE TABLESPACE TS IN USERGROUP MANAGED BY DATABASE USING (file '/DB2containers/TScontainer $N' 10000)

有4个containers被创建

/DB2containers/TScontainer0 - on DATABASE PARTITION 0

/DB2containers/TScontainer1 - on DATABASE PARTITION 1

/DB2containers/TScontainer2 - on DATABASE PARTITION 2

/DB2containers/TScontainer3 - on DATABASE PARTITION 3

5) 创建表

CREATE TABLE DPFTABLE (ID INTEGER NOT NULL,

NAME CHAR(20) NOT NULL)

IN TS

PARTITIONING KEY (ID) USING HASHING;

一、创建用户和组

1、使用root用户添加系统用户

/usr/sbin/groupadd -g 1997 db2igrp

#instance所在的group,加入这个group的所有用户都具有DBA权限/usr/sbin/groupadd -g 1998 db2fgrp

#fenced用户所在的group/usr/sbin/useradd -u 1997 -g db2igrp -d /cbusdb/db2inst1 db2inst1

#db2inst1用户/usr/sbin/useradd -u 1998 -g db2fgrp -d /cbusdb/db2fenc1 db2fenc1

#db2fenc1用户/usr/sbin/groupadd db2fadmin

/usr/sbin/useradd -g db2fadmin db2admin

2、使用root用户添加数据库账号

/opt/ibm/db2/V105/instance/db2icrt -s ese -u db2fenc1 db2inst1

#在所有的机器上,使用root用户,建立db2 admin server:

/opt/ibm/db2/V105/instance/dascrt -u db2admin#启动db2 admin server:

db2admin start

3、修改节点配置文件

#vim /cbusdb/db2inst1/sqllib/db2nodescfg0 cbusdb01 0

1 cbusdb01 1

2 cbusdb02 0

3 cbusdb02 1

4、修改实例参数

su - db2inst1

db2iauto -on db2inst1

db2set DB2_SKIPINSERTED=on

db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ondb2set DB2_EVALUNCOMMITTED=on

db2set DB2_SKIPDELETED=on

db2set DB2COMM=TCPIP

db2set DB2FCMCOMM=TCPIP4

db2set DB2RSHCMD=/bin/rsh

#注意如果配置的ssh则此处需要修改成

db2set DB2RSHCMD=/usr/bin/ssh

db2set DB2CODEPAGE=1386

db2set DB2TERRITORY=86

db2set DB2_PARALLEL_IO=

5、配置服务端口

DB2c_db2inst1 61000/tcp

DB2_db2inst1 61001/tcp

DB2_db2inst1_1 61002/tcp

DB2_db2inst1_2 61003/tcp

DB2_db2inst1_3 61004/tcp

DB2_db2inst1_4 61005/tcp

DB2_db2inst1_END 61008/tcp

6、调整系统参数,设置dpf所需的资源

/sbin/sysctl -w kernelsem=“250 32000 32 1024”/sbin/sysctl -w kernelmsgmnb=16384

/sbin/sysctl -w kernelmsgmni=1024

/sbin/sysctl -w kernelmsgmax=8192

/sbin/sysctl -w kernelshmmni=4096

/sbin/sysctl -w kernelshmall=2097152

/sbin/sysctl -w kernelshmmax=1073741824

7、修改环境变量

cat 。/sqllib/db2profile 》profile

vi bash_profile #添加如下信息:

/cbusdb/db2inst1/sqllib/db2profile

二、配置主机名

分别在两台主机上修改如下文件:

#vi /etc/sysconfig/network

#-------------------------

#NETWORKING=yes

#HOSTNAME=cbusdb01

#-------------------------

#vi /etc/hosts

#-------------------------

#127001 localhost localhostlocaldomain localhost4 localhost4localdomain4 cbusdb01#::1 localhost localhostlocaldomain localhost6 localhost6localdomain6#1921681122 cbusdb01

#1921681123 cbusdb02

#-------------------------

三、配置rsh

rsh是远程运行shell的服务db2使用rsh服务运行启动和停止数据库服务器的命令,以及大部分管理命令。

1、安装rsh

#yum install rsh

2、配置rsh的安全文件

#vi /etc/securetty

#add the content

#------------------

#rsh

#rlogin

#rexec

#------------------

3、修改rsh的配置参数/etc/xinetdd/rsh ##在生产环境建议配置ssh免密登录

#vi /etc/xinetdd/rsh

service shell

{

socket_type = stream

wait = no

user = root

log_on_success += USERID

log_on_failure += USERID

server = /usr/sbin/inrshd

disable = no

}

4、修改rsh的配置文件rlogin

#vi /etc/xinetdd/rlogin

service login

{

disable = no

socket_type = stream

wait = no

user = root

log_on_success += USERID

log_on_failure += USERID

server = /usr/sbin/inrlogind

}

4、免密登陆,实例用户db2inst1的家目录中创建rhosts文件

cat $HOME/rhosts

cbusdb01 db2inst1

cbusdb02 db2inst1

5、CentOS70需要单独下载xinetd

yum install xinetd #低于此版本可不下载

6、重启rsh服务

service xinetd restart

7、验证rsh服务

rsh cbusdb01 date

rsh cbusdb02 date

#db2_all echo hi 没有返回

yum install ksh

四、配置时钟服务器

1、安装ntp服务器

#yum install ntp

# ntpdate -u 2021121036

#ntpdate cnpoolntporg

#service ntpd start

#chkconfig ntpd on

2、修改ntp配置

#允许内网其他机器同步时间

restrict 19216810 mask 2552552550 nomodify notrap

#互联网时间服务器

server 2107214544 perfer # 中国国家受时中心server 2021121036

# 1cnpoolntporgserver 5912419683

# 0asiapoolntporg#允许上层时间服务器主动修改本机时间

restrict 2107214544 nomodify notrap noquery

restrict 2021121036 nomodify notrap noquery

restrict 5912419683 nomodify notrap noquery

#外部时间服务器不可用时,以本地时间作为时间服务

server 127001

fudge 127001 stratum 10

3、修改时区

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

clock -w

4、在节点2上配置时钟服务器

/5 /usr/sbin/ntpdate cbusdb01

五、配置nfs服务

1、yum install nfs

# yum install portmap rpcbind #安装nfs客户端

2、配置需要共享的资源

#vi /etc/exports

/cbusdb (rw,sync,no_root_squash)

/cbusdblog (rw,sync)

3、启动nfs server

service rpcbind start

service nfs start

service nfslock restart

4、导出资源

exportfs -rv

5、显示NFS Server上所有的共享卷

showmount -e

6、在客户端挂载共享目录

#mount 1921681122:/cbusdb /cbusdb

#vi /etc/fstab

cbusdb01:/cbusdb /cbusdb nfs rw,timeo=300,retrans=5,hard,intr,bg,nolock,suid

六、关闭selinux

vim /etc/sysconfig/selinux

#SELINUX=disabled

七、测试、创建数据库

1、启动数据库

#db2start

2、创建数据库

#db2 “create db cbusdb on /cbusdblog using codeset gbk territory cn”

以上就是关于如何在aix环境下创建DB2数据库全部的内容,包括:如何在aix环境下创建DB2数据库、如何安装db2数据库、求助各位大神,小弟初学IBM DB2,求助关于数据库创建问题,多谢!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9519008.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存