我们正在Redshift中使用materialized Views来容纳我们的Looker BI工具中使用的查询。
我们定期刷新我们的基本数据,所以这些视图需要每小时刷新一次,所以我们用下面的命令设置这些视图为自动刷新。
ALTER MATERIALIZED VIEW view_name AUTO REFRESH YES
这工作了一段时间,然后停止,在SVL_MV_REFRESH_STATUS
中没有显示失败消息,刷新只是在所有mat. view中停止。
在这一点上,我们已经尝试使用REFRESH MATERIALIZED VIEW
手动刷新mat. view,但是这个查询挂起了很长一段时间,直到我们在一段时间后手动取消PID才被杀死。
在手动刷新视图失败后,我们尝试DROP
mat. views,但是这个查询也挂起,需要使用PID手动终止。
到目前为止,我们找到的唯一解决方案是重新启动红移集群,这显然不是一个强大的解决方案,也没有让我们找到问题的根源。
有没有人遇到过这个问题,并能给出一些启示?
谢谢!
此行为表明存在锁问题。我怀疑你有一个锁阻止了视图的更新。由于这种情况已经持续了一段时间,请查看已连接的会话,看看是否有非常旧的会话。当人们在他们的客户端上打开一个会话并且永远不会结束它时,就会发生这种情况。它们的锁可以永远存在。