首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在缓存中而不是在整个命名空间中定期备份一组表?

如何在缓存中而不是在整个命名空间中定期备份一组表?
EN

Stack Overflow用户
提问于 2015-05-22 17:04:14
回答 2查看 193关注 0票数 2

是否可以在缓存中只备份一组表?我已经查看了系统管理门户,您所能做的似乎只有以下几点。

  1. 配置所有数据库的完全备份
  2. 配置数据库列表的完全备份
  3. 配置数据库列表的增量备份
  4. 配置数据库列表的累积备份
  5. 使用系统管理门户的Home > Globals页面中的导出选项备份选定的Globals

所有这些都可以作为后台任务来调度,但是选项5不能被调度,或者可以吗?如果我可以安排#5选项作为后台任务,那么我会每晚备份D全局,并在需要时重新导入。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-05-22 19:00:18

只是一个注释,在Caché标准中,备份仅用于数据库,而不是名称空间。

所以,有一些方法来完成你的任务。

  1. 为不同的数据库拆分数据。通过全局映射的每个名称空间都可以根据需要定义任意数量的数据库。更多关于映射的信息
  2. 可以编写自定义任务,它将完成任何您想做的事情,并且它将和任何其他任务一样工作,并且可以根据您的需要进行调度。这里有两条路。
    • RunLegacyTask -运行遗留任务;在文本框中输入要执行的代码
    • 您可以使用%SYS.Task.Definition API定义自己的任务类型;请参阅InterSystems类引用中的类文档。

可以以编程方式管理导出全局。

  1. $system.OBJ.导出("Global.GLB","backup.xml")和$system.OBJ.Load("backup.xml")用于进口。但你应该记住,这些文件的重量大于数据。
  2. 其他格式,如GOF,与%全球
票数 1
EN

Stack Overflow用户

发布于 2015-11-11 19:46:43

正如上面所提到的,您要么需要逐个导出全局文件,要么需要创建名称空间,您需要备份的所有全局文件都位于专用的CACHE.DAT文件中(请参阅文档中的全局映射)。

对于备份此数据库,遗留备份可能不是最佳选择。如果您能负担得起停机时间,只需停止缓存并复制CACHE.DAT文件即可。如果您有快照功能的存储-写守护程序冻结+存储快照是您的最佳选择,不停机时间备份。

方法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30402233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档