db2默认数据库
1. 我把DB2数据库安装完了,谁能告诉我如何创建数据库
这些文件包括日志文件、配置信息、历史文件和三个表空间。这些表空间是: SYSCATSPACE:这是保存 DB2 系统编目的地方,系统编目跟踪与 DB2 对象相关联的所有元数据。 TEMPSPACE1:DB2 用来放置中间结果的临时工作区域。 USERSPACE1:默认情况下存放所有用户对象(表、索引)的地方。所有这些文件都放在默认驱动器上的 DB2 目录中。默认驱动器通常是安装 DB2 产品的卷。 对于简单的应用程序,这个默认配置应该可以满足需要。但是,可能希望改变数据库文件的位置,或者改变 DB2 管理这些对象的方式。接下来,我们将更详细地研究 CREATE DATABASE 命令。 对于从 DB2 8 进行迁移的用户,有一个特殊的注意事项:在 DB2 9 之前,CREATE DATABASE 命令会为上面列出的所有对象创建 SMS 表空间。在 DB2 9 中,所有表空间都将定义为自动存储(DMS)表空间。 以下的 CREATE DATABASE 命令将数据库放在 Windows 操作系统下的 D: 驱动器上的 TEST 目录中: CREATE DATABASE MYDB ON D:\TEST选择Automatic storage(默认设置)允许 DBA 为数据库设置在创建所有表空间容器时可以使用的存储路径。DBA 不必显式地定义表空间的位置和大小,系统将自动地分配表空间。例如,下面的数据库创建语句将为数据库中的所有表空间设置自动存储。 CREATE DATABASE TEST AUTOMATIC STORAGE ON /db2/storagepath001, /db2/storagepath002, /db2/storagepath003 AUTORESIZE YES INITIALSIZE 300 M INCREASESIZE 75 M MAXSIZE NONE在AUTOMATED STORAGE ON 选项后面,给出了三个文件目录(路径)。这三个路径是一个表空间的容器的位置。其他的选项是: AUTORESIZE YES 当表空间用光空间时,系统将自动地扩展容器的大小。 INITIALSIZE 300 M 没有定义初始大小的任何表空间的大小默认为 300 MB。每个容器是 100 MB(有三个存储路径)。 INCREASESIZE 75 M (或百分数) 当表空间用光空间时,表空间的总空间增加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增长它的当前大小的百分数。 MAXSIZE NONE 表空间的最大大小没有限制。如果 DBA 希望限制一个表空间可以占用的存储空间,那么可以指定一个最大值。 当使用 AUTOMATIC STORAGE 定义表空间时,不需要提供其他参数: CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE; 在这个命令中,可以提供与表空间相关联的任何参数;但是,使用自动存储可以大大简化日常的表空间维护。与重要的大型生产表相关联的表空间可能需要 DBA 更多地干预。 在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。 如果数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,或者完全去掉 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不提供容器定义,因为 DB2 会自动地分配容器。 代码页和整理次序所有DB2 字符数据类型(CHAR、VARCHAR、CLOB、DBCLOB)都有一个相关联的字符代码页。可以认为代码页是一个对照表,用来将字母数字数据转换为数据库中存储的二进制数据。一个 DB2 数据库只能使用一个代码页。代码页是在 CREATE DATABASE 命令中使用 CODESET 和 TERRITORY 选项设置的。代码页可以使用单一字节表示一个字母数字字符(单一字节可以表示 256 个独特元素),也可以使用多个字节。 英语等语言包含的独特字符相当少;因此单字节代码页对于存储数据足够了。日语等语言需要超过 256 个元素才能表示所有的独特字符;因此需要多字节代码页(通常是双字节代码页)。 在默认情况下,数据库的整理次序根据 CREATE DATABASE 命令中使用的代码集进行定义。如果指定选项 COLLATE USING SYSTEM,就根据为数据库指定的 TERRITORY 对数据值进行比较。如果使用选项 COLLATE USING IDENTITY,那么以逐字节的方式使用二进制表示来比较所有值。 DB2 Administration Guide 列出了创建数据库时可用的各种代码页。在大多数情况下,DBA 会让这个设置保持为数据库所在的操作系统的默认代码页。 对于需要使用 XML 数据的应用程序,有一个特殊的注意事项。当前,DB2 只在定义为 Unicode(UTF-8)的数据库中支持 XML 列。
2. java中DB2数据库的jdbc连接如何设置默认的schema
jdbc:db2://192.9.200.108:6789/SAMPLE
看看您的连接字符串是怎么写的?
这个应该是连接sample库的
3. linux怎么装db2数据库服务器
一、安装前准备工作:
1、对于Linux系统,至ibm网站下载软件包
2、Linux内核设置:编辑/etc/sysctl.conf文件
3、创建相应用户以及组:
4、创建相应目录用于存放db2的数据文件以及日志文件:
这里在根下面创建一个db2总目录,然后创建了一个15G大小的逻辑卷挂载/db2下面,然后在其下面创建相应的文件夹。
database目录存放数据库实例
db2log1存放db2的主日志文件
db2log2存放镜像日志文件
db2temp存放db2临时表空间
db2用户的家目录的位置
二、安装过程:
安装可以使用root用户安装也可以使用非root用户安装,这里就直接使用root用户安装了。
以root身份执行db2setup,会弹出以下画面:
这里选择安装企业版,点击install new:
下一步之后,就出现创建用户的画面:
最后点击finish开始安装过程。
三、创建数据库:
如果在安装过程中,没有创建数据库,则后续可以使用db2cc命令创建数据库。这是一个基于图形界面的管理工具,使用起来也非常方便。执行db2cc后,会弹出以下画面:
点击右侧的Create New Database,创建数据库:
指定数据库名称以及存放位置,选中Let DB2 manage my storage,下一步:
点击finish开始创建。默认db2会创建以下三个表空间:
(1)、catalog table space用于存放catalog表。
(2)、user table space存放所有表和索引数据。
(3)、temporary table space临时数据的存放位置。
创建完成后,会看到如下画面:
此时还没有连接到xzxjdb1上,点击右侧的connect进行连接。连接之后,会看到右侧多了好多信息:
使用命令行查看当前数据库中表空间信息:
四、DB2的简单管理:
1、查看表空间信息:
2、查看表信息:
3、查看当前实例下的所有数据库信息:
4、停止数据库:
5、启动数据库:
6、设置实例自动启动:
4. 怎么启动db2数据库
在一个DB2 实例下,可以创建多个database(具体每个实例下可以创建多少个database,可以通过DB2 GET DBM CFG查看.一旦建立了数据库之后,就可以对其进行操作,然而,在向数据库中建立对象或访问数据库中的对象(数据)之前,必须先知道如何启动和停止数据库.
本小节简单介绍了db2 database通过command line的方式如何实现启动和停止.
激活数据库
如果在database没有激活之前,就在应用中使用connect to database_name或隐式连接,那么应用就必须要进行等待,知道数据库管理器启动了你要连接的数据库.一般第一个应用会引发等待数据库管理器执行数据库启动的所有开销.
我们也可以使用activate database database_name这样的命令启动特定的数据库.这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。一般情况下,DB2 DBA会提前激活所有必要的数据库.
注意:1)如果发出activate database命令的应用已经与一个database建立了活动的数据库连接,就回返回错误消息.
2)如果需要重新启动(restart)的数据库接受了一个activate database命令,那么这个activate database命令就会象connect to 或隐式连接一样工作.
3)如果数据库配置了
启用的自动重新启动 (AUTORESTART) = ON
那么在activate database命令对其初始化之前,数据库会重新启动.
察看指定数据库的配置参数
--默认
DB2 GET DB CFG FOR study
--分屏显示
DB2 GET DB CFG FOR study | More
--将显示结果存入study.txt 文件中
DB2 GET DB CFG FOR study > study.txt
下面是一个示例,我在当前DB2实例下,创建了3个database,我利用activate命令挨个将他们激活
D:DB2BIN>db2 db2start
DB20000I DB2START命令成功完成。
D:DB2BIN>db2 list database directory
系统数据库目录
目录中的条目数 = 3
数据库 1 条目:
数据库别名 = TEST
数据库名称 = TEST
本地数据库目录 = D:DB2test
数据库发行版级别 = c.00
注释 = test
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 2 条目:
数据库别名 = BANK
数据库名称 = BANK
本地数据库目录 = D:db2bank
数据库发行版级别 = c.00
注释 = bank
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 3 条目:
数据库别名 = STUDY
数据库名称 = STUDY
本地数据库目录 = D:db2study
数据库发行版级别 = c.00
注释 = STUDY
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
D:DB2BIN>db2 list active databases
sql1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 activate database bank
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
D:DB2BIN>db2 activate database test
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
数据库名称 = TEST
当前连接的应用程序 = 0
数据库路径 = D:DB2testDB2NODE0000SQL00001
D:DB2BIN>停止数据库
由activate database命令初始化的数据库可以由deactivate database命令关闭,也可以通过stop database manager(或db2stop)命令终止数据库管理器来关闭.
如果使用activate
database命令初始化一个数据库,那么最后一个与数据库断开连接的应用就不会关闭数据库.必须要使用deactivate
database.在这种情况下,stop database manager(或db2stop)会关闭数据库,也会终止实例.
如果使用connect
to 或隐式地连接启动数据库,然后再由另外一个应用对相同的数据库发出activate database命令,那么就必须使用deactivate
database命令关闭数据库.如果没有使用activate
database启动数据库,那么当最后一个应用断开与数据库连接的时候,数据库就会关闭.
示例一:使用connect to方式启动的数据库
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 connect to study --连接到study数据库,将自动激活study数据库
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001
说明:数据库被激活,并有一个应用连接上来(就上面的connect to study操作)
D:DB2BIN>db2 connect reset --断开连接
DB20000I SQL命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>
说明:可以发现,上面的连接断开后,数据库study也自动停止(因为这个study数据库是通过connect to 的方式激活的)
示例二:使用activate database方式启动的数据库
D:DB2BIN>db2 list active databases --这个时候没有启动的数据库
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study --用activate database激活study数据库
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases --可以看到study数据已经激活,但没有应用连接上来
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect to study --发起一个连接到study数据库
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases --再看一下活动的数据库,发现study 数据库上有一个应用连接上来了
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect reset --关闭刚才那个连接,看看数据库是不是会自动关闭
DB20000I SQL命令成功完成。
D:DB2BIN>db2 list active databases --数据库依然启动,虽然没有了任何连接
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 deactivate database study --使用deactivate database命令关闭数据库
DB20000I DEACTIVATE DATABASE命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>
5. db2数据库的备份与恢复需要注意事项
登录
db2 在线备份和离线备份 的注意事项 原创
2008-07-04 17:44:00
WorldWelcome
码龄16年
关注
db2在线备份和离线备份的区别
1)一般默认建立一个db2数据库是不支持在线备份的(在DB2控制中心里的)
如果要让一个DB2数据库支持在线备份的话,update db cfg for sampledb using logretain=on serexit=on,trackmode=on
2)如果一个db2数据库同时支持在线备份和离线备份的话,那么在备份的时候要小心,如果是要做在线备份,那么必须把日志要单独拷贝出来。否则无法回滚,也就无法使用。
3) 离线备份后恢复的时候,加上参数without rollforward...
4) 在线备份后,必须rollforward to ....
5) force application stop 命令 其实跟离线备份/在线备份都没有什么关系。
6. 将db2设为当前数据库是什么意思
就是执行语句
use db2;
7. DB2数据库中的表在硬盘上的存储位置在哪
这个得查,先查数据库的位置,再查表所属的表空间,现查表空间的存储位置,
执行db2cmd
查看本机所有的数据库编目
db2 list db directory
联接数据库
db2 connect to db_name user uid using pwd
查看表空间位置
db2 list tablespaces show detail
重装数据库后,只要原数据的文件没有删除,可以用catalog db 加载机器上原有的数据库,但是只加载一个表空间或一个表我觉得实现不了。
8. 大型主机DB2数据库基础教程的目 录
第1章 数据库理论基础 1
本章为数据库理论基础,主要介绍数据库的基本概念,内容包括数据库技术发展、数据库系统特点、关系型数据库基本概念、SQL语言和关系型数据库设计方法。
1.1 数据库基本概念 1
1.1.1 数据库技术的产生和发展 1
1.1.2 数据库系统的特点 2
1.1.3 数据模型 4
1.2 关系型数据库基本概念 7
1.2.1 基本术语 7
1.2.2 Codd准则 7
1.2.3 关系完整性 9
1.3 SQL语言概述 9
1.3.1 SQL语言分类 10
1.3.2 数据类型 10
1.3.3 数据控制语言(DCL) 13
1.3.4 数据定义语言(DDL) 14
1.3.5 数据操作语言(DML) 16
1.3.6 SQL函数 24
1.3.7 制定约束 27
1.3.8 静态SQL与动态SQL 29
1.4 关系数据库设计 30
1.4.1 关系规范化 30
1.4.2 实体——关系模型 33
1.4.3 关系数据库设计的基本步骤 34
1.5 课后习题 44
第2章 主机DB2基础 45
本章为主机DB2基础,主要介绍DB2产品的基本架构,包括DB2 产品发展概述、DB2 数据基本结构、DB2 系统结构组成、DB2系统运行环境、DB2并发控制机制、应用程序的管理和开发、数据库安全控制等。通过对以上知识点的讲解,让读者能够对DB2系统的基础知识有一定的理解。
2.1 DB2产品发展概述 45
2.2 DB2数据库对象 47
2.2.1 DB2数据库对象概貌 47
2.2.2 Database 48
2.2.3 Storage Group 48
2.2.4 Tablespace 49
2.2.5 Table 55
2.2.6 Index 56
2.2.7 View 59
2.2.8 Synomas 61
2.2.9 Alias 61
2.2.10 Trigger 62
2.2.11 Store Procere 62
2.2.12 创建数据库对象的方法 63
2.2.13 OWNER的概念 63
2.2.14 数据库对象的命名规范 64
2.2.15 数据库对象对应VSAM数据集的命名规范 64
2.2.16 查询数据库对象的方法 65
2.3 DB2系统结构组成 65
2.3.1 DB2系统结构概貌 66
2.3.2 DB2 Catalog 66
2.3.3 DB2 Directory 67
2.3.4 默认数据库 69
2.3.5 work file database 69
2.3.6 Active and Archive log 69
2.3.7 Bootstrap Data Set(BSDS) 70
2.3.8 Buffer pool 71
2.3.9 EDM pool 71
2.3.10 RID pool 72
2.3.11 DSNZPARM 72
2.4 DB2系统运行环境 73
2.4.1 DB2系统的地址空间 73
2.4.2 DB2 Attachment Facilities 74
2.4.3 DB2与分布式数据 77
2.4.4 DB2与z/OS 78
2.4.5 DB2与Parallel Sysplex 78
2.4.6 DB2与安全服务 79
2.4.7 DB2与DFSMS 79
2.4.8 DB2与WLM 79
2.5 DB2并发控制机制 81
2.5.1 数据一致性 81
2.5.2 DB2事务的概念 82
2.5.3 COMMIT和ROLLBACK操作的结果 83
2.5.4 不成功的事务的结果 83
2.5.5 事务隔离级别 84
2.5.6 锁机制 86
2.5.7 锁的挂起、超时和死锁 89
2.6 DB2应用程序管理 91
2.6.1 基本概念 91
2.6.2 应用程序的准备过程 92
2.6.3 存储过程 94
2.6.4 UDF 98
2.6.5 触发器 99
2.7 DB2应用程序SQL优化 100
2.7.1 应用程序编写的通用原则 100
2.7.2 编写高效的谓词 103
2.7.3 DB2谓词管理 124
2.7.4 高效地使用宿主变量 127
2.7.5 编写高效的子查询 129
2.7.6 如何判断一个SQL有问题 134
2.7.7 小结 135
2.8 DB2安全控制与审计 135
2.8.1 数据库安全控制范围 135
2.8.2 DB2安全控制简介 136
2.8.3 DB2对象访问控制 138
2.8.4 DB2审计 144
2.9 课后习题 148
第3章 DB2 Data Sharing基础 150
本章主要介绍DB2 Data Sharing方面的知识,内容包括Data Sharing特性介绍、与Stand Alone的区别、Data Sharing与SYSPLEX的关系、Data Sharing系统架构、Data Sharing的实现和恢复等,帮助读者掌握Data Sharing的基本概念和基本使用方法。
3.1 DB2 Data Sharing介绍 150
3.1.1 Parallel Sysplex与DB2 Data Sharing简介 151
3.1.2 DB2 Data Sharing技术的优势 153
3.2 DB2 Data Sharing 体系架构 156
3.2.1 DB2 Data Sharing架构的问题及解决方法 157
3.2.2 并发性和数据一致性控制 158
3.2.3 DB2 Data Sharing的连续可用性 163
3.2.4 异常情况对DB2 Data Sharing的可用性影响 165
3.3 DB2 Data Sharing的实现 166
3.3.1 命名规则 166
3.3.2 DB2日志 170
3.3.3 DB2 Data Sharing重要参数 171
3.4 DB2 Data Sharing的恢复 172
3.4.1 对某个DB2表的恢复 172
3.4.2 对某些组件异常的恢复 174
3.4.3 Sysplex Failure Management(SFM) 175
3.4.4 Automatic Restart Management(ARM) 175
3.4.5 DB2 MEMBER Light 模式重启 175
3.5 课后习题 176
第4章 DB2常用Utility基础 177
本章为DB2 常用Utility基础,主要介绍DB2产品自带Utility方面的知识,内容涉及Utility的调用方法、Online Utility和Offline Utility的介绍等。
4.1 DB2 Utility简介 177
4.1.1 什么是Utility 177
4.1.2 Utility的分类 177
4.1.3 调用Utility的方法 178
4.2 DB2 Online Utility 178
4.2.1 如何调用DB2 Online Utility 178
4.2.2 BACKUP SYSTEM Utility 179
4.2.3 COPY Utility 180
4.2.4 LISTDEF Utility 184
4.2.5 LOAD Utility 187
4.2.6 REBUILD INDEX Utility 195
4.2.7 RECOVER Utility 198
4.2.8 REORG TABLESPACE Utility 202
4.2.9 REPAIR Utility 211
4.2.10 RUNSTATS Utility 213
4.2.11 TEMPLATE Utility 218
4.2.12 UNLOAD Utility 221
4.2.13 监控与控制 DB2 Online Utility 225
4.3 DB2 Stand Alone Utility 226
4.3.1 如何调用Stand Alone Utility 226
4.3.2 DSN1COPY Utility 226
4.3.3 DSN1LOGP Utility 231
4.3.4 DSN1PRNT Utility 234
4.4 课后习题 238
第5章 DB2常用命令 239
本章主要介绍DB2的基本命令,涉及启下系统、检查DB2运行状态、检查数据库对象状态、解决异常状态等操作。
5.1 DB2命令介绍 239
5.1.1 DB2命令的作用范围 239
5.1.2 DB2命令的提交方式 240
5.1.3 DB2命令的使用方法 240
5.2 DB2系统相关命令 241
5.2.1 –START DB2 241
5.2.2 –STOP DB2 242
5.2.3 –SET SYSPARM 242
5.2.4 –DISPLAY GROUP 243
5.2.5 –RECOVER BSDS 244
5.2.6 –RECOVER INDOUBT 244
5.3 DATABASE相关命令 245
5.3.1 –ACCESS DATABASE 245
5.3.2 –START DATABASE 245
5.3.3 –STOP DATABASE 247
5.3.4 –DISPLAY DATABASE 247
5.4 BP和GBP相关命令 250
5.4.1 –ALTER BUFFERPOOL 250
5.4.2 –ALTER GROUPBUFFERPOOL 252
5.4.3 –DISPLAY BUFFERPOOL 253
5.4.4 –DISPLAY GROUPBUFFERPOOL 255
5.5 Utility相关命令 256
5.5.1 –ALTER Utility 256
5.5.2 –DISPLAY Utility 257
5.5.3 –TERM Utility 257
5.6 TRACE相关命令 258
5.6.1 –START TRACE 258
5.6.2 –STOP TRACE 260
5.6.3 –DISPLAY TRACE 261
5.7 PROCEDURE相关命令 262
5.7.1 –DISPLAY PROCEDURE 262
5.7.2 –START PROCEDURE 263
5.7.3 –STOP PROCEDURE 264
5.8 DDF相关命令 265
5.8.1 –START DDF 265
5.8.2 –STOP DDF 266
5.8.3 –DISPLAY DDF 267
5.9 LOG相关命令 267
5.9.1 –ARCHIVE LOG 267
5.9.2 –DISPLAY LOG 269
5.10 THREAD相关命令 270
5.10.1 –CANCEL THREAD 270
5.10.2 –DISPLAY THREAD 270
5.11 IRLM相关命令 272
5.11.1 –START irlmproc 272
5.11.2 –STOP irlmproc 275
5.11.3 –TRACE CT 275
5.11.4 –MODIFY irlmproc, ABEND 276
5.11.5 –MODIFY irlmproc, DIAG 276
5.11.6 –MODIFY irlmproc, PURGE 277
5.11.7 –MODIFY irlmproc, SET 278
5.11.8 –MODIFY irlmproc, STATUS 279
5.12 课后习题 281
第6章 DB2系统维护概述 283
本章为DB2系统维护方法介绍,主要包括系统备份和恢复、日常监控和健康检查、例行重组和性能分析调优等内容,旨在帮忙读者对DB2维护工作有较为全面的了解。
6.1 DB2备份和恢复 283
6.1.1 DB2备份及恢复的原则 283
6.1.2 如何制定最佳的备份策略 284
6.1.3 DB2备份常用工具及使用方法 285
6.1.4 DB2恢复工具及使用方法 286
6.1.5 DB2数据库备份策略参考 289
6.2 DB2日常健康检查 290
6.2.1 DB2系统级检查 291
6.2.2 数据可用性和应用程序检查 297
6.3 DB2重组 300
6.3.1 进行DB2重组的目的 300
6.3.2 DB2 REORG的对象 301
6.3.3 DB2重组的条件 301
6.3.4 DB2重组的方法 302
6.3.5 DB2重组的注意事项 304
6.3.6 DB2重组常见问题及解决方法 305
6.4 DB2 RUNSTATS 308
6.4.1 定期执行RUNSTATS的目的 308
6.4.2 何时需要进行RUNSTATS操作 308
6.4.3 RUNSTATS注意点 309
6.5 STOSPACE 309
6.6 DB2 ROTATE操作 310
6.7 DB2性能监控及调整 310
6.7.1 DB2性能监控 310
6.7.2 DB2性能调整 320
6.8 课后习题 323
附录A DB2 Admin Tool简介 325
附录B DB2 PM简介 329
附录C SPUFI简介 332
附录D 参考答案 334
附录E 常见主机资料缩语表 341
参考文献 344
9. DB2怎么启动数据库
1、 打开命令行窗口
#db2cmd
2、 打开控制中心
# db2cmd db2cc
3、 打开命令编辑器
db2cmd db2ce
=====操作数据库命令=====
4、 启动数据库实例
#db2start
5、 停止数据库实例
#db2stop
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2
force application all就可以了 /db2stop force
6、 创建数据库
#db2 create db
[dbname]
7、 连接到数据库
#db2 connect to [dbname] user [username] using
[password]
8、 断开数据库连接
#db2 connect reset
9、 列出所有数据库
#db2 list
db directory
10、 列出所有激活的数据库
#db2 list active databases
11、
列出所有数据库配置
#db2 get db cfg
12、 删除数据库
#db2 drop database [dbname]
(执行此操作要小心)
如果不能删除,断开所有数据库连接或者重启db2
=========操作数据表命令==========
13、 列出所有用户表
#db2 list tables
14、列出所有系统表
#db2 list tables for
system
15、列出所有表
#db2 list tables for all
16、 列出系统表
#db2 list
tables for system
17、列出用户表
#db2 list tables for user
18、 列出特定用户表
#db2 list tables for schema [user]
19、 创建一个与数据库中某个表(t2)结构相同的新表(t1)
#db2 create table t1 like t2
20、 将一个表t1的数据导入到另一个表t2
#db2 "insert
into t1 select * from t2"
21、 查询表
#db2 "select * from table name where
..."
22、 显示表结构
#db2 describe table tablename
23、 修改列
#db2
alter table [tablename] alter column [columname] set data type varchar(24)
======脚本文件操作命令=======
24、 执行脚本文件
#db2 -tvf scripts.sql
25、帮助命令
* 查看命令帮助
#db2 ? db2start
* 查看错误码信息
#db2 ? 22001
* memo:
详细命令请使用"db2 ? <command>"进行查看。
=========================
26、备份数据库
#db2 backup db <db name>
备注:执行以上命令之前需要断开数据库连接
27、在线备份数据库
#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2
BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢复数据库
#db2
restore db <source db name>
29、在线恢复数据库
#db2 "RESTORE DB
<database name> TO <db path> LOGTARGET <logpath> WITHOUT
PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND
STOP" ...
30、导出数据文件
#db2move <db name> export
[-sn
<模式名称,一般为db2admin>]
[-tn <表名,多个之间用逗号分隔>]
31、导入数据文件
#db2move <db name> import
32、获取db2数据库管理配置环境信息
#db2 get dbm cfg
33、.获取db2某个数据库数据库管理配置环境信息
#db2 get db cfg for <db name>
或者:连接至某个数据库以后执行db2 get db cfg
34、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
#db2
UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2
logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。
35、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY
DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256
36、获取数据库管理器的快照数据
#db2 –v get snapshot for dbm
37、显示进行程号
#db2
list applications show detail
===================================================
一、加载数据:
1、
以默认分隔符加载,默认为“,”号
db2 "import from btpoper.txt of del insert into btpoper"
2、 以指定分隔符“|”加载
db2 "import from btpoper.txt of del modified by coldel|
insert into btpoper"
二、卸载数据:
1、 卸载一个表中全部数据
db2 "export to
btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del
modified by coldel| select * from btpoper"
2、 带条件卸载一个表中数据
db2 "export to
btpoper.txt of del select * from btpoper where brhid='907020000'"
db2
"export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2
"export to cmmcode.txt of del modified by coldel| select * from cmmcode where
codtp='01'"
三、查询数据结构及数据:
db2 "select * from btpoper"
db2 "select *
from btpoper where brhid='907020000' and oprid='0001'"
db2 "select
oprid,oprnm,brhid,passwd from btpoper"
四、删除表中数据:
db2 "delete from
btpoper"
db2 "delete from btpoper where brhid='907020000' or
brhid='907010000'"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where
brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where
jobtp='02' or jobtp='03'"
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force
applications all 断开所有数据库连接
八、备份数据库
1、 db2 backup db btpdbs
2、
db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢复数据库
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql
crtdb.sql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2帮助命令:
db2 ?
db2 ? restroe
db2 ?
sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0
十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2
update db cfg for btpdbs using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop
db2 start
10. DB2怎么创建数据库啊
在创建数据库时要考虑几个因素,有几种创建数据库的方法。
可以使用从 Control Center 调用的 Create Database 向导,会引导用户分步创建数据库。要是了解实际的 Create Database 命令的话,还可以从 DB2 Command Window、Command Editor 或命令行直接发出命令。
在这个示例中,从 DB2 First Steps Launch 面板的 Create Database 向导:
1、启动 DB2 Control Center。点击 Start > All Programs > IBM DB2 > General Administration Tools 并选择 Control Center。当提示选择 Control Center 视图时,点击 OK 选择默认视图(Advanced)。
2、点击 All Databases(如图 5 所示),然后点击 Create New Database。Create Your Own Database 向导打开。
5. 从 Control Center 创建新数据库
3、在 Create Your Own Database 向导中,指定数据库名和数据库目录的位置。输入 HelloWld 作为数据库名。指定 C:\ 作为默认路径。输入 hwld 作为数据库别名。在 Comment 字段中输入任何描述性的注释。
4、选中 Enable Database for XML。XML 列只能在 UTF-8 代码集(Unicode)数据库中使用。所以要在数据库中使用 XML,就必须创建 Unicode 数据库。
5、不需要指定任何其他数据库选项,所以选择 Summary 面板,然后点击 Show Command 来查看创建这个数据库所用的 DB2 命令。
6、因为在这个数据库中启用了 XML,所以使用 CODESET UTF-8。点击 Close。如果想将命令保存到文件中,供以后参考或重用,那么点击 Save 而不是 Close。
7、在 Create New Database 窗口中,点击 Finish 并等待向导完成操作。
在 DB2 创建数据库时,它还创建以下东西:
1、在指定的驱动器或路径上创建必要的数据库目录
2、创建一组默认的表空间,包括 SYSCAT、TEMPORARY 和 USER 表空间
3、在编目表空间中创建一组系统编目表和视图
4、创建数据库配置(DB CFG)文件并设置默认值
5、为数据库恢复日志文件创建空间并分配它
6、为数据库(如 CLI)和命令行处理器创建的几个应用程序
使用 DB2 Control Center 检查创建的数据库
在 Control Center 左边的面板中,找到并展开 All Systems 和 All Databases。看看是否能够找到刚才创建的 HELLOWLD 数据库。All Systems 提供了数据库对象视图,这些对象依次根据机器、实例和数据库进行分组。在这个机器上只有一个实例,DB2。All Databases 提供了这个机器上的所有数据库的快速查看。
6. 查看新数据库
如果了解创建数据库所用的 DB2 命令,那么可以使用在前面的 Create New Database 向导窗口中保存的 CREATE DATABASE 命令并根据需要进行修改,然后从 DB2 命令行处理器发出 CREATE DATABASE 命令来创建数据库。
选择 Start > Run,输入 db2cmd 并按 Enter。打开 DB2 命令行处理器窗口。要想获得 create database 命令的帮助,可以在命令行窗口中输入 db2 ? create database。
输入 db2 CREATE DATABASE MYTESTDB ON C:。在命令成功完成之后,点击 Control Center 主菜单中的 Selected 并点击 Refresh。然后看看是否能够在 Control Center 中找到新的数据库 MYTESTDB。
在 DB2 命令窗口中输入命令 db2 LIST DATABASE DIRECTORY。应该会看到 HELLOWLD 和 MYTESTDB 数据库的数据库项。