当DB2数据库处于 **Backup Pending** 状态时,需执行完整备份解除该状态。以下是具体操作命令及步骤:
---
### **1. 执行完整备份命令**
**核心命令**:
```bash
db2 backup db <数据库名> to '<备份目录路径>'
```
- **参数说明**:
- `<数据库名>`:需备份的数据库名称(如`MYDB`)。
- `<备份目录路径>`:备份文件存储路径(需有写入权限,如`/home/db2backup`)。
- **示例**:
```bash
db2 backup db MYDB to '/backup/mydb'
```
---
### **2. 验证备份结果**
备份完成后检查数据库状态:
```bash
db2 list active databases
```
若仍无法连接,重启实例并激活数据库:
```bash
db2stop force
db2start
db2 activate db <数据库名>
```
---
### **3. 特殊情况处理**
#### **场景1:未启用归档日志但需快速恢复**
(⚠️ 不推荐,会破坏时间点恢复能力)
临时关闭归档日志模式:
```bash
db2 update db cfg for <数据库名> using LOGARCHMETH1 OFF
db2stop force
db2start
db2 backup db <数据库名> to '<备份路径>' # 仍建议补全备份
```
#### **场景2:恢复后未完成前滚**
若因恢复操作中断导致备份挂起:
```bash
db2 rollforward db <数据库名> to end of logs and complete
db2 backup db <数据库名> to '<备份路径>'
```
---
### **关键注意事项**
1. **路径权限**:
确保备份目录存在且DB2实例用户(如`db2inst1`)有写入权限。
2. **备份文件名**:备份文件会自动生成时间戳后缀(如 `MYDB.0.db2inst1.NODE0000.CATN0000.20231001120000.001`)。
3. **日志空间**:若归档日志空间不足,备份可能失败,需清理或扩容。
---
### **预防措施**
- **首次启用归档日志后立即备份**:修改 `LOGARCHMETH1` 后必须立即执行全量备份。
- **定期备份**:避免日志累积触发备份挂起状态。
---
通过以上命令,可解除 **Backup Pending** 状态并恢复数据库访问。若仍失败,检查 `db2diag.log` 日志定位具体错误。