由于数据库备份活动而面临的问题

在备份数据库时遇到一些问题。 用于同一用户的用户在数据库服务器上具有最高优先级。因此,其他具有较低优先级的用户的表的加载陷入了T状态。

有什么方法可以解决这个问题。

简单来说: 假设我们每天都有数据库中某些可用模式的备份,并且有2-3个数据库用户,即A,B,C。 用户A是超级用户,因此,只要我们对用户A运行任何查询,数据库都会优先考虑用户A命中的查询。用户A用于进行备份。 同时,我们加载了每日表,即用户B的Stg和Fact表的优先级低于用户A。

请您分享您的建议或解决方案。 谢谢!

c17789642 回答:由于数据库备份活动而面临的问题

您要用来备份什么? gpcrondump? gpbackup?

大多数情况下,备份应该是无阻塞的。

备份期间:

gpcrondump实用程序将锁定pg_class系统表和已备份的表。使用EXCLUSIVE锁锁定pg_class表可确保在gpcrondump锁要使用ACCESS SHARE锁备份的表之前,不会添加,删除或更改任何表。

gpbackup备份过程在已备份的每个表上获取ACCESS SHARE锁定。

我建议使用后者,因为它通常更快,并且使用非独占锁。但是,如果要在备份作业期间修改DDL或表定义的其他内容,那将是一个问题,因为针对这些操作的EXCLUSIVE锁定请求将发生冲突,需要等待。但是,他们应该在工作完成后恢复工作。

本文链接:https://www.f2er.com/3010164.html

大家都在问