一、删除数据库
--查看所有数据库:db2 list db directory
--断开数据库连接:db2 connect reset
--删除已存在的数据库:db2 drop database TESTDB。 如果执行失败可能是有数据库连接存在。执行db2stop force或者db2 force application all。再启动 db2start。删除数据库时,数据库所有表空间会自动删除。
--删除数据库表空间:db2 drop tablespace TABLESPACENAME
二、创建数据库
db2 create database MYDATABASE using codeset UTF-8 territory CN 。--指定数据库编码格式,指定所在国CN
其余创建数据库可选择的属性包括:创建数据库缓存池;指定数据库表空间。
具体步骤参考:https://blog.csdn.net/yixiayizi/article/details/8272437
三、备份、恢复数据库
备份:db2 backup database TESTDB to D:\BACKUP --只需指定待数据库名TESTDB 以及 备份路径(在线备份 online),不能指定到具体文件名,DB2备份时是会自动在备份文件夹下生成 TESTDB+时间戳的数据库备份文件。备份之前需查看TESTDB使用的表空间的文件路径。恢复时需在机器上创建同样路径的文件夹,否则恢复会导致表空间挂起,恢复不成功。备份可进行在线增量备份:在线备份即意味着允许其他的连接,而不用停掉数据库;增量意味着不需要每次备份一个完整的数据库,可以将数据库恢复到崩溃以前的状态,而不是最后一次备份的状态,减少数据损失。在线增量备份:db2 backup db TESTDB online incremental to D:\BACKUP
查看数据库表空间 db2 connect to TESTDB; db2 list tablespaces show detail;db2pd -tablespaces -db TESTDB;查看数据库配置 db2 get db cfg
恢复:1,先创建表空间需使用的文件夹(与原库一样)。
2,执行恢复命令 db2 resotre db TESTDB from "D:\BACKUP" taken at 20180720.... into TESTDB;
db2 rollforward db TESTDB to end of log and stop
具体操作步骤参考 https://blog.csdn.net/tony7706/article/details/70199191。
四、db2服务启动
执行db2命令时,报错: SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019
原因:db2服务未启动。由于改动了db2admin的密码,导致服务关闭,自动重启时密码不对。
解决:管理 ->服务-》 DB2-DB2COPY1 修改登录密码,启动服务。