论文部分内容阅读
摘 要: 海事测绘实施“统一制图”以后,需要在三地(天津海事局海测大队,上海海事局海测大队,广东海事局海测大队)实现对HPD数据库数据的共享与备份,以满足三地实际工作的需要;同时实现HPD数据的异地备份,增加HPD数据的安全性。根据这一目标要求,结合Oracle的 Dataguard和Flashback技术,研究实现了HPD数据库(上海海事局航海图书印制中心)在异地建立共享与备份机制的方法。
关键词:HPD共享与备份DataguardFlashback
HPD数据库异地共享与备份是HPD生产系统的延伸,建立HPD数据库“异地共享和备份中心”是交通部海事局实施“统一制图”工作后实现异地数据灾难备份、提升HPD数据安全和实现四地HPD数据完全一致(都含全国数据)且共享的迫切需要。
HPD与传统基于文件的海图生产模式的区别
HPD是CARIS公司发布的一套独立而完整的海事测量生产数据库解决方案。HPD对源数据和产品数据进行集中存储,提供了一系列海测数据的管理手段,并能够生产电子海图、纸海图、AML、DNC等海图产品。完整的HPD解决方案包括以下几部分:源数据库、产品数据库、数据模型及相关程序。
HPD与传统基于文件的海图生产模式的区别如下:传统的海图生产模式是基于文件的,即所有的航测源数据、生产数据、产品数据都基于文件来存储。
与基于文件的存储方式相比,CARIS HPD基于数据库的存储方式有巨大的优势,优势如下:采用客户端/服务器模式;支持多用户并发,在修改数据时采用特征对象锁定来避免数据冲突;提供特征数据的认证和跟踪机制;特征只有被认证,才能用于海图生产;支持数据历史版本存储和管理;单一特征只存储一次,减少数据冗余;特征修改会对所有比例尺下的数据产生影响,包括海图产品;强大的数据备份、恢复和一致性检查功能。
HPD数据库“异地共享与备份”的设计与实现
1、HPD数据库“异地共享与备份”要达到的目标
部海事局要求每天将上海海事局印制中心HPD数据备份到三个海大,实现备份功能;三个海大能够实现对各自备库的只读(read only)访问,并能下载HPD数据,实现共享功能。
2、HPD数据库“异地共享与备份”的设计
为了实现这两个目标我们采用Oracle DataGuard结合Oracle Flashback机制。
DataGuard是一种数据库级别的HA方案,最主要功能是容灾、数据保护、故障恢复等。
DataGuard是生产数据库的“事务一致性copy”,创建时,使用生产库的物理copy。创建完成后,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。DataGuard分为“物理standby”和“逻辑standby”。物理standby:主备库之间物理结构,逻辑结构一致。通常情况下备库通过主库传输过来的归档日志做恢复。基于“块对块”方式,与主数据库相同。物理standby等同于生产库。物理standby能以read only方式打开(或者在flashback数据库下以“读写方式打开”)。物理standby一旦以"读写"方式打开,备用库将不会从主数据库接受重做数据。只有当备库flashback到过去的点,当备用库flashback到“读写”打开时间点前的状态时,DataGuard会自动同步备库与主库,才能回复standby角色。
DataGuard有三种保护模式,我们采用“最大性能模式”。这种模式保证主库性能最大化,主备库之间数据是异步传输的。即主库日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。DataGuard可以实现数据的异地备份。而要实现数据“共享”,则需要利用Oracle Flashback机制,将天津海大和广东海大的HPD数据库从“恢复模式”切换到“读写模式”。完成Flashback设置以后,从设置时间点(“读写模式”)开始到重新切换回“恢复模式”期间,天津海大和广东海大将能够在本地实现对备库的访问。待重新切换到“恢复模式”后,Oracle Flashback机制能将备库恢复到起始点,然后再进行日志文件的恢复,得以与上海印制中心的主库保持同步。
由于CARIS HPD帐号登入数据库操作本身就是往数据库“写”的过程,“只读模式”下将拒绝帐号对数据库的登入,故Oracle的“只读模式”将不能实现天津海大和广东海大对本地数据库的访问操作。我们采用Oracle的“读写模式”以保证HPD帐号对数据库的登入。但同时将帐号设置成“只读权限”,此时该帐号无法对数据库进行“写”的操作,从而实现各个海大 “只读”功能的要求,达到预期的目的。
3、HPD数据库“异地共享与备份”的实现过程
环境一致性检测。实施Oracle DataGuard要求操作系统和数据库版本等基本环境一致,在正式实施之前,需要对这些基本环境配置进行检测,对不符合要求的情况进行修改。
三地测试环境的配置。检查完各地基本环境后,需要对基本环境进行重新配置以满足要求,并对各地进行Oracle DataGuard和Flashback等环境的配置。
HPD数据库的备份、数据传输及恢复。进行HPD数据库的备份即可保证HPD数据库的安全,也能为三个海大海大的备库提供恢复数据。当上海主库备份完后,需要把主库的RMAN备份集全部传输到各海大备库相同的目录下进行恢复。由于数据量大,而且上海印制中心到天津海大以及广东海大的网速较慢(150~200 Kbps),有时可能还会断网,使用断点续传的FTP工具把备份集备份到三个海大的备库。利用Oracle RMAN机制进行数据库的恢复,使得三个海大的备库与上海印制中心的主库保持一致。
HPD日志文件的传输和恢复。在备份和恢复这一时间段内新产生的数据将以Oracle日志文件的方式单独传输到各个海大的备库,以保证数据的“实时”更新,完成备库与主库数据的“同步”。实现备库恢复后主库产生的新数据也将以同一方式进行处理。在主库开启日志传输模式,将新产生的日志归档文件传输到三个海大的HPD备用服务器。启动天津海大和广东海大的HPD备库。切换到恢复模式,将从上海传输过来的日志归档文件自动在三个海大的HPD备库进行恢复。此时已在各海大实现HPD数据库的备份功能。
HPD数据库“异地共享与备份”管理
1、HPD数据库“异地共享与备份”策略
综合考虑各个数据库的存储空间、网络传输速度和数据恢复时间,并考虑到天津海大、上海海大和广东海大的实际需要,HPD数据库“异地共享与备份”策略如下:
每天早上8点至下午5点HPD数据库启用“读写模式”,便于天津海大、上海海大和广东海大随时读取数据。其余时间HPD数据库启用“恢复模式”,用来归档日志的传输和恢复。根据存储空间的大小,归档日志保留14天,在14天之内数据没有成功传输均重新传输,超过14天则需要重做HPD数据库的“异地共享与备份”。
2、主库与备库的异常处理
在实际的维护与管理中经常发现主库或者备库发生宕机或者数据库异常停止的情况。当主库正常的时候,如果备库出现宕机,对主库没有任何影响。这样保证了上海印制中心HPD生产库的安全。当主库出现宕机时,又分为几种情况(见表1)。
3、日常管理与维护
日常的维护工作主要在上海印制中心进行,以维持该机制的顺利进行,保障数据库安全。三个海大主要负责备库的硬件与网络的维护。维护的内容主要包括:
检查归档日志是否已经传送成功并得到应用。要定期人工检查主数据库和备用数据库,确定归档日志是否已经传送成功;定期检查备用数据库,确定这些日志是否得到成功应用。
备机的启动与关闭。在紧急情况下可能需要对备机进行启动或关闭,上海印制中心会事先及时通知三个海大。
数据库模式的切换。上海印制中心将负责备库数据库模式切换的管理。在每天8:00到17:00将数据库切换成“读写模式”,以便三个海大使用;其余时间切换到“恢复模式”,以便上海数据库将本地数据传送到三个海大的备库。
主库和备库的启停顺序。上海印制中心负责主机和备机的启停管理。停止数据库的顺序是:先停止备库,再停止主库。启动数据库的顺序是:先启动主库,再启动备库。
检查主库和备库的运行情况。上海印制中心要定期检查主库的运行情况,包括硬件、网络和数据库等。三个海大要保证本地备库的正常启动和关闭,检查本地备库的正常运行和网络的畅通等。
存在的问题与下一步的工作
1、网络传输速度问题
网络传输速度慢使得上海印制中心的归档日志传输到三个海大的时间比较长。在备库服务器上恢复了主库的数据库备份集后,需要把主库这边新生成的归档日志传输到备库再进行一次恢复。目前这样的数据每天已增加到70多个归档日志需要传输,每个归档日志约45M左右,网络传输速度150~200Kbps,光用在传输归档日志上的时间就花费了约4.5个小时。随着统一制图生产的深入,每天的归档日志还将增加,所需花费的时间会更长。同时还必须考虑到,在传输途中如果遇到网络中断,就需要重新传输在网络中断时正在传输的那个归档日志,这势必又增加了数据传输时间。基于上述的考虑,建议增加网络带宽。
2、HPD数据库存储空间
上海主库每天传送过去的归档日志文件均存储在各海大的备库本地,在备库将这些归档日志文件恢复。这样时间一长,备库使用的归档空间就会使用完毕。所以在“异地备份与共享”策略上定期(14天)清理日志文件数据。而备库可能会因为某种原因,需要长时间(超过14天)的停机。这样子备库就会失效,而需要重新进行DataGuard恢复。因此适当增加存储空间将会有很大的意义,可以延长日志文件数据的存储时间。
(作者单位:上海海事局航海图书印制中心)
关键词:HPD共享与备份DataguardFlashback
HPD数据库异地共享与备份是HPD生产系统的延伸,建立HPD数据库“异地共享和备份中心”是交通部海事局实施“统一制图”工作后实现异地数据灾难备份、提升HPD数据安全和实现四地HPD数据完全一致(都含全国数据)且共享的迫切需要。
HPD与传统基于文件的海图生产模式的区别
HPD是CARIS公司发布的一套独立而完整的海事测量生产数据库解决方案。HPD对源数据和产品数据进行集中存储,提供了一系列海测数据的管理手段,并能够生产电子海图、纸海图、AML、DNC等海图产品。完整的HPD解决方案包括以下几部分:源数据库、产品数据库、数据模型及相关程序。
HPD与传统基于文件的海图生产模式的区别如下:传统的海图生产模式是基于文件的,即所有的航测源数据、生产数据、产品数据都基于文件来存储。
与基于文件的存储方式相比,CARIS HPD基于数据库的存储方式有巨大的优势,优势如下:采用客户端/服务器模式;支持多用户并发,在修改数据时采用特征对象锁定来避免数据冲突;提供特征数据的认证和跟踪机制;特征只有被认证,才能用于海图生产;支持数据历史版本存储和管理;单一特征只存储一次,减少数据冗余;特征修改会对所有比例尺下的数据产生影响,包括海图产品;强大的数据备份、恢复和一致性检查功能。
HPD数据库“异地共享与备份”的设计与实现
1、HPD数据库“异地共享与备份”要达到的目标
部海事局要求每天将上海海事局印制中心HPD数据备份到三个海大,实现备份功能;三个海大能够实现对各自备库的只读(read only)访问,并能下载HPD数据,实现共享功能。
2、HPD数据库“异地共享与备份”的设计
为了实现这两个目标我们采用Oracle DataGuard结合Oracle Flashback机制。
DataGuard是一种数据库级别的HA方案,最主要功能是容灾、数据保护、故障恢复等。
DataGuard是生产数据库的“事务一致性copy”,创建时,使用生产库的物理copy。创建完成后,备库会通过生产库传输过来的归档日志(或重做条目)自动维护备用数据库。将重做数据应用到备用库。DataGuard分为“物理standby”和“逻辑standby”。物理standby:主备库之间物理结构,逻辑结构一致。通常情况下备库通过主库传输过来的归档日志做恢复。基于“块对块”方式,与主数据库相同。物理standby等同于生产库。物理standby能以read only方式打开(或者在flashback数据库下以“读写方式打开”)。物理standby一旦以"读写"方式打开,备用库将不会从主数据库接受重做数据。只有当备库flashback到过去的点,当备用库flashback到“读写”打开时间点前的状态时,DataGuard会自动同步备库与主库,才能回复standby角色。
DataGuard有三种保护模式,我们采用“最大性能模式”。这种模式保证主库性能最大化,主备库之间数据是异步传输的。即主库日志归档以后才会传输到备用库,在备库上使用归档日志文件做恢复操作。DataGuard可以实现数据的异地备份。而要实现数据“共享”,则需要利用Oracle Flashback机制,将天津海大和广东海大的HPD数据库从“恢复模式”切换到“读写模式”。完成Flashback设置以后,从设置时间点(“读写模式”)开始到重新切换回“恢复模式”期间,天津海大和广东海大将能够在本地实现对备库的访问。待重新切换到“恢复模式”后,Oracle Flashback机制能将备库恢复到起始点,然后再进行日志文件的恢复,得以与上海印制中心的主库保持同步。
由于CARIS HPD帐号登入数据库操作本身就是往数据库“写”的过程,“只读模式”下将拒绝帐号对数据库的登入,故Oracle的“只读模式”将不能实现天津海大和广东海大对本地数据库的访问操作。我们采用Oracle的“读写模式”以保证HPD帐号对数据库的登入。但同时将帐号设置成“只读权限”,此时该帐号无法对数据库进行“写”的操作,从而实现各个海大 “只读”功能的要求,达到预期的目的。
3、HPD数据库“异地共享与备份”的实现过程
环境一致性检测。实施Oracle DataGuard要求操作系统和数据库版本等基本环境一致,在正式实施之前,需要对这些基本环境配置进行检测,对不符合要求的情况进行修改。
三地测试环境的配置。检查完各地基本环境后,需要对基本环境进行重新配置以满足要求,并对各地进行Oracle DataGuard和Flashback等环境的配置。
HPD数据库的备份、数据传输及恢复。进行HPD数据库的备份即可保证HPD数据库的安全,也能为三个海大海大的备库提供恢复数据。当上海主库备份完后,需要把主库的RMAN备份集全部传输到各海大备库相同的目录下进行恢复。由于数据量大,而且上海印制中心到天津海大以及广东海大的网速较慢(150~200 Kbps),有时可能还会断网,使用断点续传的FTP工具把备份集备份到三个海大的备库。利用Oracle RMAN机制进行数据库的恢复,使得三个海大的备库与上海印制中心的主库保持一致。
HPD日志文件的传输和恢复。在备份和恢复这一时间段内新产生的数据将以Oracle日志文件的方式单独传输到各个海大的备库,以保证数据的“实时”更新,完成备库与主库数据的“同步”。实现备库恢复后主库产生的新数据也将以同一方式进行处理。在主库开启日志传输模式,将新产生的日志归档文件传输到三个海大的HPD备用服务器。启动天津海大和广东海大的HPD备库。切换到恢复模式,将从上海传输过来的日志归档文件自动在三个海大的HPD备库进行恢复。此时已在各海大实现HPD数据库的备份功能。
HPD数据库“异地共享与备份”管理
1、HPD数据库“异地共享与备份”策略
综合考虑各个数据库的存储空间、网络传输速度和数据恢复时间,并考虑到天津海大、上海海大和广东海大的实际需要,HPD数据库“异地共享与备份”策略如下:
每天早上8点至下午5点HPD数据库启用“读写模式”,便于天津海大、上海海大和广东海大随时读取数据。其余时间HPD数据库启用“恢复模式”,用来归档日志的传输和恢复。根据存储空间的大小,归档日志保留14天,在14天之内数据没有成功传输均重新传输,超过14天则需要重做HPD数据库的“异地共享与备份”。
2、主库与备库的异常处理
在实际的维护与管理中经常发现主库或者备库发生宕机或者数据库异常停止的情况。当主库正常的时候,如果备库出现宕机,对主库没有任何影响。这样保证了上海印制中心HPD生产库的安全。当主库出现宕机时,又分为几种情况(见表1)。
3、日常管理与维护
日常的维护工作主要在上海印制中心进行,以维持该机制的顺利进行,保障数据库安全。三个海大主要负责备库的硬件与网络的维护。维护的内容主要包括:
检查归档日志是否已经传送成功并得到应用。要定期人工检查主数据库和备用数据库,确定归档日志是否已经传送成功;定期检查备用数据库,确定这些日志是否得到成功应用。
备机的启动与关闭。在紧急情况下可能需要对备机进行启动或关闭,上海印制中心会事先及时通知三个海大。
数据库模式的切换。上海印制中心将负责备库数据库模式切换的管理。在每天8:00到17:00将数据库切换成“读写模式”,以便三个海大使用;其余时间切换到“恢复模式”,以便上海数据库将本地数据传送到三个海大的备库。
主库和备库的启停顺序。上海印制中心负责主机和备机的启停管理。停止数据库的顺序是:先停止备库,再停止主库。启动数据库的顺序是:先启动主库,再启动备库。
检查主库和备库的运行情况。上海印制中心要定期检查主库的运行情况,包括硬件、网络和数据库等。三个海大要保证本地备库的正常启动和关闭,检查本地备库的正常运行和网络的畅通等。
存在的问题与下一步的工作
1、网络传输速度问题
网络传输速度慢使得上海印制中心的归档日志传输到三个海大的时间比较长。在备库服务器上恢复了主库的数据库备份集后,需要把主库这边新生成的归档日志传输到备库再进行一次恢复。目前这样的数据每天已增加到70多个归档日志需要传输,每个归档日志约45M左右,网络传输速度150~200Kbps,光用在传输归档日志上的时间就花费了约4.5个小时。随着统一制图生产的深入,每天的归档日志还将增加,所需花费的时间会更长。同时还必须考虑到,在传输途中如果遇到网络中断,就需要重新传输在网络中断时正在传输的那个归档日志,这势必又增加了数据传输时间。基于上述的考虑,建议增加网络带宽。
2、HPD数据库存储空间
上海主库每天传送过去的归档日志文件均存储在各海大的备库本地,在备库将这些归档日志文件恢复。这样时间一长,备库使用的归档空间就会使用完毕。所以在“异地备份与共享”策略上定期(14天)清理日志文件数据。而备库可能会因为某种原因,需要长时间(超过14天)的停机。这样子备库就会失效,而需要重新进行DataGuard恢复。因此适当增加存储空间将会有很大的意义,可以延长日志文件数据的存储时间。
(作者单位:上海海事局航海图书印制中心)