DB2离线和在线全备、增量备份及恢复的操作步骤
1、离线全备份
1)、首先确保没有用户使用DB2:
$db2 list applications for db sample
2)、停掉数据库并重新启动,以便断掉所有连接:
db2stop force
db2start
3)、执行备份命令:(使用TSM作为备份的介质)
db2 backup db sample use tsm
备份成功,将会返回一个时间戳。
4)、检查备份成功:
db2 list history backup all for sample ,可以看到多了这个备份的纪录。
db2adutl query命令也可以看到返回值。
5)、备注:
首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
2、 在线备份:
1)、首先打开一下支持在线备份的数据库配置参数:
db2 update db cfg for sample using userexit on 启用用户出口
db2 update db cfg for sample using logretain on 启用归档日志
db2 update db cfg for sample using trackmod on 启用增量备份功能
(需要各个Node都分别做设置)
开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
2)、在线备份命令如下:
db2 backup db sample online use tsm
备份成功,返回一个时间戳。
3)、同样可以用db2adutl 和db2 list history察看备份纪录。
4)、备注:
同样,对每个节点都做这个操作。
3、 在线增量备份
1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm
备份成功,返回一个时间戳。
2)、同样可以用db2adutl 和db2 list history察看备份纪录。
3)、还有一种delta的备份:
db2 backup db sample online incremental delta use tsm
这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
4)、备注:
同样,对每个节点都做这个操作。
4、 恢复数据库
1)、手工drop数据库,模拟灾难恢复的情况,执行如下操作:
db2 drop db sample
2)、恢复备份历史纪录(每次backup,不论类型,都会备份历史纪录文件)。这里的时间戳应该是最新的:
db2 restore db sample history file use tsm taken at 20030102223107 buffer 100
3)、使用db2的恢复帮助工具:
db2ckrst -d sample -t 20030101224424 -r database
命令返回建议的必需的恢复操作命令。
4)、按照帮助工具的提示,先做版本恢复,恢复命令如下:
db2 restore db sample incremental use tsm taken at 20030101224424 buffer 100
同样先做主节点的恢复,再做其他节点的恢复操作。
5)、这时数据库处于rollforward-pending state的状态,需要做roll forward 操作:
db2 rollforward db sample to 2003-01-12-13.27.25.000000 on all nodes and stop
前滚到同一个时间点。这个操作要在主节点来做。
5、有关说明:
1)、恢复操作也有online和offline的,区别如同backup的操作。
2)、按照表空间的备份和恢复类似,加子句TABLESPACE ( tablespace-name )即可。表空间级别的备份/恢复操作要求数据库处于归档日志和启用增量备份模式下。
3)、恢复的例子中只做了版本恢复。若还有更新的全备份和增量备份的image,可以依次做恢复(注意使用db2ckrst的建议恢复次序和次数)后,再做roll forward.
db2 force applications all
db2 backup db ldapdb2 to directory_or_device
db2 restore db ldapdb2 from directory_or_device replace existing其中 directory_or_device 是存储备份的目录或设备的名称。
windows 迁移到 linux:
db2move tfms export;
create db tfms;
db2move tfms -u -p import > a.txt;
db2move tfmsw179 import -u db2admin -p db2admin > a.txt
确认执行:TERMINATE
6、恢复数据库
(1)先创建空数据库:db2 create db NewdbName
(2)db2 restore olddbName(需恢复数据库名称) taken at Times(时间点) into NewdbName(新数据库名称)
注:在恢复新的数据库的名称和刚创建的名称一样。
//////
我自己的运用:
导出数据:
1:在DOS里运行DB2CMD
2:在D盘新建个文件夹CMS,在DB2CMD的DOS里CD到CMS目录
3:运行db2move 要备份的数据库名称 export -u 用户名 -p 密码
4:成功
导出数据:
1:在DB2控制台里建设一个空的数据库(缺省缓冲池和表空间大小设置大点最高32K,代码集设置UTF-8)
2.首先在D盘选择一个文件夹例如cms
3:运行db2move test import -u 用户名 -p 密码
注:改日志空间大小 右键数据库--->配置参数--->LOGFILSIZ设置大小 可以设置大点 例如50000
db2look
1.db2look -d cms_dev -a -e -o cms_dev.sql
生成数据库cms_dev的DDL,包括 tables, views, automatic summary tables, indexes, triggers, sequences, primary key, referential, and check constraints, user-defined functions, and procedures
db2look -d <database-name> [<option1> <option2 … <optionn>]
You must specify the name of the database whose objects you want to describe. You can then specify one or more options (in any order) to define the scope of the extraction, including:
-e
Extracts DDL statements for database objects such as tables, views, automatic summary tables, indexes, triggers, sequences, primary key, referential, and check constraints, user-defined functions, and procedures.
-a
Extracts DDL statements for all objects created by all users. For example, if this option is specified with the -e option, all objects in the database are processed.
-z schema-name
Limits the output to objects with the specified schema name.
-t table-name
Limits the output to one or more (maximum 30) specified tables. Table names must be separated by a blank space.
-m
Generates the required UPDATE statements to replicate statistics on tables, columns, and indexes.
-l
Generates DDL statements for user-defined table spaces, database partition groups, and buffer pools.
-x
Generates DDL statements that grant or revoke privileges on database objects.
-td delimiter
Specifies the statement delimiter that the db2look utility is to use; the default is the semicolon (;).
-o file-name
Writes the output to a file. If this option is not specified, writes to standard output.
-i userid
Specifies a user ID that the utility requires to log on to a remote system.
-w password
Specifies a password that authenticates the user; the utility requires a valid user ID and password to log on to a remote system.
参考地址 http://www.ibm.com/developerworks/data/library/techarticle/dm-0403melnyk/
分享到:
相关推荐
DB2MOVE通常与DB2LOOK命令一起使用,后者可以生成DDL语句和数据定义语言语句,从而允许用户查看数据库的模式和数据。 在实现DB2数据库的自动备份过程中,首先要编写一个备份脚本。脚本的作用是根据设定的执行时间,...
### DB2 数据库常用命令详解 #### 一、db2move — 数据库迁移与转换工具 ...通过上述命令和操作,DB2数据库管理员能够有效地管理和优化数据库性能,确保数据库系统在高负载环境下依然保持高效稳定。
利用`db2look`命令,导出原始数据库(本例中为`orcl`)的表结构和数据到SQL脚本文件中。具体命令如下: ```sql db2look -d orcl -e -l -t -d @ -a -x -i yygl -w yygl -o d:\db2move\createdb.sql ``` 其中: - `-...
4. **执行备份操作**:使用`db2look`和`db2move`命令进行DDL和数据的备份。例如,使用`db2look -d ecgap -z ecgap -e -o ecgap.ddl >> ecgap.log`来备份DDL,使用`db2move ecgap export -s ecgap >> ecgapdata.log`...
下面是 DB2 中常用的命令大全,涵盖了基础篇和高级篇两部分。 基础篇: 1. 连接到数据库:db2 connect to <数据库名> --连接到本地数据库名 db2 connect to <数据库名> user <用户名> using <密码> --连接到远端...
使用`RESTORE`命令进行恢复,例如`DB2 RESTORE DATABASE TEST HISTORY FILE FROM "/home/db2inst1/db2_bk" TAKEN AT 20101213115255 WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING`,确保备份时间和...
db2move <数据库名> export -tn <表 1>,<表 2> -- 导出数据库中表和表数据 2. 数据库导入 db2 -tvf <脚本名称>.sql -- 把上述导出的表结构导入到数据库表结构 db2move <数据库名> load -lo replace -- 把上述“db2...
### DB2中的常用命令与导入导出操作详解 #### 前言 在数据库管理领域,DB2(Database 2)作为IBM推出的一款关系型数据库管理系统,在企业和组织中有着广泛的应用。相较于图形用户界面(GUI),通过命令行进行操作...
### DB2常用命令及常见问题处理...这些命令涵盖了数据库的基本管理、数据备份与恢复、数据导入导出等多个方面,对于日常使用DB2数据库的人来说非常实用。掌握这些命令可以帮助提高工作效率,更好地管理和维护数据库。
- 使用`db2look`工具获取的DDL定义可能存在一些差异,需要注意手动编辑以适应不同的环境需求。 4. **文件格式问题**: - 根据实际情况选择合适的文件格式(如ASCII或DEL),并确保导入时正确匹配字段分隔符。 通过...
- `db2move` 命令用于导出和导入数据库数据,支持替换原有数据。 9. **查看表信息**: - `db2 describe table <表名>` 查看表的详细结构。 - `db2 list tables` 列出所有表,`for system` 参数列出系统表。 - `...
- **db2adutl TSM**:与Tivoli Storage Manager (TSM) 相关的备份和恢复命令。 - **db2advis**:提供性能优化建议,帮助优化数据库的性能。 - **db2audit**:管理审计功能,记录数据库活动。 - **db2batch**:执行...
使用 `db2look` 命令可以导出数据库的表结构,`db2move` 命令用于导出数据库数据。例如,`db2look -d <数据库名> -e` 导出所有表结构,`db2move <数据库名> export` 导出整个数据库的数据。 9. **数据库导入**: ...
DB2 导出数据库表结构和数据 DB2 是一个关系数据库管理系统,能够高效地存储、管理和检索大量数据。在实际应用中,我们经常需要导出...我们可以使用 db2cmd、db2look 和 db2move 等工具来实现数据库的导出和备份。
- **命令**: `db2move export [-sn <模式名称>] [-tn <表名>]` - **功能**: 导出数据到文件。 - **参数说明**: - `-sn`: 模式名称,默认为db2admin。 - `-tn`: 表名,可以指定多个表名,用逗号分隔。 **11. 导入...
使用`db2look`命令可以将数据库结构导出为SQL脚本,方便进行备份或迁移。 ``` db2look -d <dbname> -e -u <username> -p <password> -z <charset> -o <outputfile>.sql -i ``` 其中: - `-d <dbname>`:指定数据库...
- `db2look -d <数据库名> -a -e -i <用户> -w <等待时间> -o <输出文件路径>`:该命令可以用来捕获数据库中的所有 DDL 语句,并将它们输出到一个文件中。例如,记录 OADBE 数据库中的所有 DDL 语句,输出文件路径...