DB2在线备份恢复,无法回滚。 求大神帮忙解决

f1956 2015-09-28 11:22:30
#!/bin/sh

#数据库名
DB_NAME="AMFEDB"
#备份目录
HBAK_DIR="/tmp"
#备份文件名
FILE_NAME=`ls -t $HBAK_DIR|grep $DB_NAME|head -1`
#备份时间戳
TIMESTAMP=`echo "$FILE_NAME" | awk -F . '{ print $6 }'`

if [ -z "$FILE_NAME" ];then
echo "备份文件不存在!"
exit 99
fi
if [ -z "$TIMESTAMP" ];then
echo "最新备份文件[$FILE_NAME]格式不正确!"
exit 99
fi

echo "使用备份文件[$FILE_NAME]对数据库[$DB_NAME]进行恢复"
echo `date "+%Y-%m-%d %H:%M:%S"`"开始恢复..."

#数据库恢复恢复
RES=`db2 "restore db $DB_NAME incremental automatic from $HBAK_DIR taken at $TIMESTAMP logtarget /tmp/"<<EOF
y
EOF`
echo "$RES"
if [ "$RES" = "SQL1035N The database is currently in use. SQLSTATE=57019" ];then
#重启数据库
echo "开始重启数据库..."
db2stop force
db2start
echo "数据库重启结束"
RES=`db2 "restore db $DB_NAME incremental automatic from $HBAK_DIR taken at $TIMESTAMP logtarget /tmp/"<<EOF
y
EOF`
echo "$RES"
fi

#数据库前滚恢复
db2 "rollforward db $DB_NAME to end of backup and stop overflow log path(/tmp)"
if [ $? -ne 0 ];then
echo "恢复数据库[$DB_NAME]失败!"
else
echo "恢复数据库[$DB_NAME]成功!"
fi

#删除第一步生成的log文件
echo "正在删除临时文件..."
rm -r /tmp/NODE0000



使用备份文件[AMFEDB.0.db2inst1.NODE0000.CATN0000.20150928192955.001]对数据库[AMFEDB]进行恢复
2015-09-28 20:18:58开始恢复...
SQL1035N The database is currently in use. SQLSTATE=57019
开始重启数据库...
2015-09-28 20:19:00 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
09/28/2015 20:19:02 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
数据库重启结束
SQL2539W Warning! Restoring to an existing database that is the same as the
backup image database. The database files will be deleted.
Do you want to continue ? (y/n) DB20000I The RESTORE DATABASE command completed successfully.
SQL1268N Roll-forward recovery stopped due to error "24" while retrieving log
file "S0000004.LOG" for database "AMFEDB" on node "0".
恢复数据库[AMFEDB]失败!
正在删除临时文件...
rm: 鏃犳硶鍒犻櫎"/tmp/NODE0000": 娌湁閭d釜鏂囦欢鎴栫洰褰
2015-09-28 20:19:33恢复结束





[db2inst1@ACS222 dbdate]$ db2 rollforward db amfedb to end of logs
SQL1265N The archive log file "S0000003.LOG" is not associated with the
current log sequence for database "AMFEDB" on node "0".



[db2inst1@ACS222 dbdate]$ db2 rollforward database amfedb to end of backup and complete
SQL1274N The database "AMFEDB" requires roll-forward recovery and the
point-in-time must be to the end of logs.



db2 "rollforward db amfedb to end of logs and stop OVERFLOW LOG PATH (/u01/dbdate/db2inst1/NODE0000/SQL00001/SQLOGDIR)"
SQL4910N Overflow log path "/u01/dbdate/db2inst1/NODE0000/SQL00001/SQLOGDIR"
is not valid.

在线备份数据库,然后使用上面脚本在本机恢复数据库,前滚失败导致数据恢复失败,试了网上的各种方法进行前滚都无效,停止回滚也不行。 求大神帮忙看看有什么解决方法。不甚感激
...全文
2376 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Your Man 2019-01-11
  • 打赏
  • 举报
回复
还原成功后数据库会被锁住

使用归档日志前滚数据库:
检查归档日志目录
01.db2 get db cfg for dbname
或者[db2inst1@localhost home]$ db2 get db cfg for AWS | grep -i 'log'

[db2inst1@localhost home]$ db2 get db cfg for AWS | grep -i 'log'
Log retain for recovery status = NO
User exit for logging status = YES
Catalog cache size (4KB) (CATALOGCACHE_SZ) = 300
Log buffer size (4KB) (LOGBUFSZ) = 2150
Log file size (4KB) (LOGFILSIZ) = 1024
Number of primary log files (LOGPRIMARY) = 13
Number of secondary log files (LOGSECOND) = 12
Changed path to log files (NEWLOGPATH) =
[color=#000080] [color=#333399]Path to log files = /home/db2inst1/db2inst1/NODE0000

将需要还原时间点的归档日志存放在该目录中

http://blog.csdn.net/nayanminxing/article/details/78386467?locationNum=1&fps=1
02.[db2inst1@db22 ~]$ db2 "rollforward db AWS to end of logs overflow log path (/home/log)"
Rollforward Status

Input database alias = AWS
Number of members have returned status = 1

Member ID = 0
Rollforward status = DB working
Next log file to be read = S0000651.LOG
Log files processed = S0000650.LOG - S0000650.LOG
Last committed transaction = 2018-03-27-16.01.44.000000 UTC

DB20000I The ROLLFORWARD command completed successfully.
03.[db2inst1@localhost home]$ db2 "rollforward db AWS complete"
SQL1273N An operation reading the logs on database "AWS" cannot continue
because of a missing log file "S0000650.LOG" on database partition "0" and log
stream "0".

如果03这一步骤执行结果出现上面的提示,说明归档日志不在活动日志目录中,需要将上面的归档日志手动copy到对应的活动日志目录中,
再次执行03即可。

[db2inst1@localhost home]$ db2 "rollforward db AWS complete"

Rollforward Status

Input database alias = AWS
Number of members have returned status = 1

Member ID = 0
Rollforward status = not pending
Next log file to be read =
Log files processed = S0000650.LOG - S0000650.LOG
Last committed transaction = 2018-03-27-16.01.44.000000 UTC

DB20000I The ROLLFORWARD command completed successfully.
grouk_wany 2015-11-03
  • 打赏
  • 举报
回复
归档日志路径设置问题
starym 2015-10-12
  • 打赏
  • 举报
回复
那个归档日志文件在目录里吗
打开链接下载源码: https://pan.quark.cn/s/05da658a2377 在信息技术领域中,输入法作为操作系统的一个核心构成部分,赋予了用户利用键盘输入多语种文字的能力。"ime-日语输入法安装必须文件"这一资源是一套为日语输入法部署而设计、包含全部必要元素的集成包,对于那些需要在个人计算机上执行日语文字输入的操作者而言具有不可替代的作用。接下来将深入剖析其中所包含的核心概念。 IME(Input Method Editor,输入法编辑器)是操作系统内的一种软件支持服务,其功能在于为非拉丁字符环境提供文字输入方案,例如中文、日文、韩文等文字系统。在日本地区,IME通常被用来将罗马字(罗马拼音)形式的输入转换为平假名、片假名乃至汉字。此压缩文件内含的日语IME文件夹即为执行这一转换功能的关键要素。 kbdjpn.dll被视为一个关键的系统性文件,其意指“Japanese Keyboard Layout”(日语键盘布局)。该动态链接库文件负责设定日语键盘的排列方式及快捷操作组合,使用户能够借助常规的QWERTY键盘输入日语文字。倘若缺少这一文件,即便已经安装了日语输入法,依然无法正常显示及输入日语字符。 另外,imjp81k.dll同样是一个重要的系统性构成,它属于日语IME的范畴,全称为“Input Method Japanese for Windows 8.1 and later, Katakana mode”(适用于Windows 8.1及更新版本的日语输入法,片假名模式)。该文件支持日语的片假名输入,是处理日语输入的核心组成部分。在安装或升级日语输入法的过程中,保证imjp81k.dll的准确性与完整性显得尤为关键。 压缩包所含的"Window...
内容概要:本文研究了基于DPWMA调制与正负序分离的ANPC三电平并网逆变器前馈控制策略,旨在解决传统三电平逆变器在谐波抑制、电网不平衡适应性及动态响应方面的技术瓶颈。通过构建融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相控制与电网电压前馈的一体化控制体系,全面优化逆变器的输出波形质量、相位同步精度与抗扰能力。文章深入分析了ANPC三电平拓扑的结构优势,如开关损耗均衡、中点电位可控性强和电压利用率高等特点,并设计了包含信号采集、核心控制与调制驱动三层架构的完整控制系统。通过Simulink仿真平台对稳态运行、电网不平衡及动态扰动等多种工况进行验证,结果表明该策略显著降低了总谐波畸变率,提升了锁相精度与系统动态稳定性,有效增强了逆变器在复杂电网环境下的适应能力和运行可靠性。; 适合人群:具备电力电子、自动控制及新能源并网相关基础知识,从事新能源发电、微电网、电力系统仿真等领域的科研人员与工程技术人员,特别适合研究生及以上层次的研究者。; 使用场景及目标:①用于提升大功率并网逆变器在电网电压不平衡、谐波干扰和动态扰动等复杂工况下的运行性能;②为高电能质量要的应用场景提供先进控制解决方案;③支持科研仿真、论文复现与实际工程项目中的高性能并网控制系统设计与优化。; 阅读建议:建议结合提供的Simulink仿真模型进行实践操作,重点理解DPWMA调制机制、正负序分离锁相算法与电网电压前馈控制之间的协同作用,按照文档结构系统学习,并与传统控制策略进行对比分析,以深入掌握改进策略的技术优势与实现细节。

5,887

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧