技术方案_备份与恢复_湖南卫生厅v2.0

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南卫生厅系统数据库
数据库备份与恢复演练技术方案
IT服务事业部
数据库服务产品部
2013年9月10日
文档修订记录
参考文档/书目:
目录
第1章基本概况 (4)
1.1数据库备份恢复测试概况 (4)
1.2数据库备份恢复演练规划 (4)
第2章数据备份 (5)
2.1备份策略与配置优化 (5)
2.1.1当前备份策略如下: (5)
2.1.2归档日志的处理 (5)
2.1.3打开控制文件自动备份 (5)
2.1.4配置备份周期 (5)
2.2RAC数据库备份规划 (6)
2.2.1归档日志存放的位置 (6)
2.2.2RMAN配置 (6)
2.2.2.1 归档日志NFS访问的RMAN配置 (6)
第3章数据恢复 (7)
3.1数据恢复过程概述 (7)
3.2获取备份文件 (8)
3.3获取数据库信息 (8)
3.4获取数据库参数文件 (8)
3.5确定要恢复的路径 (10)
3.6恢复参数文件 (11)
3.7修改参数文件 (12)
3.8恢复控制文件 (12)
3.9恢复数据文件 (13)
3.10恢复并打开数据库 (13)
3.11进行数据库备份 (13)
第1章基本概况
1.1数据库备份恢复测试概况
当前数据库为EXADATA服务器ORACLE 11R2 RAC ASM,数据量3.8TB。

采用NBU RMAN备份方式,为了测试备份的有效性,计划进行恢复测试演练。

演练方式采用NBU RMAN备份生产库,再恢复到单节点PC SERVER + LINUX + ORACLE 11GR2 + ASM上,来验证备份恢复的有效性。

生产库及恢复目标测试库的信息如下。

1.2数据库备份恢复演练规划
备份恢复需求:
一、恢复测试库服务器。

二、恢复测试库能访问到全库备份、增量备份和归档备份,以便恢复。

三、恢复测试库大约需要磁盘空间4TB。

四、恢复时间需要实际测试。

恢复测试步骤:
一、利用NBU RMAN备份生产库。

二、搭建单节点测试库。

三、创建ASM实例,并建立与生产库相同磁盘组(+DATA_DM01、+RECO_DM0)
三、配置NBU至单节点测试库。

四、利用RMAN进行数据库恢复测试。

第2章数据备份
2.1备份策略与配置优化
2.1.1当前备份策略如下:
由于数据库数据量较大,可以采取每周进行一次全库备份,每日进行增量备份和归档备份。

目前oracle exadata RAC通过NBU7.5每周六(00:00-12:00)一次全备、每天增量和归档备份,其中全备和增量的数据备份到华为的虚拟带库VTL6000,每天的归档(8:00-22:00,频率为每小时备份一次)备份到NBU master server(windows 2003 svr--10.0.0.86 --- nbuserver)本机挂接的存储上。

2.1.2归档日志的处理
建议每次备份后自动删除归档日志文件。

2.1.3打开控制文件自动备份
2.1.4配置备份周期
2.2RAC数据库备份规划
2.2.1归档日志存放的位置
归档日志放在磁盘阵列,对方节点通过NFS读写访问
2.2.2RMAN配置
2.2.2.1归档日志NFS访问的RMAN配置2.2.2.1.1RMAN备份脚本
节点1:
节点2:
第3章数据恢复
3.1数据恢复过程概述
获取备份文件
获取数据库信息
获取数据库参数文件
确定要恢复的路径
恢复参数文件
恢复控制文件
恢复数据文件
恢复归档日志文件
恢复并打开数据库
进行数据库备份
3.2获取备份文件
查找备份软件日志,获取数据库的备份文件。

3.3获取数据库信息
需要获取以下信息:
一、数据库的DBID
SQL> select dbid from v$database;
二、数据库的SID
Select instance_name from v$instance;
三、数据库的SYS密码
3.4获取数据库参数文件
在生产库执行如下操作:
SQL> create pfile='/u01/rman/pfile_restore.ora' from spfile; File created.
set lines 200
set pages 200
set echo off
set verify off
set scan on
col TIME_TAKEN_DISPLAY for a10
col "INPUT(SUM)" for a10
col "OUTPUT(SUM)" for a12
col status for a10
col "INPUT(s)" for a10
col "OUTPUT(s)" for a10
SELECT j.session_key,
TO_CHAR (J.START_TIME, 'yyyy-mm-dd hh24:mi:ss') start_time,
TO_CHAR (j.end_time, 'yyyy-mm-dd hh24:mi:ss') end_time,
J.TIME_TAKEN_DISPLAY,
J.INPUT_BYTES_DISPLAY "INPUT(SUM)",
J.OUTPUT_BYTES_DISPLAY "OUTPUT(SUM)",
J.OUTPUT_DEVICE_TYPE,
J.STATUS,
J.INPUT_TYPE,
J.INPUT_BYTES_PER_SEC_DISPLAY "INPUT(s)",
J.OUTPUT_BYTES_PER_SEC_DISPLAY "OUTPUT(s)"
FROM V$rman_Backup_Job_Details j;
查看rman所有备份的历史信息,包括开始、结束时间,总共花费的时间以及备份的大小以及状态等信息。

set lines 120
set pages 200
set feedback off
set verify off
set scan on
select output from v$rman_output o where o.session_key=&1;
其中的session_key来自己于第一个查询中。

3.5确定要恢复的路径
查看以前的备份日志,确定要恢复的数据文件路径与以前的是否一致。

创建ASM实例并且建立相应ASM磁盘组。

三操作步骤
1 修改IBM1上的ORACLE的配置文件,只需要修改ORACLE_SID即可。

vi /oracle/.profile oracle_sid=ccdb1
2 进入RMAN,强行启动数据库(会报没有参数文件)后,恢复参数文件。

rman target /
startup nomount
restore spfile from '/u01/rman/ControlFile_05oj8o65_1_1';
3 根据spfile, 恢复出pfile, 编辑pfile, 去掉与rac设置相关的参数, 再将pfile转换成spfile
create pfile from spfile;
shutdown abort;
vi initccdb1.ora -- 去掉与rac设置相关的参数,同时注意参数里指定的各目录是否存在。

create spfile from pfile;
4 使用新创建的spfile 启动数据库,恢复出控制文件。

startup nomount;
restore controlfile from
'/oradata/orabak/rmanspctlback/c-3276392049-20080620-01';
alter database mount;
5 由于正式环境使用了ASM,数据文件,在线日志都存在ASM里,而测试环境没有ASM,故需要将文件转换,存放到文件系统下,
由于在IBM4上记录的数据库,归档日志的备份集的存放路径与IBM1上的不一样,故,需要说明在IBM1上这些备份集的路径,以便RMAN知晓。

catalog backuppiece
'/oradata/orabak/databackup/db_CCDB_900_1_20080620';
catalog backuppiece
'/oradata/orabak/logbackup/log_CCDB_901_1_20080620';
7 检查备份集的存在状况,删除多余的备份集信息
crosscheck backup;
delete noprompt expired backup;
8 检查全库恢复时的,需要哪些数据文件备份集,归档日志文件的备份集。

restore database preview summary;
9 找出库的数据文件。

Report schema;
run
{allocate channel d1 type disk;
set newname for datafile 1 to '/oradata/ccdb/system.dbf';
set newname for datafile 2 to '/oradata/ccdb/undotbs1.dbf';
set newname for datafile 3 to '/oradata/ccdb/sysaux.dbf';
set newname for datafile 4 to '/oradata/ccdb/users.dbf';
set newname for datafile 5 to '/oradata/ccdb/undotbs2.dbf';
set newname for datafile 6 to '/oradata/ccdb/unicall2x.dbf';
set newname for datafile 7 to '/oradata/ccdb/unicall2x_idx.dbf'; restore database;
switch datafile all;
release channel d1;
}
13 recover database,注意恢复完成后,系统提示需要的日志文件及SCN好。

recover database;
14 罗列出归档日志的备份集,和上面的RECOVER DATABASE 信息作比较,以确定是否已经用完备份集里的归档日志。

list backup of archivelog all;
15 alter database open resetlogs;
3.6恢复参数文件
3.7修改参数文件
将参数文件中涉及到集群的信息删除掉。

3.8恢复控制文件
3.9恢复数据文件
3.10恢复并打开数据库
3.11进行数据库备份。

相关文档
最新文档