1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

AWT缓存组故障分析及恢复

AWT缓存组及其优点

您好,我是本际云服务器推荐网的小编小本本。AWT缓存组是TimesTen的异步写缓存,可以提高性能,同时保证数据安全。其双向数据流动使得数据可以在TimesTen中修改,再同步到Oracle中。而对于存储,cache可以分为write-through和write-back,对应的是存储中的直接写和回写,而AWT对应的是存储的write-back。为了保证同步,除了只读缓存组所需的cacheagent外,还需要一个replicationagent负责数据从TimesTen到Oracle的同步。AWT缓存组可以保证不因Oracle失效而丢失数据,并且有自动恢复的机制。

AWT缓存组故障分析及恢复

ClassicReplication复制方式及其特点

除了AWT缓存组,还有一种复制方式叫ClassicReplication。它的特点是支持多种复制拓扑形式,可以利用双活复制实现业务系统的横向扩展,利用一对多复制实现数据分发和读写分离等。利用多个数据库中存在多份数据拷贝,保证数据高可用,性能影响较小。

对AWT核心缓存组误操作的恢复

发生AWT缓存组误操作时需要进行故障处理。如果数据量不大,可以直接停掉Awt缓存组代理,下线后再重新启动。但如果数据量很大,这种方法就不太合适了。本文分享的是针对1000万级别数据的故障处理方案:

第一阶段:

  1. 备份物理库中的相关表数据,同时备份TT中异常缓存组的数据
  2. 停掉相关应用或切离线
  3. 删除TT库中异常缓存组的复制关系
  4. 删除异常缓存组,重建缓存组前应刷新物理库中对应表的object_id
  5. 启动replicationagent
  6. 重建AWT缓存组,并从物理库中重新载入数据到TT
  7. 将新建的缓存组加入到复制关系中
  8. 验证TT库是否正常,并检查TT日志是否正常
  9. 重启相关应用并验证是否正常

第二阶段:

  1. 停应用,不停TT监听,可能存在其他TT库也在用同一个监听
  2. 注释crontab,避免重建过程中出现异常报错
  3. 停复制代理和缓存代理
  4. 从内存中卸载datastore
  5. 删除datastore
  6. 重建备库
  7. 修改内存策略为manual
  8. 启动复制代理和缓存代理
  9. 检查主备库是否正常,并检查TT日志是否正常
  10. 检查应用是否正常

经验总结:

  1. 需要对在TT库上的操作进行评审,特别是delete、drop、load、unload和refresh等操作,应提前准备脚本待评审通过后再进行操作
  2. 研究针对在TT库中操作语句的监控
  3. 缩短对核心表的监控刷新时间间隔,从10分钟缩短至5分钟

希望以上内容可以对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5847.html