DB2导入数据库
1.登录服务器
首先使用db2用户登录到需要导库的服务器,通常用户名和密码为db2inst1/db2inst1
2.导出数据库
- cd到导出目录,如bak
- 创建db2move文件夹:
mkdir db2move
cd db2move
- 连接数据库:
db2 connect to CREDITDB
CREDITDB是你的数据库名称,连接时需要修改成自己的 - 导出数据库数据:
db2move CREDITDB export
CREDITDB是你的数据库名称,连接时需要修改成自己的 - 返回上层结构:
cd ..
- 导出表结构:
db2look -d edstest -u UUUU -e -o db2look.ddl
edstest表示数据库名,UUUU表示用户名- 如果第7步执行失败,可以尝试这个命令,含@分隔符:
db2look -d edstest -u db2inst2 -td @ -e -o db2look.ddl
- 如果第7步执行失败,可以尝试这个命令,含@分隔符:
3.导入数据库
-
你先将导出的数据库文件上传到你需要导入库的服务器上面
-
cd到数据库文件目录,如bak;该文件下面有:
db2look.ddl
、db2move
文件夹 -
创建数据库:
db2 CREATE DATABASE QS_TEST USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 32 k -- QS_TEST 是你的数据库名称 -- GBK是数据库编码
-
连接到刚才创建的数据库:
db2 connect to QS_TEST
记得修改数据库名称 -
修改db2lokk.ddl中数据库和用户:
- 我们导出的数据库文件中包含两个文件
db2look.ddl
、db2move
,现在你需要去检查db2look.ddl
中的数据 db2look.ddl
文件的开头你可以看到这样的语句CONNECT TO QS_TEST
,这里的QS_TEST
需要和你刚才创建的库名相同,如果不同,则需要修改为刚才你所创建的库名- 接着进入到
db2move
目录下,查看db2move.lst
文件中的!"db2inst1"."USER"!tab3.ixf!tab3.msg!
的db2inst1和db2look.ddl文件中的SCHEMA是否一样(db2look.ddl文件开头中有CREATE SCHEMA "db2inst1";)
- 我们导出的数据库文件中包含两个文件
-
修改好
db2look.ddl
后我们现在开始导入表结构:- cd 到数据库文件目录下(该目录下包含db2look.ddl),然后执行
db2 -t -vf db2look.ddl
- 注意:该命令要执行三遍,为什么要执行三遍,因为db2在执行这个命令的过程中可能会遗漏一些表,执行三遍是为了确保所有表都会被创建
- cd 到数据库文件目录下(该目录下包含db2look.ddl),然后执行
-
导入数据库数据:
- 刚才我们已经导入好表结构了,现在需要导入表数据
- 我们需要进入到db2move目录下,
cd ./db2move
,然后执行db2move QS_ALS7 load
,QS_ALS7
是你的数据库名称,记得修改
身体和灵魂都要在路上