db2 修改归档模式

     db2 日志模式分为循环归档,和日志归档模式,两种日志的原理介绍的很多了,我主要记录一下我实际操作的步骤

     版本: v9.7 (建立了4个分区)

     OS: AIX5.3

     DB2 默认为循环归档,根据应用要求调整为日志归档模式

    db2 connect to cqtest1

    db2 force application all

     [ibm_test1]/db2log>db2 "UPDATE DB CFG FOR CQTEST1  USING LOGARCHMETH1  'Disk:/db2log/db2logar'"
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

     [ibm_test1]/db2log>db2 connect to cqtest1   (需要备份数据库)
SQL1116N  A connection to or activation of database "CQTEST1" cannot be made
because of BACKUP PENDING.  SQLSTATE=57019

  [ibm_test1]/db2log>db2 backup database cqtest1 to /db2log/backup   (24G数据备份了5分钟)

Backup successful. The timestamp for this backup image is : 20120222172556

[ibm_test1]/db2log>db2 connect to cqtest1  (连接成功)

   Database Connection Information

 Database server        = DB2/AIX64 9.7.3
 SQL authorization ID   = DB2INST1
 Local database alias   = CQTEST1

 

但是当我连接上数据库建表是还是报错 SQL1116N  A connection to or activation of database "CQTEST1" cannot be made
because of BACKUP PENDING.  SQLSTATE=57019

 

什么原因呢?原来在分区数据库上执行 backup database 只能备份一个node。

换成

db2_all "db2 backup db cqtest1 to /db2log/backup/dpf_1,/db2log/backup/dpf_2,/db2log/backup/dpf_3,/db2log/backup/dpf_4"

[ibm_test1]/db2log/backup>db2_all "db2 backup db cqtest1 to /db2log/backup/dpf_1,/db2log/backup/dpf_2,/db2log/backup/dpf_3,/db2log/backup/dpf_4"
 

Backup successful. The timestamp for this backup image is : 20120222180237

ibm_test1: db2 backup db cqtest1 ... completed ok
 

Backup successful. The timestamp for this backup image is : 20120222180719

ibm_test1: db2 backup db cqtest1 ... completed ok
 

Backup successful. The timestamp for this backup image is : 20120222181204

ibm_test1: db2 backup db cqtest1 ... completed ok
 

Backup successful. The timestamp for this backup image is : 20120222181650

ibm_test1: db2 backup db cqtest1 ... completed ok

 

后在重启数据库问题就解决了。

 

 总结一下

db2 connect to cqtest1

db2 force application all

db2 "UPDATE DB CFG FOR CQTEST1  USING LOGARCHMETH1  'Disk:/db2log/db2logar'"

db2_all "db2 backup db cqtest1 to /db2log/backup/dpf_1,/db2log/backup/dpf_2,/db2log/backup/dpf_3,/db2log/backup/dpf_4"

db2stop

db2start

 

修改成功

 

<think>我们正在处理用户关于DB29.7版本开启归档日志的问题。根据引用内容,我们可以总结出以下关键步骤:1.修改数据库配置,将日志模式设置为归档日志(ARCHIVELOG)。2.指定归档日志的存储路径(使用LOGARCHMETH1参数)。3.可能需要重启数据库以使配置生效。具体步骤:步骤1:连接到数据库步骤2:更新数据库配置,启用归档日志步骤3:停用和激活数据库(或者重启实例)以使配置生效注意:在更新配置前,确保目标目录存在且DB2实例用户有读写权限。根据引用[1]和引用[2]中的示例命令,我们可以写出适用于DB29.7的命令。引用[3]提到了LOGRETAIN和USEREXIT,但在DB29.7中,我们通常使用LOGARCHMETH1参数。详细步骤:1.打开命令行或终端,使用db2admin用户(或具有适当权限的用户)登录。2.连接到目标数据库:`db2connectto<数据库名>`3.设置归档日志方法,例如将归档日志存放到磁盘目录:`db2updatedbcfgfor<数据库名>usingLOGARCHMETH1disk:<目录路径>`注意:目录路径必须是已存在的目录,例如:`disk:/db2/archivelogs`(Linux)或`disk:C:\DB2\DB2LOG`(Windows)4.如果需要,可以设置第二个归档日志方法(可选):`db2updatedbcfgfor<数据库名>usingLOGARCHMETH2...`5.断开所有应用程序连接:`db2forceapplicationsall`6.停用数据库:`db2deactivatedb<数据库名>`7.激活数据库:`db2activatedb<数据库名>`或者,也可以选择重启实例:`db2stop`然后`db2start`注意:在步骤3中,我们只设置了LOGARCHMETH1,这是主要的归档日志方法。在DB29.7中,使用LOGARCHMETH1参数就可以启用归档日志模式。另外,根据引用[1]和引用[2],我们还可以看到在配置归档日志的同时,也可以调整其他日志相关的参数,比如LOGFILSIZ(日志文件大小)、LOGPRIMARY(主日志文件数量)、LOGSECOND(辅助日志文件数量)等。用户可以根据需要进行调整。示例(假设数据库名为SAMPLE,归档路径为/db2/archivelogs):```db2connecttoSAMPLEdb2updatedbcfgforSAMPLEusingLOGARCHMETH1disk:/db2/archivelogsdb2forceapplicationsalldb2deactivatedbSAMPLEdb2activatedbSAMPLE```或者,使用重启实例的方式:```db2connecttoSAMPLEdb2updatedbcfgforSAMPLEusingLOGARCHMETH1disk:/db2/archivelogsdb2stopdb2start```验证:配置完成后,可以通过查看数据库配置来确认:```db2getdbcfgforSAMPLE|grep-iLOGARCHMETH1```应该会显示设置的路径。注意:在启用归档日志后,数据库将处于归档日志模式,因此必须确保归档日志目录有足够的空间,并且定期备份归档日志以避免空间不足。相关问题:1.如何验证DB2数据库是否已启用归档日志模式?2.启用归档日志后,如何配置备份策略?3.归档日志目录空间不足会导致什么问题?如何监控和避免?我们将按照上述步骤生成答案。</think>### DB2 9.7 开启归档日志的详细步骤 在 DB2 9.7 中启用归档日志功能,需执行以下配置操作: 1. **连接到目标数据库** 使用命令行处理器连接数据库: ```sql db2 connect to <数据库名> ``` 示例:`db2 connect to EXOA` 2. **修改日志归档方法** 设置主要归档路径(至少需配置 LOGARCHMETH1): ```sql db2 update db cfg for <数据库名> using LOGARCHMETH1 disk:<目录路径> ``` 示例(Windows): `db2 update db cfg for EXOA using LOGARCHMETH1 "disk:C:\DB2\DB2LOG"` 示例(Linux): `db2 update db cfg for EXOA using LOGARCHMETH1 disk:/db2/archivelogs` > **说明**:目录路径需提前创建且 DB2 实例用户需有读写权限。可选添加第二归档路径(LOGARCHMETH2)实现冗余备份[^1][^2]。 3. **调整日志参数(可选但推荐)** 优化日志配置以匹配生产需求: ```sql db2 update db cfg for <数据库名> using LOGFILSIZ <文件大小> LOGPRIMARY <主日志数> LOGSECOND <辅助日志数> ``` 示例: `db2 update db cfg for EXOA using LOGFILSIZ 400000 LOGPRIMARY 13 LOGSECOND 4` (日志文件大小 400MB,主日志 13 个,辅助日志 4 个[^2]) 4. **激活配置变更** 强制断开连接并重启数据库: ```sql db2 force applications all -- 断开所有应用连接 db2 deactivate db <数据库名> -- 停用数据库 db2 activate db <数据库名> -- 重新激活数据库 db2 terminate -- 结束会话 ``` 5. **验证配置** 检查归档状态: ```sql db2 get db cfg for <数据库名> | grep -i "LOGARCHMETH1" ``` 成功启用时输出应显示配置的归档路径,且: - `Log retain for recovery enabled (LOGRETAIN)` = `RECOVERY` - `User exit for logging enabled (USEREXIT)` = `OFF`[^3] > **关键注意事项**: > - 启用归档日志后,数据库将**强制进入备份挂起状态**,必须执行全量备份: > `db2 backup db <数据库名> to <备份路径>` > - 定期清理过期归档日志,避免磁盘占满 > - 生产环境建议配置日志归档压缩(如 LOGARCHCOMPR1 ON)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值