对于DB2“SQL2421N 不允许表空间级备份,因为未启用前滚恢复。”解决方法

在对DB2中表空间的备份时候,当报错“SQL2421N  不允许表空间级备份,因为未启用前滚恢复”,原因及解决方法如下:

------------------------------ 输入的命令 ------------------------------

backup database STUDENT

       tablespace(syscatspace,userspace1)

       online to

       f:/ibmsoft_backup;

------------------------------------------------------------------------------

backup database STUDENT tablespace(syscatspace,userspace1) online to f:/ibmsoft_backup

SQL2421N  不允许表空间级备份,因为未启用前滚恢复。

 

SQL2421N  不允许表空间级备份,因为未启用前滚恢复。

 

出现错误的场景如上

出错是因为当前数据库是循环日志

使用命令

------------------------------ 输入的命令 ------------------------------

Db2 connect to student

db2 get db cfg

------------------------------------------------------------------------------

 

结果显示:

------------------------------------------------------------------------------

  DISK:将归档日志存放到磁盘上

  TSM:将归档日志存放到TSM服务器

 BAR APIs:第三方厂商提供的产品

  DB2在版本8.2中增加了如下配置参数

:

  第一个日志归档方法 (LOGARCHMETH1) = OFF

  logarchmeth1 的选项 (LOGARCHOPT1) =

  第二个日志归档方法 (LOGARCHMETH2) = OFF

  logarchmeth2 的选项 (LOGARCHOPT2) =

  故障转移日志归档路径 (FAILARCHPATH) =

  错误时重试日志归档次数 (NUMARCHRETRY) = 5

  日志归档重试延迟() (ARCHRETRYDELAY) = 20

  供应商选项 (VENDOROPT) =

------------------------------------------------------------------------------

 

OFF 指定不使用日志归档方法。如果 logarchmeth1 logarchmeth2 都设置为 OFF,则认为数据库正在使用循环日志记录,且不可前滚恢复。这是缺省值。

 

由此可以看出数据库是循环日志,必须先把数据库修改成归档日志

------------------------------ 输入的命令 ------------------------------

Db2 update db cfg for student using LOGARCHMETH1 logretain

Db2 update db cfg for student using userexit on

------------------------------------------------------------------------------

执行完后,再运行命令

------------------------------ 输入的命令 ------------------------------

Db2 connect to student

db2 get db cfg

------------------------------------------------------------------------------

结果显示:

------------------------------------------------------------------------------

  DISK:将归档日志存放到磁盘上

  TSM:将归档日志存放到TSM服务器

 BAR APIs:第三方厂商提供的产品

  DB2在版本8.2中增加了如下配置参数

:

  第一个日志归档方法 (LOGARCHMETH1) = LOGRETAIN

  logarchmeth1 的选项 (LOGARCHOPT1) =

  第二个日志归档方法 (LOGARCHMETH2) = OFF

  logarchmeth2 的选项 (LOGARCHOPT2) =

  故障转移日志归档路径 (FAILARCHPATH) =

  错误时重试日志归档次数 (NUMARCHRETRY) = 5

  日志归档重试延迟() (ARCHRETRYDELAY) = 20

  供应商选项 (VENDOROPT) =

------------------------------------------------------------------------------

      

然后再对数据库进行完全脱机备份

------------------------------ 输入的命令 ------------------------------

Backup database student

Offline to

F:/ibmsoft_backup

------------------------------------------------------------------------------

 

上面两步做完之后再

------------------------------ 输入的命令 ------------------------------

backup database STUDENT

       tablespace(syscatspace,userspace1)

       online to

       f:/ibmsoft_backup;

------------------------------------------------------------------------------

就会命令成功。

 

注:其中命令都是在cmd>db2cmd下运行的

       Ibmasoft_backup必须是f盘下存在的文件夹

 

你可能感兴趣的:(sql)