文章快速检索    
  地震地磁观测与研究  2019, Vol. 40 Issue (2): 146-149  DOI: 10.3969/j.issn.1003-3246.2019.02.021
0

引用本文  

穆慧敏, 胡玉良, 王鹏伟, 等. 地震监测数据容灾备份程序设计与实现[J]. 地震地磁观测与研究, 2019, 40(2): 146-149. DOI: 10.3969/j.issn.1003-3246.2019.02.021.
Mu Huimin, Hu Yuliang, Wang Pengwei, et al. The design and realization of an earthquake precursory data recovery and backup program[J]. Seismological and Geomagnetic Observation and Research, 2019, 40(2): 146-149. DOI: 10.3969/j.issn.1003-3246.2019.02.021.

基金项目

中国地震局地震科技星火计划(项目编号:XH17008Y);山西省地震局科研项目(项目编号:SBK-1409);山西省地震局科研项目(项目编号:SBK-1913)

通讯作者

胡玉良(1981-), 男, 硕士研究生, 高级工程师, 主要从事地震前兆系统及仪器运行维护工作。E-mail:huyuliang130@163.com

作者简介

穆慧敏(1981-), 女, 本科, 工程师, 主要从事地震前兆数据分析及处理工作

文章历史

本文收到日期:2018-06-03
地震监测数据容灾备份程序设计与实现
穆慧敏 1,2, 胡玉良 1,2, 王鹏伟 1,2, 王军 3     
1. 中国太原 030021 山西省地震局;
2. 中国山西 030025 太原大陆裂谷动力学国家野外科学观测研究站;
3. 中国北京 100045 中国地震台网中心
摘要:为做好地震监测数据容灾备份,以山西地球物理台网为例,搭建NFS服务器,基于oracle rman技术,通过编写shell脚本程序,实现oracle数据库自动定时远程备份,确保在oracle数据库出现故障时能及时恢复,避免数据丢失。通过在山西地球物理台网进行试用,达到预期效果。
关键词容灾备份    网络文件系统    恢复管理器    物理备份    逻辑备份    
The design and realization of an earthquake precursory data recovery and backup program
Mu Huimin 1,2, Hu Yuliang 1,2, Wang Pengwei 1,2, Wang Jun 3     
1. Shanxi Earthquake Agency, Taiyuan 030021, China;
2. National Continental Rift Valley Dynamics Observatory of Taiyuan, Shanxi Province 030025, China;
3. China Earthquake Networks Center, Beijing 100045, China
Abstract: To take Shanxi seismic precursory network for example, a program based on a NFS server is designed in order to improve the disaster recovery capacity and backup of the precursory observational data. The program is use the rman utility to back up the database while the database is online, and realize the backup of local files to the remote server according to automated backup strategy. These measures can ensure precise recovery of precursor database in the event of database failures to avoid data loss. The program achieved fairly good results applied in Shanxi geophysical network.
Key words: disaster recovery    NFS    rman    physical backup    logical backup    
0 引言

山西地球物理台网承担山西省流体、电磁、形变等观测数据的汇集、处理、存储、报送及归档。现有技术系统基于Suse Linux操作系统和oracle数据库,分别部署在省级中心和各个地震专业台站。

oracle数据库备份一般有2种方式:物理备份和逻辑备份(蔡晓洁,2016)。山西地球物理台网省级中心和部分专业台站数据库采用物理冷备份和逻辑备份方式进行定时备份(穆慧敏,2016)。由于物理冷备份和逻辑备份只能恢复到备份点,不能恢复到故障点,一旦数据库出现问题,数据丢失在所难免;逻辑备份采用SQL语句进行读写操作,时常会出现未知错误,导致数据备份不完整。

为了解决物理冷备份和逻辑备份存在的问题,可采用oracle rman技术(潘传迪;2014徐曼,2016)进行物理备份。其主要优点是:避免逻辑备份可能出现的错误;能够恢复到故障点,或者离故障点最近的时间点,避免数据丢失。

文中介绍地震监测数据容灾备份程序,通过搭建NFS服务器,基于oracle rman技术设计oracle数据库备份程序,并应用到山西地球物理台网,使得山西地球物理台网省级中心和各个专业台站地震监测数据容灾备份技术水平得到提高。

1 程序设计

oracle数据库备份程序借助NFS服务器、shell脚本程序和crontab命令,实现oracle数据库定时备份和恢复。主要包含3部分:①NFS服务端配置。采用Suse linux enterprise server 11 SP3操作系统,安装nfs-kernel-server组件,创建共享文件夹,设置权限、配置参数等;②oracle数据库服务器配置,挂载NFS服务器,创建归档目录;③编写shell脚本程序,实现oracle数据库定时备份及管理。

2 程序实现 2.1 NFS服务器搭建

以root用户登录NFS服务器,在opt文件夹下创建share文件夹,用于存放oracle数据库备份文件。修改share目录权限为777,基于Suse安装光盘或ISO镜像安装nfs-kernel-server。需注意,在配置NFS服务器时,设置共享目录、要备份的oracle数据库服务器IP地址及相应权限(一般为rw、sync)。如需修改相关参数,在etc/exports文件下操作即可。文件参数修改见图 1

图 1 NFS服务器参数设置 Fig.1 The NFS server parameter setting
2.2 oracle数据库服务器配置 2.2.1 挂载NFS目录

以root用户登录oracle数据库服务器,在/opt/oracle/文件夹下,创建rman文件夹,运行以下命令

mount - t nfs - o rw, bg, hard, nointr, rsize=32768, wsize=32768, timeo=600, actimeo=0 NFS服务器IP地址:/opt/share /opt/oracle/rman

挂载后用df - h查看,见图 2

图 2 NFS挂载目录 Fig.2 The NFS-mounted directory
2.2.2 创建相关目录

以oracle用户登录oracle数据库服务器,在/opt/oracle/rman/文件夹下创建TEST_DB_BAK文件夹,在/opt/oracle/oradata文件夹下创建arch文件夹,在/opt/oracle/文件夹下创建backuporacle文件夹。

2.2.3 编写shell脚本程序,包含init.sh和oraclebackup.sh

其中:init.sh用于打开归档、配置rman和定时任务,并配置oraclebackup.sh中的环境变量参数(ORACLE_BASE、ORACLE_HOME、ORACLE_SID);oraclebackup.sh用于实现0级、1级、2级备份,具有检查备份、删除过期备份及恢复备份的功能。数据库数据文件0级备份rman命令脚本(1级备份和2级备份的rman命令与0级备份类似)如下

run

{

allocate channel c1 type disk;

backup incremental level=0 database format 'oldpath_database/database_backup/paidb_level0_%U' tag='level0';

sql 'alter system switch logfile';

backup archivelog all format 'oldpath_archive/archivelog/paidb_arch_%U' delete input;

release channel c1;

}

在oracle用户下,将2个脚本放在backuporacle目录下,增加可执行权限,并执行以下命令

export ORACLE_SID=PDBQZ

./init.sh /opt/oracle/rman/TEST_DB_BAK /opt/oracle/oradata/arch

使用crontab –l查看定时任务,见图 3

图 3 定时任务 Fig.3 Cron job

采取定时备份策略,步骤如下:周日1:00进行0级备份(即完整备份);周一至周三和周五至周六1:00进行2级增量备份;周四1:00进行1级增量备份;周六18:00检查oracle备份文件;周日18:00删除过期备份文件。若oracle数据库出现故障,在oracle用户下,运行./oraclebackup.sh –r即可快速恢复。恢复数据库rman命令脚本如下

run

{

shutdown abort;

startup mount;

restore database;

recover database;

alter database open;

}

3 应用效果

oracle数据库备份程序紧密结合山西地球物理台网实际需求,实现地震监测数据备份自动化,提高数据可靠性,在oracle数据库出现故障时,能及时恢复,并在最大程度上减少数据丢失现象。该程序在山西地球物理台网试用以来效果较好。图 4给出备份的数据库文件。

图 4 备份的数据库文件 Fig.4 Backup database files
4 结束语

oracle数据库备份程序基于oracle rman技术进行物理备份,备份的数据采用rman命令进行恢复。如果oracle数据库服务器出现硬盘故障,将无法使用rman命令进行恢复。因此,oracle数据库备份程序还需要与物理冷备份及逻辑备份进行有效结合,才能有效提高oracle数据库服务器的安全性。

参考文献
蔡晓洁. 基于RMAN数据库备份与恢复[J]. 自动化技术与应用, 2016, 35(6): 99-102.
穆慧敏, 胡玉良, 程冬焱, 等. 山西地震前兆技术系统管理方案的设计及实现[J]. 山西地震, 2016(2): 18-21. DOI:10.3969/j.issn.1000-6265.2016.02.005
潘传迪. 基于DataGuard和RMAN的Oracle数据库容灾方案[J]. 医院管理论坛, 2014, 31(1): 51-54.
徐曼. Oracle数据库的备份与恢复[J]. 铁路计算机应用, 2016, 25(3): 46-49. DOI:10.3969/j.issn.1005-8451.2016.03.013