(一)使用db2move导出全部数据
db2move是一个集成式的数据移动工具,它支持导出(export)、导入(import)、装入(load)三种操作方式。其实db2move的这三种工作方式分别是通过简单使用db2 export, db2 import, db2 load指令来完成的。
此部分仅仅介绍其export功能,import和load将在稍后的部分介绍。使用db2move导出的数据文件格式是IXF。
建立并进入数据存放目录:
$ mkdir /home/backup/mydata
$ cd /home/backup/mydata
导出指定的数据库中的全部数据:
$ db2move testdb export –u db2inst1 –p thepasswd
说明:
1,这将会把数据库testdb中的全部数据提取到当前目录(/home/backup/mydata)中。每个表的内容都存储在一个.ixf文件中,每个.ixf文件都有一个与之相对应的.msg文件,.msg文件是描述从表中导出数据时的信息的。另外还有两个文件,db2move.lst用来记录.ixf文件、.msg文件与表的一一对应关系,EXPORT.out记录的是导出数据时的屏幕输出。
2,有关db2move指令更多的细节,请直接执行该指令,将会打印出其帮助信息。
(二)使用db2move导入(import)数据
以db2inst1用户身份登录到Host 2。
创建数据库mytestdb:
$ db2
db2 => create database mytestdb on ‘/home/db2inst1’ using codeset UTF-8 territory CN
db2 => connect to mytestdb user db2inst1 using thepasswd
创建一个pagesize为16K的bufferpool,名为mybigpool:
db2 => create bufferpool mybigpool immediate size 1000 pagesize 16K
创建一个tablespace使用上面创建的bufferpool,名为mybigspace:
db2 => create regular tablespace mybigspace pagesize 16K managed by system using (‘/home/db2inst1/db2inst1/NODE0000/SQL00004/SQLT0003.0’) extentsize 16 overhead 12.67 prefetchsize 16 transferrate 0.18 bufferpool mybigpool dropped table recovery off
注:
extentsize, overhead, prefetchsize, transferrate这几个参数值与所使用的服务器有关,我这里使用的值是基于普通的、使用SCSI硬盘的PC服务器的。
完成空库的创建:
db2 => commit work
db2 => connect reset
db2 => terminate
导入(import)数据:
使用import方式不需要先建表结构,即,准备好一个空库就行了。这一点与load方式不一样,load方式需要先建立表结构。
我将从Host1上导出的全部数据文件(位于Host1的 /home/backup/mydata下)复制到Host2下某个目录下,假定为 /home/movedata
$ cd /home/movedata
$ db2move mytestdb import –u db2inst1 –p thepasswd
此时屏幕上会显示有关导入数据的信息。
存在的问题:
db2move import方式只能导入“普通”的表,如果表中存在自增长的IDENTITY列,那么使用db2move import时,会出错。这是因为,如果IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该列数据是不能被赋值的,而是应该由系统生成,使用db2move无法导入这样的表。对于这种含有IDENTITY列的表,只能使用db2 import指令来进行导入,相关的参数是IDENTITYIGNORE,IDENTITYMISSING。我将在下一部分给出具体的指令操作。
一句题外话:
如果需要实现唯一主键,可以不必使用IDENTITY列,改而使用sequence,这样比较便于维护和管理。
注意点:
mybigspace可能要根据实际情况设值
分享到:
相关推荐
DB2 数据库导入导出的操作方法是指将用户的 DB2 数据库导出并导入到自己的 DB2 数据库上。由于 DB2 没有直接的数据库导出功能,因此需要导出表结构、表数据,然后在导入。 一、导出表结构 在 DB2 命令行工具中,...
- 使用命令`db2move db_name export -u username -p password`导出数据。 - `-u username`指定用户名。 - `-p password`指定密码。 - 导出的数据通常会被保存在一个特定的文件夹中。 #### 二、DB2数据库导出表...
#### 九、DB2Move导入功能 对于数据导入,DB2Move也提供了相应的支持: - **db2move db_name import -ior -u user_name -p password** - `-ior` 表示导入并替换现有数据; - `-u user_name` 和 `-p password` ...
DB2 导出数据库表结构和数据 DB2 是一个关系数据库管理系统,能够高效地存储、管理和检索大量数据。在实际应用中,我们经常需要导出...我们可以使用 db2cmd、db2look 和 db2move 等工具来实现数据库的导出和备份。
4. 等待数据库导出完成,出现 `Disconnecting from database ... successful!` 提示后,即表示数据库导出成功。 DB2 数据导入 DB2 数据导入是将数据从外部文件导入到 DB2 数据库中的过程。下面是 DB2 数据导入的...
**步骤1:** 使用`DB2MOVE`命令导出数据库的数据: ``` DB2MOVE DATABASE_NAME EXPORT -u USER_NAME -p PASSWORD ``` - `-u USER_NAME`: 登录数据库的用户名。 - `-p PASSWORD`: 登录数据库的密码。 **注意:** `-u...
- 在执行导出导入操作时,需注意目标数据库的表空间配置是否与源数据库一致。 3. **DDL定义问题**: - 使用`db2look`工具获取的DDL定义可能存在一些差异,需要注意手动编辑以适应不同的环境需求。 4. **文件格式...
DB2 数据库是一个高度复杂且...总的来说,DB2的数据导出导入涉及到对数据库结构的理解、命令行工具的熟练运用以及迁移后的验证步骤。正确执行这些操作,可以在不丢失数据的情况下,安全地在不同DB2实例之间迁移数据。
使用`db2move`命令可以实现整个数据库的导出。 ``` db2move <dbname> export -u <username> -p ``` ### 二、导入数据到DB2数据库 #### 1. 导入SQL脚本 使用`db2`命令执行SQL脚本,可以将之前导出的数据库结构或...
`db2move`用于数据库级别的迁移,而`db2import`和`db2export`则专注于表级别的操作。`LOAD`命令适用于大量数据的快速加载,通常用于初始化或更新大数据量的表。 **编程** DB2支持多种编程语言接口,包括Java、C、...
导入数据时,先创建新数据库,然后使用`db2 -tvf 文件名.sql`导入表结构,`db2move 新建库名 load`导入数据。 9. **db2look命令详解**: `db2look`是一个非常强大的工具,可以生成DDL语句来重新创建数据库中的...
以上介绍了 DB2 数据库中数据导入导出的基础知识及常用命令,包括 `db2forceapplicationall`、`db2backupdb`、`db2listapplications`、`db2look`、`db2move` 等命令的具体用法,以及如何使用 SQL 语句进行数据选择。...
- 当需要将之前备份的数据恢复到当前数据库时,可以使用`db2move`命令进行导入操作。这里需要注意的是,实际使用中`-u`和`-p`参数后面应该跟具体的用户名和密码值,而非`usreid`和`password`。 #### 四、DB2 ...
5. **导出数据库数据**:使用`db2move`命令可以导出数据库的数据。例如,`db2move <dbname> export`将导出数据库`<dbname>`的数据。如果出现警告,可以使用`-aw`参数处理。 6. **建立新数据库**:创建新的数据库...
`db2move`是一个强大的工具,用于导出和导入数据库对象,如表、视图、索引等,支持跨平台的数据迁移。 1. **导出数据库对象**: ```sql db2movetfmsexport; createdbtfms; db2movetfms -u <user> -p <password> ...
总结起来,DB2数据库的基本操作包括数据导出导入、备份与恢复等,这些操作对于保证数据的完整性和可恢复性至关重要。文档的描述和部分内容展示了这些操作的命令格式和使用场景,为数据库新手提供了操作指南。