db2 restore db roeeeold from /home/db2admin/  with 2 buffers buffer 

提示报错:

SQL2071N  An error occurred while accessing the shared library  “/home/db2admin/db2admin/NODE0000/SQL00006/libdb2compr.so".

Reason code: "2".

查找错误代码,寻求解决方法:

说明 数据库实用程序处理期间,访问供应商共享库时发生了意外错误。

下面是原因码列表:

1 遇到无效的共享库路径。

2 由于库(或者库所需的库)不存在或格式无效,因此无法装入该库。有时,这表示正在 64 位实例中装入 32 位的库(反之亦然)。

3 卸装共享库时出错。 实用程序停止了处理过程。

解决方法:

1、确保是否是同位数的库(无误) uname -a

2、db2 未共享库卸载操作,所以也排除这个原因

3、既然共享库路径不正常,那就指定正确的共享库路径,find / -name  libdb2compr.so 后查找到共享库路径为:/opt/IBM/db2/V8.1/lib/libdb2compr.so

问题症结已显然:

再次尝试:

db2 restore db roeeeold from /home/db2admin/  with 2 buffers buffer 128 COMPRLIB /opt/IBM/db2/V8.1/lib/libdb2compr.so  without rolling forward 

恢复成功,问题解决! 谢天谢地!22:02:58

如果使用 restore db 时指定 WITHOUT ROLLING FORWARD 参数,则不能使数据库处于 rollforward-pending 状态,从而不能使用 rollforward。这里不指定 WITHOUT ROLLING FORWARD 参数,当数据库或表空间处于 rollforward-pending 状态,就可以对其进行 rollforward 操作了。

rollforward 只能在数据库 recoverable 状态下使用,即采用归档日志,参数 logarchmeth1 或者 logarchmeth2 为非 OFF 的状态

05-11 19:56