DB2创建库备份还原

目录


1.DB2 创建库

2.DB2 库的备份

3.DB2 库的恢复

4.DB2 创建schema

5.DB2备份schema和导出数据

6.DB2恢复schema和导入数据

1.DB2 创建库
su - db2inst1
db2 create database <database name>


指定编码创建
db2 create database <database using codeset 1328 territory CN

赋予用户DBA权限
db2 grant dbadm on database to user userName

参考:https://www.bootwiki/db2/db2-create-database.html

 

2.DB2 库的备份
请先阅读:https://www.ibm.com/docs/zh/license-metric-tool?topic=database-backing-up-db2

2.1.要切换DB2实例Instance:
su - ldapdb2

2.2.要关闭所有 DB2 连接,请输入以下命令:

db2 force applications all
db2 list applications
显示类似于以下的消息:
SQL1611W 数据库系统监视器未返回任何数据。

2.3.要启动备份过程,输入以下命令:
db2 backup db ldapdb2 to [file system | tape device]


其中:
[file system | tape device] 是存储备份的目录或设备的名称。
注:
确保继续之前备份过程已成功。下一步是毁坏现有数据库以便重新创建它。如果备份不成功,现有数据库丢失。可以通过恢复到单独的系统上来验证备份是否成功。
参考:http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1145-01/zh_CN/HTML/am41_perftune64.htm#idx56

3.DB2 库的恢复:
请先阅读:https://www.ibm.com/docs/zh/license-metric-tool?topic=database-restoring-db2

3.1.从备份文件复原数据库。
db2 restore db ldapdb2 from [file system | tape device] replace existing

注:
恢复中发生的最常见错误是文件许可权错误。下面是可能发生此错误的一些原因:

DB2 实例的所有者没有访问指定目录和文件的许可权。解决此问题的一种方式是更改 DB2 实例所有者的目录和文件所有权。例如,输入以下命令:
chown ldapdb2 fil_or_dev

参考:http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1145-01/zh_CN/HTML/am41_perftune66.htm#iddb2bnr

4.DB2 创建schema

db2 create schema <schema_name> authroization <inst_user>
例子:db2 create schema Regular authorization db2inst1


5.DB2备份schema和导出数据:

场景:日常中开发同步生成环境或者环境切换都需要进行表结构、存储、数据等等的迁移,本文为表、视图、包、函数、存储等统一备份及恢复的操作。

5.1.登录数据库所在服务器,或者可远程连接需备份数据库的服务器
db2 connect to <Database Name>
5.2.备份schema表结构:
db2look -d <Database Name> -e -a -l -o schemaname.sql


5.3.导出数据


a)导出全部数据
db2move <Database Name> export -u username -p password -aw
b)导出1个或多个表数据
db2move <Database Name> export -tn tableName1,tableName2 -sn schemaName -aw


6.DB2恢复schema和导入数据:

6.1.登录数据库所在服务器,或者可远程连接需备份数据库的服务器
db2 connect to <Database Name>
6.2.将备份文件上传至服务器
6.3.确认修改HBUDBF.sql,注释掉已经存在的表空间TABLESPACE
6.4.执行代码
db2 -svtf schemaname.sql
db2 terminate
6.5.导入数据
a)导入全部数据

 db2move <Database Name> import



a)导入单表数据
db2 import from tab1.ixf of ixf insert into "schemaname"."tableName"

a)删除模式下所有对象后执行
drop schema <Schema Name> restrict


8.DB2版本信息
[db2inst1@server1 ~]$ db2licm -l

9.修改文件权限
chown db2inst1: /home/db2inst1/*.*

10.查看更新DB2配置
db2 get db cfg for <database_name>

db2 update db cfg for <database_name> using <parameter_name> <value>

 

posted on 2021-11-10 00:42  星际贸易梦想家  阅读(216)  评论(0编辑  收藏  举报

导航