DB2导入数据库

2020-08-10 16:01:38 浏览数 (1)

1.登录服务器

首先使用db2用户登录到需要导库的服务器,通常用户名和密码为db2inst1/db2inst1

2.导出数据库

  1. cd到导出目录,如bak
  2. 创建db2move文件夹: mkdir db2move
  3. cd db2move
  4. 连接数据库:db2 connect to CREDITDB CREDITDB是你的数据库名称,连接时需要修改成自己的
  5. 导出数据库数据:db2move CREDITDB export CREDITDB是你的数据库名称,连接时需要修改成自己的
  6. 返回上层结构:cd ..
  7. 导出表结构:db2look -d edstest -u UUUU -e -o db2look.ddl edstest表示数据库名,UUUU表示用户名
    • 如果第7步执行失败,可以尝试这个命令,含@分隔符:db2look -d edstest -u db2inst2 -td @ -e -o db2look.ddl

3.导入数据库

  1. 你先将导出的数据库文件上传到你需要导入库的服务器上面
  2. cd到数据库文件目录,如bak;该文件下面有:db2look.ddldb2move文件夹
  3. 创建数据库: db2 CREATE DATABASE QS_TEST USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM PAGESIZE 32 k -- QS_TEST 是你的数据库名称 -- GBK是数据库编码
  4. 连接到刚才创建的数据库:db2 connect to QS_TEST 记得修改数据库名称
  5. 修改db2lokk.ddl中数据库和用户:
    • 我们导出的数据库文件中包含两个文件db2look.ddldb2move,现在你需要去检查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";)
  6. 修改好db2look.ddl后我们现在开始导入表结构:
    • cd 到数据库文件目录下(该目录下包含db2look.ddl),然后执行db2 -t -vf db2look.ddl
    • 注意:该命令要执行三遍,为什么要执行三遍,因为db2在执行这个命令的过程中可能会遗漏一些表,执行三遍是为了确保所有表都会被创建
  7. 导入数据库数据:
    • 刚才我们已经导入好表结构了,现在需要导入表数据
    • 我们需要进入到db2move目录下,cd ./db2move,然后执行db2move QS_ALS7 loadQS_ALS7 是你的数据库名称,记得修改

0 人点赞