DB2数据库备份、还原及常用命令

本文记录DB2常用的备份、还原及其他常用命令(错别字见谅,后续会更新)

一、备份

1、离线备份:

先切断数据库链接

db2 force application all

全量备份数据库至某个目录

db2 backup db dbname to d:

2、在线备份

开启在线备份的日志归档

db2 update db cfg for dbname using logarchmeth1 "Disk:d:\db2arch" 

开启后需离线备份一次数据库,然后再进行在线备份(database可简写成db,dbname是指数据库名)

db2 force application all(先切链接)

db2 backup database dbname to d:(离线备份)
db2 backup db dbname online to d:(在线备份)

二、还原

1、没有开启在线备份

db2直接根据目录下的备份文件进行还原(注意:数据库原文件磁盘与还原磁盘应是同一磁盘,否则表空间会缺失)

db2 restore db dbname from d:

如执行该命令后出现确认提示,输入“y”即可

2、开启了在线备份

①有日志记录的还原

若还原数据库文件时有数据文件和日志文件,可根据以下步骤进行还原

先找到日志文件的目录

db2 get db cfg for dbname

根据显示出的数据库配置,找到“日志文件路径”

将该目录下文件文件复制出来,然后执行还原命令(注意:数据库原文件磁盘与还原磁盘应在同一磁盘下,否则表空间会缺失)

db2 restore db dbname from d:

执行成功后,如使用connect连接会提示数据没有前滚(SQL1117N错误)

再看下数据库配置

db2 get db cfg for dbname

将已复制的文件拷贝到日志文件目录下

然后执行前滚命令

db2 rollforward db dbname to end of logs and complete

这时,前滚完成,执行数据库连接即可(username和password是用户名和密码)

db2 connect to dbname user username using password

②没有日志记录的还原

若只有在线备份文件数据文件,没有日志文件(一般用于磁盘坏道,病毒等引发的文件丢失或部分内容不可恢复)

直接进行备份数据文件的还原,并解压出活动日志(时间戳,备份文件的所在目录)

db2 restore db dbname logs taken at 2019041703361 logtarget d:\dbold

这时数据文件已还原,并在上述目录下生成日志记录的活动文件,再根据活动文件,进行前滚即可

db2 rollforward db dbname to end of logs and stop overflow log path('d:/dbold')

这样,再输入连接命令就可以了。

三、DB2常用命令

1、修改日志文件大小

修改日志文件大小:update db cfg for dbname using LOGFILSIZ 30000
修改主日志文件个数:update db cfg for dbname  using LOGPRIMARY 100
修改辅助日志文件个数:update db cfg for dbname  using LOGSECOND 60

2、用db2look命令生成表结构(dbname 是数据库名字,username 是数据库用户名,password 是数据库密码)

db2look -d dbname -i username -w password -a -e -o d:\database.sql 

3、用db2move导出所有表的数据

db2move dbname export -u username -p password

4、执行sql脚本(-tvf 后面跟着sql文件,后面是打印log)

db2 -tvf d:\database.sql -z d:\20190417.log

5、删除

删除表空间(dbname_tempspace32 是表空间名称)

db2 drop tablespace dbname_tempspace32

删除数据库

db2 drop db dbname

卸载Catalog信息

db2 uncatalog db dbname

db2 uncatalog node dbname 

db2 terminate

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值