天天看点

DB2 数据库的备份与还原

1.db2数据库 备份

创建文件:mkdir 201005051619 在这个文件夹操作

停止db2数据库:db2stop force

启动db2数据库:db2start

导出数据库对象信息

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

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

  db2move test(库名) export - u userName -p passWord -aw

-u 用户名 -p 密码

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

2.db2数据还原

windows 下

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

建表

DB2 CREATE DATABASE test AUTOMATIC STORAGE YES ON '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

授权

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 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