`
tomzhangmingfeng
  • 浏览: 2333 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
  DB2 数据库分区partition实验

概念:DB2 数据库分区称为节点或数据库节点,是 DB2 企业版 DPF(Data Partitioning Feature)选件提供的,它主要用来为大规模数据处理、高并发数据访问提供支持。DB2 数据库分区采用 Share-nothing 体系结构,数据库在一个非共享的环境中被分解为独立的分区,每个分区都具有自己的资源,例如内存,CPU 和磁盘以及自己的数据、索引、配置文件和事务日志。

  
    分区的优势是:通过HASH算法将文件分布存储于不同的节点目录内,可以提高相应的事务/IO操作的并发能力
  
   实验环境为linux2.6.18-194.el5,数据库版本为db2 v9.7,
   1,实验前的准备:
   1.1 两台实验机的ip为同一网段,如:172.16.10.1/24 zhang3.shaw.com;
172.16.10.2/24 zhang4.shaw.com
   1.2 两台试验机新建相同gid的group名和uid的用户名
   为db2数据库分区配置应用
   groupadd -g 502 db2iamd1
   gourpadd -g 503 db2fenc1
   同时确保DAS(database administrator)的帐号和用户uid为相同,我这里是db2i9
   相关das查看命令为
   [db2inst3@zhang3 ~]$ db2set -all |grep DB2ADMINSERVER
[g] DB2ADMINSERVER=db2i9

配置相应两端服务器的相应的hosts文件
/etc/hosts
将相应的127.0.0.1 注销掉。

相关的配置文件为/home/db2inst3/sqllib/profile.env

   用户: useradd -g 502 -u 106 db2inst3 (instance user)
          useradd -g 503 -u 107 db2fenc3(fenced user)
 
  1.3确保相应的RSH必须安装并配置,分区间通信需要,k-shell要安装在rsh软件之前(都在系统盘内,rsh-server-*.rpm,pdksh-5.2.14-36.el5.i386.rpm)
  查看相应的/etc/xinetd.d/rsh,rlogin,rexec三个配置文件中的
  disable 参数为no 状态,
  在/etc/目录下写入配置文件hostx.equiv
  将两台机器的主机名和相对应的相同访问用户添加入内(为是拥有共同UID的相同帐号的两端可以相互控制)
   1.3.1在相应的用户下配置.rhosts文件
  内容: zhang4.shaw.com db2inst3
         zhang3.shaw.com db2inst3
        
  两端数据库的相应端口要开启
rsh 544/tcp;rlogin543/tcp;rexec 8230/tcp, 8230/udp 
默认的rsh权限:注意用户位上的S表记
  -rwsr-xr-x 1 root root       8908 Mar 30  2009 rsh
  -rwsr-xr-x 1 root root       8908 Mar 30  2009 rlogin
  将系统默认的RSH程序重命名,自动使用安装的RSH
  /usr/kerberos/bin
  mv rsh rsh.vn
 
  测试连通性
  /usr/bin/rsh remote-hostname k-shell command

1.4,配置相应的NFS服务


  2,开始安装相应的分区ESE数据库
  选择定制安装并选择分区(本例为4个分区,记下相应的tcp/ip通信端口 )
这里需要注意的是在主端(zhang4.shaw.com)的服务器上定制化安装相应的实例与ses服务,而在作为从端(zhang3.shaw.com)上安装SES服务软件即可,选择不安装实例!

  3,配置分区相应的配置文件(该文件确定了本地相对应的逻辑分区组
  3.1 先确定所有数据库实例已关闭
  db2stop
在zhang4.shaw.com和zhang3.shaw.com主机上配置相应的db2SES数据库和相关实例,用户和组如下:
cat /etc/passwd
db2inst3:x:109:105::/home/db2inst3:/bin/bash
db2fenc3:x:120:106::/home/db2fenc3:/bin/bash

3.2 本例4个分区,相对应的配置如下:

 
zhang4.shaw.com 和zhang3.shaw.com主机:
zhang4.shaw.com主机上的db2nodes.cfg配置,该主机作为分区数据库的主库。
  [db2inst3@zhang4 ~]$ cat /home/db2inst3/sqllib/db2nodes.cfg
0 zhang4.shaw.com 0(此处的服务名要与os的主机名相对应)
(节点名)1 zhang3.shaw.com 0(逻辑分区名)
2 zhang4.shaw.com 1
3 zhang4.shaw.com 2
确保zhang4.shaw.com主机的db2inst3目录映射zhang3.shaw.com的db2inst3目录,便于后期数据库分区
实验的操作。

启动数据库
db2start
                      
3.3 netstat -an -t 查看数据库实例与分区相应通信状态
实例
tcp        0      0 0.0.0.0:50002               0.0.0.0:*                   LISTEN   
4个分区
tcp        0      0 192.168.102.155:60008       0.0.0.0:*                   LISTEN     
tcp        0      0 192.168.102.155:60009       0.0.0.0:*                   LISTEN     
tcp        0      0 192.168.102.155:60010       0.0.0.0:*                   LISTEN     
tcp        0      0 192.168.102.155:60011       0.0.0.0:*                   LISTEN  

相对应的端口号可以在/etc/servers文件中找到
实例
db2c_db2inst3   50002/tcp
4个分区
db2c_db2inst3   50002/tcp
DB2_db2inst3    60004/tcp
DB2_db2inst3_1  60005/tcp
DB2_db2inst3_2  60006/tcp
DB2_db2inst3_END        60007/tcp


4,配置数据库
create database info(dbname)
数据库建立了几个分区其数据库实例目录下就会出现几个节点目录
drwxrwxr-x 9 db2inst3 db2iadm1 4096 Aug  7 11:35 NODE0000
drwxrwxr-x 7 db2inst3 db2iadm1 4096 Aug  7 11:35 NODE0001
drwxrwxr-x 7 db2inst3 db2iadm1 4096 Aug  7 11:35 NODE0002
drwxrwxr-x 7 db2inst3 db2iadm1 4096 Aug  7 11:35 NODE0003



5,配置相应的分区组:在分区内部进行划分服务单元便于管理
在数据库连接的状态下进行分区组创建操作:
create database partition group t1 \
on dbpartitionnums(0 to 1)(这里为什么用0和1呢,因为可以查看相关的实验效果
  查看相关分区组
  list database partition groups
  DATABASE PARTITION GROUP    
-----------------------------
IBMCATGROUP   系统默认生成              
IBMDEFAULTGROUP   系统默认生成          
T1           手动创建               
ZHANG4        手动创建              

  4 record(s) selected.
  我这里是四个,其中zhang4为错误创建的,删除分区组命令为下:
  drop database partition group zhang4
  查看分区组及相应的拥有者
  db2 => select dbpgname,owner from syscat.dbpartitiongroups

DBPGNAME                     OWNER                                                                                                                          
------------------------------------
IBMCATGROUP                 SYSIBM                                                                                                                        
IBMDEFAULTGROUP             SYSIBM                                                                                                                         
IBMTEMPGROUP                SYSIBM                                                                                                                         
T1                         DB2INST3    
                                     
                                                                                                           
  几个相关查看分区组的视图:
syscat.dbpartitiongroups
syscat.partitionmaps
syscat.dbpartitiongroupdef

DB2有别于其他数据库的分区的特性是其可建立独立的分区缓存 partition proprietery buffer pool
其他数据库如oracle只有数据物理存储意义上的分区。


6,创建分区组相关的buffer pool和数据库表空间
create bufferpool t1buffer \
database partition group t1 size 5000

相关buffer pool 视图
syscat.bufferpools
sysibm.sysbufferpools

数据库表空间创建
create tablespace t1 \
in database partition group t1 \
managed by system \
using ('t1')
因为使用的是分区组,其会将表空间的物理文件HASH分布到不同的节点上
/home/db2inst3/db2inst3/NODE0002/SQL00001/t1
/home/db2inst3/db2inst3/NODE0001/SQL00001/t1

7,新建分区键:分区键的作用是提高相对性表列的读写性能
在某列(高基列,数据量比较大的列)上指定相应的分区键,如果不指定,相应的第一个主键列会自动
田间分区键。
create table zhang1(col1 int,col2 int,col3 varchar(10))  \
in t1 \
partitioning key(col1,col2) using hashing


开启数据库的并发模式
update dbm cfg using intra_parallel yes

断开数据库连接重连后查看
get dbm cfg
Enable intra-partition parallelism     (INTRA_PARALLEL) = YES

到这里zhang4.shaw.com配置完成

8,开始配置zhang3.shaw.com主机

双方主机通过实例用户db2inst3登录


在db2inst3上登录实例数据库
可以查看到db2inst4上相同的内容并可以建立数据库和相应的DML,DDL,DCL操作
到此配置结束
测试成功!







0
0
分享到:
评论

相关推荐

    laravel-db2:laravel-db2 是 Laravel 的一个简单的 DB2 服务提供者。 它通过扩展 laravel 框架的 Illuminate Database 组件来提供 DB2 Connection

    它通过扩展 laravel 框架的 Illuminate Database 组件来提供 DB2 Connection。安装将 laravel-db2 添加到您的 composer.json 文件中: "require": { "cooperl/laravel-db2": "^8.0"}使用安装这个包。 $ composer ...

    Laravel开发-lumen-db2

    'database' => env('DB2_DATABASE', ''), 'username' => env('DB2_USERNAME', ''), 'password' => env('DB2_PASSWORD', ''), 'charset' => 'UTF-8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ], ``...

    IBM-DB2-Universal-Database-SQL-Getting-Started.rar_Getting Start

    **IBM DB2 Universal Database SQL 入门指南** IBM DB2 Universal Database SQL Getting Started 是一份针对初学者的指导文档,旨在帮助读者快速理解并开始使用IBM DB2数据库管理系统,特别是其SQL语言的应用。IBM ...

    技术文档--Db2

    - `create database <数据库名> using codeset utf-8 territory CN`:创建使用 UTF-8 编码的数据库。 7. **数据库映射** - `db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号>`:将...

    Laravel开发-laravel-db2

    'database' => env('DB2_DATABASE', 'your_database_name'), 'username' => env('DB2_USERNAME', 'your_username'), 'password' => env('DB2_PASSWORD', 'your_password'), 'charset' => 'UTF-8', 'collation' ...

    datax数据迁移插件-db2reader

    DB2Reader主要通过JDBC(Java Database Connectivity)接口与DB2数据库进行交互。它会根据用户配置的SQL语句,读取DB2数据库中的指定表或视图,并将数据以Record的形式输出,供DataX的其他组件进一步处理。DB2Reader...

    laravel-db2doc:Laravel Db2Doc使您可以将数据库架构生成为markdown或JSON格式

    Laravel Db2Doc使您能够将数据库架构生成为markdown或JSON格式。 安装 为了在您的Laravel项目中安装cleaniquecoders/laravel-db2doc ,只需从终端运行composer require命令: $ composer require cleaniquecoders/...

    DB2-Universal-Database-.zip_DB2 universal_universal

    IBM DB2 Universal Database(简称DB2)是IBM公司推出的一款强大、全面的关系型数据库管理系统(RDBMS),适用于各种规模的企业,从大型跨国公司到中小型企业。作为电子商务的核心技术之一,DB2以其卓越的性能、安全...

    db2-database-design

    在本篇文章中,我们将深入探讨如何在IBM DB2数据库中设计和创建表格,并重点讲解创建表语句以及如何建立主键。通过一个具体的例子——创建一个名为“HEALTHY_CERTIFICATE”的表,来逐步解析创建过程中的每一个细节,...

    tutorial-db2-cert730.zip

    【教程-db2-cert730.zip】是一个包含官方PDF教程的压缩文件,专注于IBM的DB2认证考试730的相关知识。这个压缩包提供的是英文版本的教程资料,旨在帮助学习者深入理解和准备DB2数据库管理系统的高级认证。 DB2是IBM...

    DB2认证-db2cert512-a4.pdf

    安装过程并未在本教程中详细讨论,但强烈建议学习者下载并安装IBM DB2 Universal Database Enterprise Edition以更好地理解认证考试中的相关概念。具体的安装指南可以在DB2在线支持网站上的《快速入门》书籍中找到。...

    Toad-for-db2

    - `Database Name`: 您希望连接的DB2数据库名称。 - `Database Alias`: 数据库别名,系统将自动生成一个别名,您可以根据需要进行修改。 - `Authentication`: 认证方式,默认情况下采用标准认证方式,一般无需...

    db2_jar-db2驱动架包

    `db2_jar`文件是Java应用程序与DB2数据库进行通信的关键组件,它实现了Java Database Connectivity (JDBC) API,使得Java开发者能够通过标准的JDBC接口来执行SQL语句、处理结果集以及管理数据库连接。其中,`...

    tutorial-db2-cert731.zip

    【描述】:这个名为“tutorial-db2-cert731.zip”的压缩包包含了DB2认证731考试的相关教程,虽然是英文版本,但内容全面且权威。对于希望深入理解和掌握DB2,尤其是准备参加DB2 Certified Database Administrator - ...

    IBM DB2 9.7 for Linux, UNIX, and Windows 资料

    Quick Start Guide - IBM Database Enterprise Developer Edition1 PDF Quick Start Guide - DB2 Connect Unlimited Edition for System z1 PDF September, 2010 Quick Start Guide - DB2 Feature Licensing1 PDF ...

    关系数据库转RDF工具--DB2RDF

    关系数据库(Relational Database)是数据存储和管理的主流方式,而RDF(Resource Description Framework)是万维网联盟(W3C)推荐的一种语义网络数据模型,用于描述、发布和链接网络上的资源。DB2RDF工具专门用于...

    000-302 DB2 9 Database and Application Fundamentals - Academic Initiative

    - **“000-302 DB2 9 Database and Application Fundamentals - Academic Initiative”** 这个标题表明了考试的主题是关于IBM DB2 9版数据库及应用程序的基础知识,特别面向学术界的用户。 #### 描述解读: - **DB2...

    内部培训--DB2.pptx

    2. DMS(Database Managed Space):由DB2自身管理,提供更高的性能,允许手动扩展和释放容器。 监控和管理DB2表空间的命令包括: - `select * from syscat.bufferpools`:查看所有缓冲池 - `list tablespaces ...

Global site tag (gtag.js) - Google Analytics