DB2分区数据库的前滚操作
DB2分区数据库备份映象文件是通过联机备份产生的,在DB2分区数据库恢复操作结束后,数据库将处于前滚暂挂状态,必须通过前滚操作前滚归档日志,以取消前滚暂挂状态,使数据库最终可用。
对DB2分区数据库的前滚操作:
由于新数据库 SAMPNEW 的日志路径下不包含源 SAMPLE 数据库日志路径下的归档日志文件,所以在前滚操作之前,需要将 SAMPLE 的归档日志文件复制到一个特定的路径下,然后在发出前滚命令时,使用 OVERFLOW 选项来指定该路径,以替代 SAMPNEW 的数据恢复日志路径来提供前滚操作要使用的归档日志文件。
为查找源 SAMPLE 数据库归档日志存放的路径,可利用如下命令:
db2_all "db2 get db cfg for sample" | grep "Path"
Path to log files = /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0001/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0002/SQL00001/SQLOGDIR/
Path to log files = /home/db2inst1/db2inst1/NODE0003/SQL00001/SQLOGDIR/
这里假设将各分区的归档日志文件对应复制到 /sampnew 下,因前滚命令仅可在编目分区上执行,所以在编目分区上前滚到日硬盘数据恢复志文件尾并结束前滚状态的命令应写为:
db2 "rollforward db sampnew to end of logs and complete overflow log path
(/sampnew/NODE0000/SQL00001/SQLOGDIR,
/sampnew/NODE0001/SQL00001/SQLOGDIR on dbpartitionnum 1,
/sampnew/NODE0002/SQL00001/SQLOGDIR on dbpartitionnum 2,
/sampnew/NODE0003/SQL00001/SQLOGDIR on dbpartitionnum 3,
)"
注:对于0号分区,在 OVERFLOW 选项中不能使用“ON DBPARTITIONNUM 0”的子句,否则会遇到:
SQL0104N An unexpected token "on" was found following "<identifier>". Expected tokens may include: ")". SQLSTATE=42601
的报错,表明命令语法不正确。
【编辑推荐】
相关文章
- .net core操作MongoDB
- UE5 Cesium for Unreal加载本地数据(原创)
- TCS34725 颜色传感器设备驱动程序
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
- BST查找结构与折半查找方法的实现与实验比较
- 自动增长配置不合理导致的性能抖动
- RocketMQ Compaction Topic的设计与实现
- Flink mini-batch "引发" 的乱序问题
- 痞子衡嵌入式:探讨i.MXRT下FlexSPI driver实现Flash编程时对于中断支持问题
- Redis 中ZSET数据类型命令使用及对应场景总结
- 为什么存储过程比sql语句效率高?
- GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes
- Azure DevOps 的架构窥探
- 神奇的DEBUG:因为异常导致MongoDB容器无法启动
- C++进阶(位图+布隆过滤器的概念和实现+海量数据处理)
- 大数据 - DWS层 业务实现
- 大数据 - DWD&DIM 行为数据
- 大数据 - ADS 数据可视化实现
- 2 Java内存层面的对象认识
- 线性方程组的直接解法——Gauss消去法