砂拉豆 发表于 2016-11-14 07:21:10

DB2 数据库的备份与还原

  1.db2数据库 备份

创建文件:mkdir 201005051619    在这个文件夹操作
停止db2数据库:db2stop force
启动db2数据库:db2start


导出数据库对象信息

db2look-dtest(库名)-a-o   dbobj.dll-e –x –l


导出数据,导出之前最好建立一个目录。

  db2move   test(库名)    export- u userName -ppassWord -aw

-u用户名   -p密码


备份完以后 会在 当前文件夹(201005051619) 中 生成很多文件 一个库文件 和一些 数据



2.db2数据还原

windows 下

在命令行中 删除 原来的库(一般 windows下都不能在当前的额 cmd窗口中执行 所以要 执行db2cmd 再弹出一个cmd窗口,在此窗口中 执行操作)


建表
DB2 CREATE DATABASE test AUTOMATIC STORAGE YESON 'D:' ALIAS test USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM PAGESIZE 32768


重建数据库对象

dbobj.ddl 里面包含了外键的的DDL, 把这部分DLL 单独拷到一个文件foreignkey.dll 然后把剩下的 语句 拷到另外一个 table.dll 文件中

先执行这部分
db2 –tvf   table.ddl
然后装载数据
db2move test load
最后 创建外键
db2 –tvf   foreignkey.dll
授权
db2GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECTONDATABASE TOUSERUSERNAME
db2 GRANT CREATEIN,DROPIN,ALTERIN ON SCHEMA test USER USERNAME


linux环境下

2.先删除 原来数据库db2 drop db test 

3.创建数据库 语句
db2 create db test AUTOMATIC STORAGE YES USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM PAGESIZE 32768

4.创建表 语句

db2 -tvf  table.dll(分离出来的 建表文件)

5.加载数据

db2move test load

6.创建 外键关系语句
db2 -tvf  foreignkey.dll

7.授权
db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT ON DATABASE TO USER USERNAME
db2 GRANT CREATEIN,DROPIN,ALTERIN ON SCHEMA test TO USER USERNAME

8. 停止 数据库   db2stop force

9.启动数据库 db2start



如果遇到不能连接数据库 执行 db2 connect to test
页: [1]
查看完整版本: DB2 数据库的备份与还原