【db2】 db2数据库还原,备份
将整个文件夹(JMAM_DQ.0)放到D:\db_bak\
开始-运行,输入db2cmd:
1.创建数据库
db2 create db dbname on d:
(数据库在D盘,这时系统会自动新增SQL0000*目录,结果目录如:D:\DB2\NODE0000\SQL0000*\....;
如果远程连接数据库创建,则在执行create 前先执行 db2 attach to servernode user ...using..。)
2.还原数据库(重新指向)
db2 restore db JMAM_DQ from D:\db_bak\ taken at 20111226134239 into dbname redirect
3.定义容器路径和表空间,根据实际创建数据的路径设置
db2 set tablespace containers for 0 using (path "D:\DB2\NODE0000\SQL0000*\SQLT0000.0")
db2 set tablespace containers for 1 using (path "D:\DB2\NODE0000\SQL0000*\SQLT0001.0")
db2 set tablespace containers for 2 using (path "D:\DB2\NODE0000\SQL0000*\SQLT0002.0")
db2 set tablespace containers for 3 using (file "D:\DB2\NODE0000\SQL0000*\dbname.DBF" 50000) --(可以无,如还原报错则加上)
db2 set tablespace containers for 4 using (file "D:\DB2\NODE0000\SQL0000*\dbname_Temp.DBF" 12500) ----(可以无,如还原报错则加上)
db2 restore db JMAM_DQ continue
4.拷贝日志文件
上一命令成功后,查看目录路径,D:\DB2\NODE0000\SQL0000*\SQLOGDIR\,将JMAM_DQ.0里的log日志文件拷贝到
目标文件夹内。(如路径不对,则可通过执行db2 get db cfg for dbname ,查看"NEWLOGPATH"项, 修改路径: db2 update db cfg for sample using NEWLOGPATH D:\DB2\NODE0000\...\)
5.最后回滚数据库,完成数据库还原
db2 rollforward db dbname to end of logs and complete
完--------------
其他--------------------------
备份数据库:
db2 backup db mam_32 online to D:\db_bak
结果如:JMAM_DQ.0\DB2\NODE0000\CATN0000\20111226\134239.001
JMAM_DQ.0\DB2\NODE0000\CATN0000\**.LOG
导出数据文件
db2move <db name> export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>]
导入数据文件
db2move <db name> import
其他:
db2 attach to servernode user ...using..连接本地节点实例
db2 drop db dbname //删除数据库
db2 connect to dbname user username using password //连接数据库
db2 connect reset //退出当前连接数据库
db2 get db cfg for dbname //获得当前数据库配置信息 -可以获得当前数据库日志文件路径
db2 set schema btp 修改当前模式为"btp"
db2 list tablespaces show detail 查看当前数据库表空间分配状况
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
db2 list application 列出连接
db2 force application all 断开数据库连接
db2 list db directory 列出所有数据库
db2 list active databases 列出所有活动的数据库
db2 list tables for all 列出当前数据库下所有的表
db2 list tables for schema btp 列出当前数据库中schema为btp的表
db2 list tablespaces show detail 显示数据库空间使用情况
db2 list packages for all
db2start --启动数据库
db2stop --停止数据库
-------------------
--查看配置
get db cfg for js42gxr
--语句堆太小
update db cfg for sample using APP_CTL_HEAP_SZ 5120
--可以使用如下语句,调整sql文最大长度:
update db cfg for sample using stmtheap 20480
--但是sql文查出的数据过多时还有可能出现内存不足的情况
--可以使用如下语句,来调整内存大小:
update db cfg for sample using applheapsz 1024
db2 update db cfg for dbtest using logretain on –归档日志模式,可在线备份
(此时要保证数据库连接是reset的)
db2 "restore db $db from $backdir without prompting"
DB2使用命令编目远程数据库至本地
本文测试环境:Windows 32位平台
DB2 V7 DB2 V8 版本
1 编目远程节点:
db2 catalog tcpip node db2cdb2 remote 10.81.XX.XX server 50000
成功以后显示:
DB20000I CATALOG TCPIP NODE 命令成功完成。
DB21056W 只有在刷新目录高速缓存以后,目录更改才会生效。
2 设置编目的节点为当前节点:
db2 attach to db2cdb2 user user_name using password
成功以后显示:
实例连接信息
实例服务器 = DB2/NT 8.2.0
授权标识 = user_name
本地实例别名 = db2cdb2
3 编目数据库:
db2 catalog db DB_NAME AS ALIAS_NAME AT NODE DB2CDB2
成功以后显示:
DB20000I CATALOG DATABASE 命令成功完成。
DB21056W 只有在刷新目录高速缓存以后,目录更改才会生效。
4 测试数据库连接:
db2 connect to ALIAS_NAME user user_name USING password
成功显示:
数据库连接信息
数据库服务器 = DB2/NT 8.2.0
SQL 授权标识 = user_name
本地数据库别名 = ALIAS_NAME