DB2如何创建表空间 如何创建数据库 如何创建缓冲池
标签: db2数据库system脚本linuxwindows
2012-06-13 19:16 8411人阅读 评论(0) 收藏 举报

版权声明:本文为博主原创文章,未经博主允许不得转载。

如果你是在一个项目的角度,要建立表空间、建立缓冲池、建立数据库,到最终完成项目连接DB2成功的话,请看完这篇文章

对于开发近三年左右的程序员,我们总会碰到DB2数据库的项目(做银行、政府、国企等项目尤其如此),我是搞java的,我相信大部分3年左右java开发经验的程序员在第一次单独面对一个DB2的开发项目都会有点痛苦(这个痛苦和公司有直接原因,如果公司事先对你做了DB2的培训,那这个文章你完全不用理会看了)

在我们拿到一个项目的源码,当项目经理让你把它在DB2上跑起来的时候,我们首先做的就是的DB2软件安装上,然后创建数据库和表空间还有缓冲池(要建缓冲池的原因是因为大的项目你不建的话,导致项目运行起来后总是会报表空间不足的错误)。既然心里的估算好了,我们就会去网上搜索怎么去创建的文章了,但是网上我搜索了N多都是些零零碎碎的,说的很单一。  这经过好几天的痛苦挣扎整理后,我把我项目中建立DB2相关数据库对象的脚本全部贴出来

操作系统环境: windows(linux的方法我下面也会贴出来)

1、首先在windows安装完DB2以后,打开DB2的命令行,然后依次执行下面代码.(下面有一句话脚本会提示你一个类似异常的信息,不予以理会,继续执行下面别的代码)
[sql] view plain copy

db2 "CREATE DB TestDB using codeset UTF-8 territory us"  
      
    db2 "UPDATE DB CFG FOR TestDB USING applheapsz 4096"  
      
    db2 "UPDATE DB CFG FOR TestDB USING app_ctl_heap_sz 1024"  
      
    db2 "UPDATE DB CFG FOR TestDB USING stmtheap 8192"  
      
    db2 "UPDATE DB CFG FOR TestDB USING dbheap 2400"  
      
    db2 "UPDATE DB CFG FOR TestDB USING locklist 1000"  
      
    db2 "UPDATE DB CFG FOR TestDB USING logfilsiz 1000"  
      
    db2 "UPDATE DB CFG FOR TestDB USING logprimary 12"  
      
    db2 "UPDATE DB CFG FOR TestDB USING logsecond 20"  
      
    db2 "UPDATE DB CFG FOR TestDB USING logbufsz 32"  
      
    db2 "UPDATE DB CFG FOR TestDB USING avg_appls 5"  
      
    db2 "UPDATE DB CFG FOR TestDB USING locktimeout 30"  
      
    db2 CONNECT TO TestDB   
      
    db2 "CREATE BUFFERPOOL icmsbuffer SIZE 1000 PAGESIZE 32K"  
      
    db2 "CREATE TABLESPACE icmsspace PAGESIZE 32K MANAGED BY SYSTEM USING ('D:\db2admin\sqlt0003.0') BUFFERPOOL icmsbuffer"(根据实际情况确定是否是D盘下的db2admin\sqlt0003.0目录,如果没有,请先创建)  
      
    db2 "CREATE SYSTEM TEMPORARY TABLESPACE ICMSBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('D:\db2admin\sqlt0004.0') BUFFERPOOL ICMSBUFFER"(根据实际情况确定是否是D盘下的db2admin\ sqlt0004.0目录,如果没有,请先创建)  
      
    db2 "DISCONNECT icms"  
      
    db2 "TERMINATE"

2、建立完成之后数据库这一块你就完全搞定了,下面就是你项目总如何去连接的问题了 。 (如果你项目连接DB2不成功,你可以google,或者给我留言)

下面说在linux下的创建方法:其实脚本一样

数据库是从 DB2 命令界面创建的。在启动命令界面之前,必须符合以下条件:

1、DB2必须是活动的。

2、对于 AIX、Linux和 Solaris, DB2 实例拥有者标识(例如 db2inst1)必须是 db2admin组的一部分。db2admin组是在 DB2通用数据库安装过程中创建的。

3、修改修改环境变量,能够正确执行db2的命令

4、根据实际环境修改标红色的路径,比如:/home/icms/。

5、因在执行的过程中脚本出错,后续回滚将会非常非常,建议一个个脚本执行。

[sql] view plain copy

db2 "CREATE DB icms using codeset UTF-8 territory us"  
      
    db2 "UPDATE DB CFG FOR icms USING applheapsz 4096"  
      
    db2 "UPDATE DB CFG FOR icms USING app_ctl_heap_sz 1024"  
      
    db2 "UPDATE DB CFG FOR icms USING stmtheap 8192"  
      
    db2 "UPDATE DB CFG FOR icms USING dbheap 2400"  
      
    db2 "UPDATE DB CFG FOR icms USING locklist 1000"  
      
    db2 "UPDATE DB CFG FOR icms USING logfilsiz 1000"  
      
    db2 "UPDATE DB CFG FOR icms USING logprimary 12"  
      
    db2 "UPDATE DB CFG FOR icms USING logsecond 20"  
      
    db2 "UPDATE DB CFG FOR icms USING logbufsz 32"  
      
    db2 "UPDATE DB CFG FOR icms USING avg_appls 5"  
      
    db2 "UPDATE DB CFG FOR icms USING locktimeout 30"  
      
    db2 CONNECT TO icms  
      
    db2 "CREATE BUFFERPOOL icmsbuffer SIZE 1000 PAGESIZE 32K"  
      
    db2 "CREATE TABLESPACE icmsspace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/icms/sqlt0003.0') BUFFERPOOL icmsbuffer"  
      
    db2 "CREATE SYSTEM TEMPORARY TABLESPACE ICMSBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('/home/icms/sqlt0004') BUFFERPOOL ICMSBUFFER"  
      
    db2 "DISCONNECT icms"  
      
    db2 "TERMINATE"

DB2操作流程的更多相关文章

  1. DB2 概览

    2006:IBM公布DB2.9.将数据库领域带入XML时代.IT建设业已进入SOA(Service-Oriented Architecture)时代.实现SOA.其核心难点是顺畅解决不同应用间的数据交 ...

  2. DB2重启数据库实例

    DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...

  3. 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗

    ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性:    Oracle.MYSQL与DB2可在所有主流平台上运行:    SQL Server只能在Windows下运行: --安 ...

  4. C# 连接DB2字符串 Oracle免安装客户端连接字符串

    以下是DB2连接数据库 1)使用IBM.Data.DB2链接DB2数据库 2)必须安装DB2客户端,IBM.Data.DB2在安装的BIN里可以找到 3)注意一下DB2客户端版本问题,我的就是WIN7 ...

  5. DB2错误码信息

    00 完全成功完成 表 3  01 警告 表 4  02 无数据 表 5  07 动态 SQL 错误 表 6  08 连接异常 表 7  09 触发操作异常 表 8  0A 功能部件不受支持 表 9  ...

  6. DB2数据库参数建议(AIX)

    修改用户最大进程数: chdev -l sys0 -a maxuproc=' 用户资源配置:对实例用户,fence用户,应用用户添加如下限制: db2inst1 : fsize=- fsize_har ...

  7. db2定界符

    在DB2数据库中,在导出DEL文件时,默认的字符分隔符是".字段分隔符是, (逗号).有一个需求是要为Oracle数据库提供数据,因此就想使用"|"作为数据的字段分隔符. ...

  8. db2基础

    DB2知识文档 一.db2 基础 基本语法 注释:"--"(两个减号) 字符串连接:"||" 如set msg='aaaa'||'bbbb',则msg为'aaa ...

  9. db2 日期时间格式

    db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...

随机推荐

  1. iTween基础之功能简介

    一.iTween 介绍 .二.iTween 原理.三.iTween 下载.四.iTween 类介绍.五.主要功能介绍 原文地址:http://blog.csdn.net/dingkun520wy/ar ...

  2. 微软职位内部推荐-SW Engineer II for Cloud Servi

    微软近期Open的职位: Do you have a passion for embedded devices and services? &nbsp Does the following m ...

  3. java无符号移位(>>>)和有符号移位(>>)

    java中>>(<<)表示有符号的移位.<<<(>>>)表示无符号移位 如: int num = 22; 二进制是0001 0110, nu ...

  4. Asp.Net MVC3(三)-MvcApp实现全局异常捕获

    定义异常捕获类: [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMu ...

  5. 2014103《JAVA程序设计》第一周学习总结

    本周,在刻苦看了三天课本之后,终于对JAVA这门课程有了一定的认识.了解了JAVA的前世今生,JAVA的三大平台:Java SE.Java EE与Java ME.其中Java SE又可分为四个主要的部 ...

  6. 关于js with语句的一些理解

    关于js with语句的一些理解   今天看到js的with语句部分,书中写到,with语句接收的对象会添加到作用域链的前端并在代码执行完之后移除.看到这里,我有两点疑问,添加到作用域链前端是不是指对 ...

  7. npm ERR!无法安装任何包的解决办法

    npm ERR! Windows_NT 6.1.7601npm ERR! argv "E:\\node\\\\node.exe" "E:\\node\\node_modu ...

  8. C#制作高仿360安全卫士窗体<一>

    开始写这一系列博客之前先要向大家说声抱歉,放肆雷特建立很久却很少有更新.当然博客人气也不旺,大部分都是看的人多评论收藏的人少.一直想要改变这种状态,正好赶上了最近工作上做了一个高仿360安全卫士窗体. ...

  9. Java 字符编码归纳总结

    String newStr = new String(oldStr.getBytes(), "UTF-8");       java中的String类是按照unicode进行编码的 ...

  10. 【BZOJ】【2245】【SDOI2011】工作安排

    网络流/费用流 裸题吧……直接建模就好了……所谓的“分段函数”就是吓唬你的,其实就是对于每个人分开建几条流量不同.费用不同的弧而已. 对每种产品,连S->i ,(c[i],0):对每个工作人员 ...