DB2操作流程
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操作流程的更多相关文章
- DB2 概览
2006:IBM公布DB2.9.将数据库领域带入XML时代.IT建设业已进入SOA(Service-Oriented Architecture)时代.实现SOA.其核心难点是顺畅解决不同应用间的数据交 ...
- DB2重启数据库实例
DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动. 1.查看是否有活动的链接 命令:db2 list applications for d ...
- 你搞懂 ORACLE、 SQLSERVER、MYSQL与DB2的区别了吗
ORACLE. SQLSERVER.MYSQL与DB2的区别--平台性: Oracle.MYSQL与DB2可在所有主流平台上运行: SQL Server只能在Windows下运行: --安 ...
- C# 连接DB2字符串 Oracle免安装客户端连接字符串
以下是DB2连接数据库 1)使用IBM.Data.DB2链接DB2数据库 2)必须安装DB2客户端,IBM.Data.DB2在安装的BIN里可以找到 3)注意一下DB2客户端版本问题,我的就是WIN7 ...
- DB2错误码信息
00 完全成功完成 表 3 01 警告 表 4 02 无数据 表 5 07 动态 SQL 错误 表 6 08 连接异常 表 7 09 触发操作异常 表 8 0A 功能部件不受支持 表 9 ...
- DB2数据库参数建议(AIX)
修改用户最大进程数: chdev -l sys0 -a maxuproc=' 用户资源配置:对实例用户,fence用户,应用用户添加如下限制: db2inst1 : fsize=- fsize_har ...
- db2定界符
在DB2数据库中,在导出DEL文件时,默认的字符分隔符是".字段分隔符是, (逗号).有一个需求是要为Oracle数据库提供数据,因此就想使用"|"作为数据的字段分隔符. ...
- db2基础
DB2知识文档 一.db2 基础 基本语法 注释:"--"(两个减号) 字符串连接:"||" 如set msg='aaaa'||'bbbb',则msg为'aaa ...
- db2 日期时间格式
db2日期和时间常用汇总 1.db2可以通过SYSIBM.SYSDUMMY1.SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值. SELECT 'HELLO DB2 ...
随机推荐
- Machine Learning 学习笔记 (4) —— 广义线性模型
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 指数分布族简介 之前的文章分 ...
- java线程图
- HashCode作用
作用: 1.HashCode的存在主要是为了查找的快捷性,HashCode是用来在散列存储结构中确定镀锡的存储地址的 2.如果两个对象的equals相等,那么HashCode一定相等,反之不行 3.如 ...
- asp.net中父子页面通过gridview中的按钮事件进行回传值的问题
这两天写BS程序,遇到父子页面传值的问题,以前没写过web系统,用了几天时间才将问题解决,总结下记录下来: 问题描述: 父页面A中有一个gridview,每行6个列,有5列中均有一个按钮,单击按钮,会 ...
- xcode 运行报错 Command /usr/bin/codesign failed with exit code 1
因为更换了证书,导致在运行时报错 Command /usr/bin/codesign failed with exit code 1,查看了网上各种方法,最后发现以下两个值没有同步更新
- EF异常:WebForm、Console、Winform层不引入EF报错
WebForm.Console.Winform层可以不引入EntityFramework,但必须引入EntityFramework.SqlServer,否则运行时会报错
- sample a texture as a rendertarget
ID3D11DeviceContext::PSSetShaderResources: Resource being set to PS shader resource slot 0 is still ...
- CrowdFlower Winner's Interview: 1st place, Chenglong Chen
CrowdFlower Winner's Interview: 1st place, Chenglong Chen The Crowdflower Search Results Relevance c ...
- vitrualbox虚拟机64位安装报错解决
1 NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) 解决办法 ...
- volatile关键字的使用
(简要概括:volatile变量有两个作用:一个是告诉编译器不要进行优化:另一个是告诉系统始终从内存中取变量的地址,而不是从缓存中取变量的值) 一.前言 1.编译器优化介绍: 由于内存访问速度远不及C ...