`

db2备份数据库的几种方法

阅读更多
一、db2备份数据一般用到backup 和 restore
引用

1、backup db databasename to [driver]
  restore db databasename  from [driver]
2、restore db databasename  from [driver] into dbrename


二、db2move export/import
引用

1、db2move  databasename export
2、db2move  databasename import


三、使用db2look
导出建库表结构的SQL
引用
$ db2look -d db2cert -a -e -x -o [driver]/db.sql

参数说明:
-a: Generate statistics for all creators
-e: Extract DDL file needed to duplicate database
-x: Generate Authorization statements DDL excluding the original definer of the object

注: 对于不同系统 如 linux unix与windows的移动来说
使用BACKUP/RESTORE命令显然是不行
db2move命令没有办法迁移索引、外键约束、触发器,更不能迁移含自增字段数据的表
这种情况下建议用第三种情况进行。

下面的[转]跨平台的DB2数据库的迁移

假设数据库名为sample,运行在AIX上,我们的目标是迁移到LINUX上。为简单起见,所有数据库对象都在DB2INST1模式  下,db2inst1用户拥有必须的所有权限,密码也是db2inst1


(一)AIX系统上的操作:

1) 首先我们用db2look命令得到数据库对象的DDL脚本:
db2look -d SAMPLE -z DB2INST1 -e -o sample.ddl -i db2inst1 -w db2inst1

2) 使用文本编辑器编辑生成的sample.ddl,将创建表及索引的脚本语句,创建外键约束的语句,创建触发器的语句分开,制作成三个DDL脚本,分别是
sample_tabs.ddl
sample_foriegnkeys.ddl
sample_triggers.ddl

3) 使用下面的SQL语句生成导出所有数据的脚本:exort.sql
db2 "select 'export to ' || rtrim(tabname) || '.ixf of ixf select * from ' || rtrim(tabname) || ';' from syscat.tables where tabschema = 'DB2INST1'" > export.sql

4) 编辑生成的export.sql,把头和尾那些信息去掉,只保留必要的export命令.

5) 使用下面的SQL语句生成倒入所有数据的脚本(我们使用LOAD命令,而且必须使用)

db2 "select 'load from ' || rtrim(tabname) || '.ixf of ixf insert into ' || rtrim(tabname) || ';' from syscat.tables where tabschema = 'DB2INST1'" > load.sql

6) 编辑生成的load.sql,把头和尾的信息去掉,只保留必要的load命令.搜索sample_tabs.ddl文件中哪些表含有自增字段(含有GENERATED ALWAYS AS IDENTITY定义的字段的表),并把load.sql中含有自增字段的表的load命令加入modified by identityoverride语句(加在of ixf和 insert之间,例如: load from MYTABLE.ixf of ixf modified by identityoverride insert into MYTABLE;)

注意:load命令中的modified by identityoverride可以保证导入数据时那些自增字段的值和原数据库中的数据一致.


7) 使用db2 -tvf export.sql命令,导出所有表的数据。

(二)将sample_tabs.ddl,sample_foriegnkeys.ddl,sample_triggers.ddl,load.sql及所有导出的.ixf数据文件复制到LINUX机器上.

(三)LINUX系统上的操作:

1) 使用CREATE DATABASE命令创建数据库SAMPLE,创建必要的表空间及配置必要的数据库参数.

2) 连接到SAMPLE数据库,使用sample_tabs.dd脚本文件创建表(db2 -tvf sample_tabs.ddl).

3) 进入到放置.ixf数据文件的目录,使用db2 -tvf load.sql导入数据.

4) 使用sample_foriegnkeys.ddl和sample_triggers.ddl脚本文件创建外键约束和触发器.

最后,别忘了对每张表运行runstats命令,你可以参照上面生成export和load命令脚本的方法来生成runstats脚本,然后再运行它。

分享到:
评论

相关推荐

    window db2数据库备份Bat脚本

    DB2数据库备份主要涉及以下几个知识点: 1. **备份类型**:DB2支持全量备份和增量备份。全量备份会复制数据库的所有数据,而增量备份只复制自上次备份以来更改的数据,通常用于日常维护。 2. **备份命令**:在...

    db2数据库备份和恢复

    DB2数据库备份主要包括全库备份、增量备份、日志备份等几种类型: 1. **全库备份**:备份整个数据库的所有数据和日志,是最彻底的备份方式,但耗时较长且占用大量存储空间。 2. **增量备份**:仅备份自上次全库备份...

    db2导出数据库

    本文将详细介绍几种常用的DB2数据库导出方法及其应用场景,帮助用户根据自身需求选择最适合的操作方式。 #### 二、DB2数据库目录管理 在开始介绍具体的导出方法之前,我们首先需要了解DB2数据库中的目录管理概念。...

    DB2 备份和还原数据库

    一、备份数据库 1. 离线全备份 离线全备份是在数据库完全停止服务的情况下进行的,以确保数据的一致性。执行离线全备份的步骤如下: - 首先,确认没有用户正在使用DB2,通过`db2 list applications for db sample`...

    windows下DB2数据库恢复

    - **db2copy1**:是DB2提供的一种用于数据复制的工具,可以在数据库之间进行全量或增量的数据复制。 - **应用场景**: - 全量复制:在新建数据库时将现有数据库中的所有数据完整地复制过去。 - 增量复制:定期将源...

    DB2 联合数据库II应用程序开发指南

    DB2联合数据库是一种允许用户通过单一访问点操作多个异构数据库的技术,它支持多种数据库管理系统,包括IBM的其他数据库产品和其他厂商的系统,如Oracle、SQL Server等。 本书内容可能涵盖以下几个关键领域: 1. *...

    DB2停止实例下数据库的几种方法

    ### DB2停止实例下数据库的几种方法 #### 知识点一:理解DB2数据库管理命令 ##### 1. `db2 connect to sample` - **命令解析**:此命令用于建立与名为`sample`的数据库的连接。在执行任何其他数据库操作之前,必须...

    db2数据库面试问题

    根据给定文件中的标题、描述、标签以及部分内容,我们可以从中提炼出与DB2数据库相关的多个重要知识点。以下是对这些知识点的详细阐述: ### DB2数据库面试问题概览 #### 1. E-R图中的关系类型及其特点 E-R图...

    db2数据库备份恢复实践总结

    本文档将详细介绍DB2中的几种常见备份和恢复方法,并通过具体的命令示例来展示这些方法的实际应用。 #### 二、脱机备份与恢复 脱机备份是指在数据库处于非活动状态时进行的数据备份,这种方式通常用于需要完整备份...

    DB2 数据库备份

    DB2提供了几种备份类型,包括完整备份、增量备份和差异备份。完整备份会复制整个数据库,包括所有数据和日志文件,是最基础的备份方式。增量备份仅记录自上次备份以来发生更改的数据,而差异备份则记录自上次完整...

    DB2数据库过期

    在许可证过期后,有几种应对策略: 1. **续订许可证**:联系IBM或其授权经销商,根据当前业务需求购买合适的许可证。这可能包括按需计费、年度订阅或一次性购买永久许可证。 2. **恢复到兼容模式**:在某些版本的...

    DB2数据库入门教程(官方中文版).pdf

    DB2支持SQL语言,这是一种标准化的结构化查询语言,用于与数据库进行交互。 在DB2数据库中,我们有以下几个关键概念: 1. 实例(Instance):DB2实例是数据库管理系统运行的环境,它管理一组数据库。 2. 数据库...

    db2数据库运维常用命令集 数据库运维.docx

    数据导入是DB2运维中的常见操作之一,主要包括以下几种方式: **1. 默认分隔符导入** - `db2 "import from btpoper.txt of del insert into btpoper"`:使用默认分隔符(通常是逗号)进行数据导入。 **2. 指定...

    db2定时自动备份脚本

    DB2的备份脚本通常会包含以下几个核心部分: 1. **环境设置**:首先,脚本会设置必要的环境变量,如DB2实例名、数据库名、用户名和密码,这些信息是连接到DB2数据库并执行备份操作所必需的。 2. **连接数据库**:...

    DB2数据库的安装配置文档

    9. **监控与维护**:DB2提供了丰富的监控和管理工具,用于检查数据库性能、备份恢复、日志管理等。定期进行这些操作能确保数据库高效、稳定运行。 10. **更新与升级**:随着时间的推移,IBM会发布新的DB2版本,包含...

    DB2与Oracle数据库技术的对比研究

    DB2也支持类似的数据分区方法,但Oracle在这方面可能更为先进。 - **仓库管理器**:Oracle的数据仓库管理工具(如Oracle Warehouse Builder)提供了丰富的功能来简化数据仓库的构建和维护;而DB2也提供了相应的工具...

    db2数据库官方发布资料[1共13份-english原版]-12 db2tvc90.pdf

    根据提供的标题、描述以及部分内容,我们可以总结出关于“db2tvc90.pdf”文档的主要知识点,该文档属于IBM DB2数据库系列官方发布的资料之一。下面将详细解析这些知识点。 ### 一、DB2数据库简介 #### 1.1 DB2...

    DB2数据库跨平台迁移步骤和注意事项

    在实际应用过程中,由于硬件升级、操作系统变更或是为了提高系统的兼容性和可移植性等多种原因,需要将DB2数据库从一种操作系统平台迁移到另一种平台上。这一过程不仅涉及技术层面的问题,还涉及到业务连续性、数据...

Global site tag (gtag.js) - Google Analytics