1、一种基于DG的TB级数量容灾研究与实现方敏杨建军:数据库迁移之后的容灾研究是一个极具挑战的领域,数据库的部署应能及时发现问题并对数据采取相应的保护措施,防止数据的丧失和损坏,提高数据库的稳定性和运行效率。本文通过提出一种基于DG的TB级数量容灾方法,解决了一彩票研发中心数据库TB级数据出现的宕机问题。经过实施,彩票中心数据库实现了高效运行,具有容灾的功能,解决了两台数据库在迁移之后单纯的HA。关键词:DC;数据迁移;效率;稳定性;容灾中图分类号:TP319 文献标识码:A文章编号:1009-3044(2023)09-0236-031 引言随着数据量的快速增长,实现数据完整性和业务的连续性势必成
2、为企业优先考虑的问题。采取有效的措施保证数据库的平安和高效运行是非常重要的,这就要求中心数据库不仅要对性能进行提升、解决数据库迁移后出现的HA,同时也要具备容灾的功能。Oracle Data Guard简称DG,它是一种应用效果比拟好的数据库容灾技术,为实现数据完整性及业务的连续性提供了一种高可用性的技术方案,在商业上又被称为standby database技术。DG可以通过网络进行连接和通信,确保数据的高可用性,为节点级别的系统提供恢复功能,实现保护数据和恢复灾难的目的。2 数据收集2.1 数据库高可用性方案本文数据库采用Oracle DataG uard根底架构,创立、监控并维护多个备用数
3、据库,从而保护企业数据结构不会受到故障、灾难、错误或崩溃的影响。本文涉及的DG工作示意图如图1所示。2.2 系统数据采样对系统数据采样,为解决方案的制定提供依据。2.1.1 确定OS系统类型Linux命令端输人命令:lsb_release iduname - i - m -p2.2.2 确定oracle软件的版本和参数Sqlselectxfrom v$version2.2.3 确定库名,实例名,唯一性库名Sqlselect instance_name, name, db_unique_name from v $da-tabase;2.2.4 确定归档模式,闪回模式,强制日志记录的方式Sqlse
4、lect log_modeAashback_on,force_logging from v$database;2.2.5 确定ORACLE_BASE,ORACLE_HOME的值Sqlho echo $ORACLE_BASESqlho echo $ORACLE_HOME3 解决方案的制定3x1 规划效劳器通过数据的收集确定DG部署的环境,明确了两台效劳器的环境、实现方式,图2是对两台效劳器的规划。3.2 故障恢复时间计算提高系统可用性最根本的方法就是降低故障恢复时间,一个典型故障恢复时间主要由硬件恢复时间、软件恢复时间和数据恢复时间三个局部组成。3.2.1 硬件恢复时间硬件恢复时间是效劳器和网络
5、故障以及其他共享存储设备恢复所需要的时间。定义1定义硬件恢复时间为t(h)。3.2.2 软件恢复时间软件恢复时间可以分为操作系统及根底软件和在操作系统上安装的应用程序两个局部。定义2对于操作系统及根底软件恢复时间,时间定义为t(o)。应用程序软件恢复时间,定义为t(p),可以推出软件恢复时间t(s)为t(o)与t(p)之和。t(s)=t(o)+t(p)(1)3.2.3 数据恢复时间由于每个系统的RPO不同,数据恢复量也就不同。同时,数据恢复还存在难易程度不同,因此数据恢复时间可能受到多种因素的影响。定义3定义数据恢复时间为t(d)。另外,诸如进程恢复、客户端重试连接等其他因素也会影响整个系统的
6、恢复时间,本文主要解决的是数据库、效劳器端及应用效劳器端软件的高可用性问题。定义故障恢复时间trecover:trecover-t(h)+t(s)+t(d)(2)由公式1=trecover-t(h)+ t(o)+t(p) +t(d)(3)3.3 高可用性容灾处理在系统设计中采用算法判定任务的关键性,而不是通过灾难恢复方案预先制定相关任务的关键等级,这样做的好处是能够根据具體情况具体判断每个任务的关键等级,提高工作效率。高可用性容灾处理流程如图3。4 TB级数量容灾实现4.1主库环境设置4.1.1主库设置为归档要求数据库处于archivelog模式,如果是非归档模式那么需要在宕机时间完成后切换到
7、归档模式。4.1.2设置强制日志记录要求所有的事务都可以通过归档进行回滚。数据库所有的操作都会记录日志文件中。4.1.3翻开闪回模式闪回功能可以根据需求自定,这里使用dg_broker自动切换,备库实例化需要闪回功能。Sqlalter database flashback on;4.1.4 rman备份rmanbackup database;4.1.5 配置网络网络设置需要对oracle主目录下的listener.ora和tnsnames.ora两个文件进行配置。同样使用Vl命令添加以下主库和备库的信息CRMDP=(DESCRIPTION= (ADDRESS= (PROTOCOkTCP) (H
8、OST=c:rmdb)(PORT=1521)( CONNECT_DATA=(SERVER=DEDICATED)(SID=crmdb)CRMDP=(DESCRIPTION= (ADDRESS= (PROTOCOkTCP) (HOST=scrmdb)(PORT=1521)( CONNECT_DATA=(SERVER=DEDICATED)(SID=crmdb)4.1.6 添加备库联机重做日志根据主库的日志文件组建立备库日志组,原那么上备库比主库日志文件组多一个,且每组的成员至少一个。4.2 备库环境设置4.2.1 复制主库的密码文件和参数文件把主库目录/u01/crmsoft/admin/crmdb
9、/pfile挎贝到备库相同路径下,得到备库参数文件。把主库目录/u01/crmsof t/ 11 g/dbs/orapwcrmdb文件拷贝到备库相同路径,得到参数文件。4.2.2 准备目录准备与主库放置文件路径一样的路径,并以数据库crmsoft用户创立。4.2.3 配置网络将listener.ora拷贝到备库相同路径下:Scp192. 168.2.23:/u01/c rmsoft/ 11 g/network/admin/listener.ora$ORACLE_HOME/network/admin4.3 克隆数据库lsnrctl start连接rman:rman target sys/emai
10、lprotected auxiliary sys/emailprotected当输出显示为这个界面时候,说明rman对于两个数据库之间的连接没有问题,执行克隆:rmanduplicate target database for standby nofilecheck fromactive database;输出结果,说明克隆数据库已经成功。4.4 db_broker搭建DG4.4.1 主库备库均要翻开dgbrokerSqlalter system set db_broker_start=true4.4.2 进入dgbroker进行配置dgmgrl sys/emailprotected创立一个D
11、G的配置,指定主库,连接的字符串:DGMGRLcreate configuration dgc as primary database iscrmdbp connect identifier is crmdbp增加一个物理备库到DG中:DGMGRLadd database cnudbs as connect identifier is crm-dbs maintained as physical翻开配置,启动配置:DGMGRLshow configuration;DGMGRLenable configuration;此时配置已经生效,数据库已经同步。设置主库备库的log管理方式和文件管理方式D
12、GMGRLedit database crmdbp property loptmode=syncDGMGRLedit database crmdbp property standbyfilemanage-ment=auto4.5 同步验证检查主库最大序列号和备库最大序列号crmdbs上查看最大序列日志号:Sqlselect max(sequence#) from v$archived_log;crmdbp上切换日志Sqlalter system switch logfile;Crmdbs再次查看最大序列日志号:Sqlselect max(sequence#) from v$archived_l
13、og;结果显示为后者比前者变化大,说明实现了同步。5 结束语本文的解决方案和实施过程成功运用在某彩票研发中心数据库,解决了彩票中心数据库在工作环境中由于访问人数的增长、数据库升级、迁移等造成的宕机问题。经测试,环境搭建成功后,数据库具有容灾的功能,实现了数据库的高可用性。数据库迁移后往往会出现大量的问题,甚至造成数据库的崩溃。即使Oracle提供的DG是一种比拟优秀的解决方案,但并没有成熟到DBA运用它就能完全很好的解决问题的地步,需要DBA在实际工作中根据具体环境去分析、研究和完善。参考文献:1张政.数据容灾技术在企业信息系统中的应用J.信息与(理论版),2023(1):119,125.2柳
14、志权.企业信息系统中应用数据容灾技术的分析J.电子技术与软件工程,2023(20):181.3叶嘉酩,胡曉勤,王喆.数据容灾技术在企业信息系统中的应用J.信息与,2023(12):119+125.4方华峰.数据容灾备份与恢复的关键技术及应用研究J.网络平安技术与应用,2023(3):43-44.5乔阿美.Oracle容灾技术在企业ERP系统中的应用研究Jl,电子技术与软件工程,2023(23):68.6傅玲,易建湘.数据中心数据库升级、迁移与整合J.编程技巧与维护,2023(8):109-110,113.7杜军龙,金俊平,周剑涛.具备完整性追溯的系统数据容灾机制J.计算机工程,2023,45(7):170-175.8林国勇,黄帆.一种用于云计算的数据容灾分配算法的改良J.科学技术与工程,2023,17(1):260-264.【通联编辑:王力】作者简介:方敏(1981-),女,四川眉山人,硕士,讲师,主要研究方向:软件工程;杨建军(1976-)男,甘肃天水人,讲师,主要研究方向:嵌入式软件教学与研究。