對於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盤下存在的文件夾