当前位置:首页 期刊杂志

基于Oracle数据库教务系统的容灾方案制定与实施

时间:2024-07-28

李庆波,赵宇兰

(山西大学商务学院,山西 太原 030031)

0 前言

高校教务管理系统是高校信息化建设的重要环节,也是保障学院正常教学管理的重要组成部分。随着大数据等技术的不断推进,教务管理服务越来越依赖信息系统支撑和教务数据的支持,这些以电子数据形式保存的资料逐渐成为高校与人才、技术同等重要的资产[1],所以教务系统如果出现故障,不仅会影响学校的正常教学秩序,而且会带来不可估量的损失。随着各种自然灾害的频繁发生,如地震、火灾、人为故障、电力中断等[2],这些灾害无时无刻都威胁着教务系统的安全。如图1所示。

图1 灾难发生分布图

而随着高校对数据处理依赖程序的递增,因此建立企业先知先觉的防范意识和充分的技术准备,预防灾难发生及灾难发生后的快速恢复机制,已成为现代高校的重要手段[3,4]。如何制定教务系统容灾方案,保证教务系统正常运行,提高教务系统的高可用性、可靠性,成为各高校关注的重点。本文以高校教务管理系统为例,提出经济有效的容灾方案,并具体实施。

1 灾难风险分析与评估

在国际上,特别是西方发达国家,非常重视容灾建设,因为业务的中断对企业的影响非常大,如金融行业每小时的平均损失可高达几百万、甚至上千万美元。在国内,容灾建设起步比较晚,随着我国高校信息化的不断发展,数据的重要性越来越受关注,容灾建设已经成为信息化建设的核心内容之一。

建设合适的容灾系统、制定有效的容灾策略是保障数据安全首要考虑因素,但在容灾方案确定之前,需要对方案进行详细而量化的风险分析,以确定在当前环境中存在的灾难可能性、目前防护措施的有效性、灾难所威胁的资产价值进行分析,制定相应的容灾策略。

从技术上看,衡量容灾系统的主要指标:RPO(Recovery Point Objective 即数据恢复点目标)和RTO(Recovery Time Objective即恢复时间目标),它们一起决定了容灾系统的成本。

从成本上看,如果系统需要保证更高的业务连续性,也就是需要保证灾难发生的时候,丢失数据量最少,而且恢复的时间最短,虽然这需要更高的成本,但是,这带来的好处就是灾难发生的时候,损失也最小。如果没有容灾建设,当灾难发生时,就会丢失很多数据,或者是需要很长的时间来恢复,将会承受极大的业务损失。如图2所示。

图2 容灾成本与损失关系图

从图2可以看出业务中断时间是数据损失时间与恢复时间的综合。如果容灾的投入越大,业务中断时间就越短,带来的损失也就越小;反之,如果恢复成本越低,那么需要恢复的时间就越长,带来的损失可能就大到不可估计。在这样情况下,我们需要综合成本与损失选择一个合理的区间作为标准,使得恢复时间和损失都控制在一定的程度之内,充分对容灾方案进行合理的风险分析与评估,制定合理容灾策略。

2 容灾方案制定与实施

学校教务管理系统是贯穿整个教学流程的应用系统。数据库服务器在学生注册、教学任务录入、学生教学评估、系统排课、学生选课、成绩录入等阶段承受的负载较重,在这些时间段,保证业务连续性尤为重要。结合学院对教务管理系统的财力投入及其它因素的存在,利用现有技术力量,学院容灾建设以本地数据备份与恢复为基础,辅以其它相应措施,以达到容灾成本及损失大小的最优方案。

从数据库管理角度出发,以双数据库服务器为基础,建立主数据库、灾备数据库,实现主、灾备数据库数据同步或近实时同步。通过Oracle在备用数据库中自动创建灾难恢复数据。双机备份可以保证数据库数据的同步,在灾难发生时,既可以确保数据不丢失,也保证了业务的连续性,保证数据的安全性和完整性。如图3所示。

图3 双机备份数据库

从Oracle数据库技术角度出发,采用Date Guard技术来实现。Date Guard技术虽然不是采用最大保护模式,但是在一般情况下只有故障发生时最后一个联机日志没有完全同步,只要找到最后一个联机日志,Date Guard就可以根据最后一个联机日志将数据完全恢复到和故障前的一致,不丢失任何数据。这种数据库复制成本较低,而且技术上也灵活。

具体实施方案如下:

1) 允许FORCE LOGGING模式。

SQL>alter database force longing;

2) 创建口令文件。

SQL>orapwd file=orapwd.ora password=’*******’entries=n;

3) 配置备用重做日志。

SQL>alter database add standby logfile thread 5

2>(‘/oracle/dbs/log1c.rdo’,’/oracle/dbs/log2c.rdo’)size 500M;

SQL>alter database add standby logfile group 10

2>(‘/oracle/dbs/log1c.rdo’,’/oracle/dbs/log2c.rdo’)size 500M;

4) 设置主、备数据库初始化参数。

//主数据库初始化参数//

SQL>DB_NAME=**

2>DB_UNIQUE_NAME=**

3>LOG_ARCHIVE_CONFIG=’DG_CONFIG=(**,##)’

4>CONTROL_FILES=’/arch1/**/control1.ctl’,’/arch2/**/control2.ctl’

5>LOG_ARCHIVE_DEST_1=’LOCATION=/arch1/**/

6>VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=**

7>LOG_ARCHIVE_DEST_2=’SERVICE=##LGWR ASYNC

8>VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

9>DB_UNIQUE_NAME=##’

10>LOG_ARCHIVE_DEST_STATE_1=ENABLE

11>LOG_ARCHIVE_DEST_STATE_2=ENABLE

12>REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

13>LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

14>LOG_ARCHIVE_MAX-PROCESSES=30

//备用数据库初始化参数//

SQL>FAL_SERVER=##

2>FAL_CLIENT=**

3>DB_FILE_NAME_CONVERT=’##’,’**’

4>LOG_FILE_NAME_CONVERT=’/arch1/##’,’/arch1/**’,’/arch2/##’,’/arch2/chica go/’

5>STANDBY_FILE_NAMEGEMENT=AUTO

(5)允许归档。

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP NOUNT;

SQL>ALTER DATABASE ARCHIVELOG;

SQL>ALTER DATABASE OPEN;

3 结束语

本文通过分析高校教务管理系统安全隐患,以实用型和经济型相结合的原则,通过Oracle数据库技术手段、从数据库服务器的架构、容灾建设、数据备份和恢复等方面制定合理的容灾方案,并通过具体实践部署了一个可靠性强Oracle数据库数据安全环境。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!