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

ClassicReplication复制方式及其特点
除了AWT缓存组,还有一种复制方式叫ClassicReplication。它的特点是支持多种复制拓扑形式,可以利用双活复制实现业务系统的横向扩展,利用一对多复制实现数据分发和读写分离等。利用多个数据库中存在多份数据拷贝,保证数据高可用,性能影响较小。
对AWT核心缓存组误操作的恢复
发生AWT缓存组误操作时需要进行故障处理。如果数据量不大,可以直接停掉Awt缓存组代理,下线后再重新启动。但如果数据量很大,这种方法就不太合适了。本文分享的是针对1000万级别数据的故障处理方案:
第一阶段:
- 备份物理库中的相关表数据,同时备份TT中异常缓存组的数据
- 停掉相关应用或切离线
- 删除TT库中异常缓存组的复制关系
- 删除异常缓存组,重建缓存组前应刷新物理库中对应表的object_id
- 启动replicationagent
- 重建AWT缓存组,并从物理库中重新载入数据到TT
- 将新建的缓存组加入到复制关系中
- 验证TT库是否正常,并检查TT日志是否正常
- 重启相关应用并验证是否正常
第二阶段:
- 停应用,不停TT监听,可能存在其他TT库也在用同一个监听
- 注释crontab,避免重建过程中出现异常报错
- 停复制代理和缓存代理
- 从内存中卸载datastore
- 删除datastore
- 重建备库
- 修改内存策略为manual
- 启动复制代理和缓存代理
- 检查主备库是否正常,并检查TT日志是否正常
- 检查应用是否正常
经验总结:
- 需要对在TT库上的操作进行评审,特别是delete、drop、load、unload和refresh等操作,应提前准备脚本待评审通过后再进行操作
- 研究针对在TT库中操作语句的监控
- 缩短对核心表的监控刷新时间间隔,从10分钟缩短至5分钟
希望以上内容可以对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5847.html
