麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
987
2023-04-13
数据库复制的设计和管理
【摘 要】 介绍数据库复制在分布式数据库系统中的应用、设计和管理,给出了设计步骤和设计时考虑的因素。对设计和应用中出现的冲突问题进行了分析并给出了解决办法。对于数据库复制环境的维护和管理也作了陈述。
关键词:数据库,分布式系统,复制,管理
它们决定复制进程启动的时间间隔和复制进程的个数,它们的设置需与复制的作业的多少和间隔进行协调。
一般第一个参数为2(必须大于0)即可,如果数据库中配置的作业非常多、有多个同时更新的作业,需增大此参数。其取值范围为0~9,A~Z。
第二个参数单位为秒,定义唤醒服务器后台进程的时间间隔,使用缺省值60。
如果二者设置不协调,将导致数据库不能及时更新数据或后台进程死锁。
5 数据库复制的管理
数据库复制的设计主要由研制方完成,而其管理主要是指系统投入使用后的日常管理工作,主要由使用方的数据库管理员来完成。
5.1 参数的修改
在设计时,设计者会综合考虑各种因素以设置参数,但随着用户业务的发展,数据量的增大,在数据库还未出现问题时,数据库管理员应及时地对
JOB QUEUE PROCESS,JOB QUEUE
INTERVAL参数进行调整。如果所设置的参数不能满足应用的需要,数据的复制将出现问题。这可查看快照和数据库的日志文件,如果出现错误,日志中有记录,并且生成CORE文件。后台进程出现的问题数据库自己能解决,但CORE文件需要数据库管理员及时删除,否则由于它增长迅速,将很快占满整个硬盘。
5.2 更改复制更新的间隔
复制作业执行的时间和触发的时间间隔也是管理员经常需调整的因素。
数据库管理员能根据需要更改复制间隔时间,以满足需求的变化。每个用户只能更改属于自己的作业执行间隔。
作业间隔的设定一定不能小于执行一次数据更新所需的时间。
5.3 取消复制作业
由于某种原因不需继续执行复制操作时可取消复制作业。有两种选择:暂时终止和彻底删除。暂时终止的复制作业在将来需要时可恢复执行,而彻底删除的复制作业不可恢复,只能重建。
用户只能停止或取消属于自己的复制作业。
5.4 可能出现的问题
下列情况下数据库的复制不能正常进行:缺少后台进程,网络故障,数据库例程失败,以及复制程序出现错误。
若由于某种原因复制作业不能正常执行,数据库将以一定的时间间隔重复执行此作业,在经过一定次数的尝试后仍不能成功,则该作业将由数据库自动标记为“终止”。一旦造成终止的问题被解决,被终止的作业可人为地让其执行复制(一旦执行成功,该作业的状态将自动改变),或将其状态由终止改为自动执行,让数据库自动执行复制。如果造成终止的问题在数据库发现问题至设定的尝试次数的时间范围之内解决,复制作业将正常执行而不会终止。
如果复制方在设定的时间得不到数据的更新,这时有可能是后台进程死锁,有三种解决方法:人为执行复制作业,将数据复制上来;如果用户并不急需看到更新的数据,那么可以再等待一段时间,***的系统监视进程将自动杀掉死的复制进程,重新生成新的后台进程,复制将自动恢复;关闭并重新打开数据库,复制将自动恢复。
每个用户只能人工执行属于自己的作业。
5.5 扩充站点的问题
如果为了满足新的需求,需在已建立好的复制环境中建立新的快照,则以下三个条件同时成立,系统将出错:
(1)新的快照须采用快速更新方式更新;
(2)新的快照与某个已存在的快照是基于相同的主表;
(3)该已存在的快照在创建新的快照时能被快速更新。
解决此问题的方法是新建的快照采用完全更新方式,或采用以下方法避免问题出现:在建新的快照之前建立一个基于同一主表的虚拟快照,以避免在快照创建时的数据更新,然后以快速更新方式建立所需的快照,最后删除虚拟快照。
6 结束语
数据库的复制是个非常灵活的技术,恰当地应用该技术将给用户和设计者带来意想不到的好处。但复制的应用经常会给数据库系统的管理带来很多麻烦,因此,设计数据库复制环境时要尽可能地简单、实用,以提高系统的可用性。同时,一个分布式数据库系统的数据库管理员,必须具有全面的数据库知识以保证系统正常、稳定地工作。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。