AnyBackup Oracle RAC备份与恢复最佳实践
Oracle Rac备份恢复

Oracle Rac备份恢复概述RAC 技术这两年热度不断提升,随着ORACLE推广力度不断加大以及时间的推移,RAC特性也在逐步被人所熟悉。
做为重要的数据库维护操作–备份恢复,本文将通过实际操作,演示RAC数据库环境中,MBA 实现RMAN备份与恢复。
首先要明确一点,通过RMAN创建备份集时,必须保证连接到的实例能够访问所有节点所生成的归档日志,否则会导致备份失败。
所以针对rac备份,MBA有一下2种情况。
∙各节点生成的归档文件放到共享存储上,这样自然可以确保每个节点都能够访问到,比如将归档存放到ORACLE的ASM或其它集群文件系统。
∙各节点生成的归档文件放在本地,创建共享目录作为MBA备份时使用的临时目录。
针对以上2种情况都需要开启数据库的归档模式,建立备份用户,并授予dba,sysdba的权限。
∙开启数据库归档模式(仅供参考)1) 关闭所有节点数据库实例[grid@node1 ~]$ srvctl stop database -d racdb2) 修改服务器配置参数SQL> startup mountSQL> alter system set cluster_database=false scope=spfile;注:cluster_database是用来确定数据库是否在rac环境的集群中。
如果cluster_database=true,那么对于rac数据库来说,无法在一个节点上mount exclusive数据库,也就无法更改archivelog模式。
SQL> shutdown immediate3) 开启归档模式SQL> startup mountSQL> alter database archivelog;SQL> alter database open;4) 恢复服务器配置参数SQL> alter system set cluster_database=true scope=spfile;SQL> shutdown immediate;5) 打开所有节点数据库实例[grid@node1 ~]$ srvctl start database -d racdb6) 检查归档日志是否已启用SQL> archive log list;数据库日志模式存档模式自动存档启用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列98下一个存档日志序列99当前日志序列99创建备份使用的用户以及授权SQL> create user backup identified by backup;SQL> grant dba,sysdba to backup;1. 归档文件放到共享存储上1.1备份1.1.1编辑MarsServer.xml修改每个Oracle Agent端MarsServer.xml文件以下为MarsServer.xml文件内容<?xml version=”1.0″ encoding=”GB2312″?><MBA><ServerParameter><ServerName>192.168.50.106</ServerName><ServerPort>41001</ServerPort><LocalIP>192.168.50.158</LocalIP> <!–使用的是虚拟ip–><Log>6</Log><TemporaryPath></TemporaryPath><BindLocalIP>0</BindLocalIP><Encoding>GB18030</Encoding></ServerParameter><MarsOracleAgent><racdb><!– 1. 虚拟IP以及端口号,Host=,PORT=,这里例子是192.168.50.158,192.168.50.159,端口号是1521 –><!– 2. 数据库名,SERVICE_NAME = ,这里的例子是racdb–><JdbcUrl>(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.50.158)(PORT = 1521))(ADDRESS = (PROTOCOL =TCP)(HOST =192.168.50.159)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = ON)(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = racdb)(FAILOVER_MODE=(TYPE = SELECT)(METHOD = BASIC)(RETIRES = 20)(DELAY = 15))))</JdbcUrl><!–当前OracleAgent所在机器上的实例名,根据实际情况修改–><NodeInstanceName>racdb1</NodeInstanceName><!–其他机器上的实例名,可能是多个–><OtherNodeInstance><!–某一个具体的实例名–><NodeInstanceName>racdb2</NodeInstanceName></OtherNodeInstance></racdb><BlockSize>262144</BlockSize></MarsOracleAgent></MBA>注:汉字部分,为解释,配置文件不需要出现重启各个节点Oracle Agent服务#/usr/local/mba/scripts/MBAOracleAgent.sh restart1.1.2发送备份任务1)添加实例Racdb为公共实例名192.168.50.158 是虚IP2)以backup用户连接实例,发备份任务RMAN备份方式必须备份控制、日志和所有的表空间选择RMAN备份方式,勾选RAC选项备份成功1.2恢复1.2.1准备使用sqlplus工具连接数据库执行shutdown immediate命令。
AnyBackup 6.0 Oracle单机备份恢复指南

Oracle单机定时备份恢复配置指南一、模块说明1.1、文档适用范围本文档适用于AnyBackup5.0.0~6.0版本1.2、原理介绍使用RMAN脚本进行备份,1.3、备份介绍支持完全备份和增量备份,备份时会备份数据库的数据文件,日志文件,参数文件,控制文件;1.4、恢复介绍1. Oracle 普通恢复使用之前的数据库备份集来实现数据库的还原,然后使用归档日志及联机日志将数据库恢复到最新及指定时间点的状态,恢复时需要将停止数据库的生产业务;2. Oracle 高级恢复单独恢复不同类型的物理文件,包含控制文件、数据文件、日志文件、参数文件,在用户需要单独恢复各类型的文件时,可以选择此种恢复方式;3. Oracle 表级恢复可以在线进行表级恢复,并不影响数据库其它数据的正常业务使用;此种恢复方式主要针对用户误删除误操作,造成的表损坏或者数据丢失,不影响业务的正常运行;二、环境说明2.1、用户和客户端说明2.1.1、用户权限进行Oracle定时备份时,使用的用户必须是sysdba的权限,否则无法备份,如果使用的是不是sys用户,可以使用下面的命令将dba的权限赋予用户:grant sysdba to eisoo; //把dba的权限赋予用户eisoo2.1.2、其他厂商库文件查询其他厂商残留的库文件会影响到备份,Windows库文件名称为orasbt.dll,Linux下文件名为lilbobk.so,如果测试时环境上有其他厂商的客户端,建议先卸载掉,然后使用find命令查询库文件,如果还存在,就将该文件重命名参考命令:find / -name orasbt.so2.1.3、数据库位数备份客户端时选择客户端的位数已Oracle数据库的位数为标准,最简单的检查数据库位数的方法就是在登录时查看输出信息,如下图,如标记有64bit则为64位数据库,如有没有则为32位数据库使用命令select * from v$version;查看,如下图:2.2、监听配置2.2.1、监听配置监听文件模板如下:listener.oratnsnames.ora参考命令:lsnrctl stop(停止监听),lsnrctl start(启动监听)监听文件位置:$ORACLE_HOME/NETWORK/admin/监听配置完成后,实例不管是打开还是关闭状态,使用sqlplus "sys/eisoo@racdb as sysdba"都能够直接登录(sys/eisoo为实例用户名和密码,racdb为实例名,根据实际情况修改)2.3、归档路径修改2.3.1、查询归档模式使用命令archive log list;查看归档模式,如下图:2.3.2、开启归档模式●shutdown immediate;首先关闭数据库,●startup mount;将数据启动到mount状态,●alter database archivelog;打开数据库的归档模式,●alter database open;将数据库的状态修改为打开状态具体操作如下图2.3.3、指定归档路径执行命令alter system set log_archive_dest_1='location=/u01' scope =both;(黄色部分为指定路径)例:三、操作说明3.1、Oracle备份文档前面章节的环境检查完成后即可正常备份,不会出现问题3.2、Oracle恢复3.2.1、原机恢复1.恢复时数据库状态:●监听必须是启动状态●数据库处于mount状态3.2.2、异机恢复1.异机恢复的环境要求:●数据库版本和位数必须一致查询出来的数据库实例名必须一致参考命令:select instance_name,status from v$instance;●实例的用户名密码必须一致3.2.3、单表恢复1.单表恢复的环境要求:●Linux单表恢复,客户端进程属主必须为Oracle安装用户,具体操作如下执行命令/etc/init.d/AnyBackupclientserver stop执行命令su - Oracle执行命令/etc/init.d/ AnyBackupclientserver start●指定的临时库的存放路径需要是Oracle用户所属的,且该目录必须为空目录●删除临时数据库需要删除2个位置:1、直接删除临时路径下的数据注:临时库路径为单表恢复时指定的路径2、停止监听后删除监听文件中的记录3.2.4、高级恢复注:恢复完数据文件,控制文件和参数文件后都需要做后续处理才能将数据库启动到open 状态,详细后续处理请见下面内容。
oraclerac和备份方案

oraclerac和备份方案第一篇:oracle rac和备份方案ORACLE RAC及备份方案ORACLE RAC 简介:ORACLE RAC集群是实现多机共享数据库,以保证应用的高可用性。
同时可以自动实现并行处理及均分负载,还能实现数据库在故障时的容错和无断点恢复。
集群内部的所有服务器共享存储,所有服务器都接入公共网络,通过集群唯一的别名对外形成逻辑上单一的数据库提供服务,对内实现集群数据库的高可用性、节点间的负载均衡和Failover(失败切换)。
逻辑结构:集群纵向看是由存储、数据库集群、应用集群三部分组成,横向来看,是由多台应用服务器、数据库服务器和存储设备组成。
Intelnet应用集群应用服务器1应用服务器2应用服务器NORACLE RAC集群SCANRAC节点2心跳RAC节点1存储数据存储数据物理结构:RAC物理结构图。
应用集群应用服务器应用服务器Intelnet交换机ORACLE RAC集群RAC节点1存储RAC节点2优势:高可用性:RAC 为数据中心的高可用性奠定了基础。
它也是 Oracle 最高可用性架构不可或缺的一部分,为实现数据中心的最高可用性提供了最佳实践。
RAC 还为高可用性数据管理提供了以下至关重要的关键特性:可靠性:Oracle 数据库以其可靠性而著称。
RAC Clusters 消除了数据库服务器单点故障问题,从而使可靠性更上一层楼。
如果一个实例发生故障,服务器池中的其余实例仍将保持运行状态。
Oracle Clusterware 可监视所有 Oracle 进程,并能立即重启任何生故障的组件。
恢复能力:Oracle 数据库包含的许多特性有助于数据库轻松地从各类故障中恢复。
如果Oracle RAC 数据库中的一个实例出现故障,服务器池中的另外一个实例将察觉到这一故障,随后自动进行故障恢复。
利用快速应用程序通知(FAN)、快速连接故障切换(FCF)和透明应用程序故障切换(TAF)这三个功能,应用程序可以轻松地掩藏组件故障,使用户无法察觉。
管理RAC环境中的数据备份和恢复

管理RAC环境中的数据备份和恢复2010年04月09日 13:33 来源:书童的博客作者:书童编辑:晓熊评论:0条本文Tag: Oracle数据库恢复 Oracle RAC Oracle数据库备份 Oracle数据库管理【技术开发技术文章】尽管RAC提供了避免或是减少宕机时间的方法,但是仍需要对database自身进行保护,在RAC中,database是被所有Instances共享的。
这意味着需要为cluster database设计合适的备份恢复策略,就向在普通环境中一样。
为了最小化由于disk failure造成的data丢失,常会使用disk镜像技术。
例如设置database为归档模式,并对disks进行三个备份。
对此可以移除一个镜像副本用于执行备份操作,而剩下两个仍然保持镜像副本,从而保证在线磁盘的活动。
为了正确实现这些操作,可能需要先将这些tablespaces设置为backup模式,随后,如果需要,暂时的将disk操作halt,具体使用命令ALTER SYSTEM SUSPEND。
当命令完成,可重新恢复原来的操作,通过命名ALTER SYSTEM RESUME,并将tablespaces从新设置为非backup模式。
在这里使用EM对备份恢复的设置我就不讲了。
1、初始化归档要开启cluster的归档模式,必须通过一个专有Instance让database处于mounted但尚未open的状态。
如果使用的是spfile,必须先为该Instance创建特定SID实体,另外,创建一个特殊目的的文本参数文件,在该文件中,必须为这个专用Instance设置下面的几个参数:* CLUSTER_DATABASE:设置为FALSE* LOG_ARCHIVE_DEST_n:根据具体的归档策略,设置* LOG_ARCHIVE_FOMAT:包含%t或%T和%R参数用于区分thread* LOG_ARCHIVE_START设置为TRUE具体的详细步骤如下:①关闭运行中的数据库# su – oracle$sqlplus /nologsql>connect /as sysdbasql>shutdown immediate②导出现有数据库的spfile文件如果没有spfile,可以先创建spfilesql>create spfile from pfile;然后导出spfilesql>create pfile=’/oracle/pfile.ora’ from spfile; //将pfile创建到/oracle目录下③修改/oracle/pfile.ora文件更改cluster_database参数为false。
7备份与恢复基础之七 - ORACLE 备份与恢复最佳实践

Categories of Failures
Possible User Errors
SQL> DROP TABLE employees; SQL> TRUNCATE TABLE employees;
SQL> DELETE FROM employees; SQL> COMMIT; SQL> UPDATE employees 2> SET salary = salary * 1.5; SQL> COMMIT;
Categorier Process Failures
The PMON process detects an abnormally terminated user process PMON rolls back the transaction and releases any resources and locks being held by it
Resetlogs 与 Noresetlogs; 每一次resetlogs动作都会创建一个新的incarnation; Incarnation:是一个数据库 的逻辑生存周期;可以理解为一个数据库完整的连续 性的一个时间段。 RMAN> list incarnation; List of Database Incarnations DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time ------- ------- -------- ---------------- --- ---------- ---------1 1 GAOYANG 1861650830 PARENT 1 30-AUG-05 2 2 GAOYANG 1861650830 PARENT 534907 20-APR-08 3 3 GAOYANG 1861650830 PARENT 595739 28-APR-08 4 4 GAOYANG 1861650830 PARENT 597382 28-APR-08 5 5 GAOYANG 1861650830 PARENT 643034 02-MAY-08 6 6 GAOYANG 1861650830 PARENT 703715 05-MAY-08 8 8 GAOYANG 1861650830 CURRENT 705148 05-MAY-08 7 7 GAOYANG 1861650830 ORPHAN 705236 05-MAY-08
oracle备份和恢复的操作流程

oracle备份和恢复的操作流程Oracle备份和恢复的操作流程备份和恢复是数据库管理中非常重要的任务,可以保护数据免受丢失或损坏的影响。
在Oracle数据库中,备份和恢复操作有着明确的流程和步骤。
本文将详细介绍Oracle备份和恢复的操作流程。
一、备份操作流程1. 确定备份类型:根据需求和数据重要性,确定采用全备份、增量备份还是差异备份。
全备份是指备份整个数据库,增量备份是指备份自上次备份以来的所有更改,差异备份是指备份自上次全备份以来的所有更改。
2. 选择备份工具:Oracle提供了多种备份工具,如RMAN (Recovery Manager)、Data Pump、Export/Import等。
根据需求选择合适的备份工具。
3. 设置备份策略:根据业务需求和数据增长情况,设置备份策略,包括备份频率、保留周期、备份存储位置等。
备份策略应该根据实际情况制定,以充分保护数据并节约存储空间。
4. 执行备份命令:根据选择的备份工具和策略,执行相应的备份命令。
比如使用RMAN进行备份,可以使用RMAN命令行工具或者图形化工具执行备份操作。
5. 检查备份状态:备份完成后,需要检查备份状态,确保备份成功并没有错误。
可以查看备份日志或者备份工具提供的状态信息。
二、恢复操作流程1. 确定恢复类型:根据需要,确定采用完全恢复、部分恢复还是点恢复。
完全恢复是指将整个数据库恢复到某个时间点或备份点的状态,部分恢复是指只恢复某些表或数据文件,点恢复是指只恢复某个时间点的数据。
2. 准备恢复环境:恢复操作需要一个独立的环境,可以是一个新的数据库实例或者一个已有的实例。
需要确保恢复环境与原始数据库的版本和配置相同。
3. 恢复备份文件:根据选择的恢复类型,执行相应的恢复命令。
如果是完全恢复,可以使用全备份文件进行恢复;如果是部分恢复,可以使用增量备份或差异备份文件进行恢复。
4. 应用归档日志:如果数据库启用了归档日志模式,需要将归档日志应用到恢复的数据库中,以保证数据的一致性。
AnyBackup Oracle RAC备份与恢复最佳实践

1目录第 1 章 . 概述 (6)1.1.目标读者 (6)1.2.本文档适用范围 (6)1.3.Oracle RAC 数据备份和恢复功能模块简介 (8)第 2 章. Oracle RAC 基础知识简介 (9)2.1. 关键技术原理 (10)2.2. 恢复 (11)第 3 章. Oracle RAC 备份恢复限制性列表 (13)第 4 章. Oracle RAC 备份恢复最佳实践 (15)4.1.Oracle RAC 单实例备份最佳实践 (15)4.1.1.部署前的环境检查 (15)4.1.2.定时备份最佳操作 (17)4.2.Oracle RAC 原机恢复最佳实践 (24)4.2.1.恢复数据库前的检查 (24)4.2.2.恢复具体步骤 (26)4.3.Oracle RAC 异机恢复最佳实践 (28)4.3.1.异机恢复Oracle RAC 的前提条件 (28)4.3.2.Oracle RAC 恢复到异机RAC 步骤 (30)4.3.3.Oracle RAC 恢复到单机步骤 (30)4.4.Oracle RAC 多实例备份恢复最佳实践 (35)4.4.1.多实例备份最佳实践 (35)4.4.2.多实例恢复最佳实践 (35)24.5.FAQ (37)第1章. 概述本文档是爱数备仹容灾家族Oracle RAC 备仹恢复最佳实践文档,主要描述了如何正确地使用爱数备仹容灾家族产品成员迚行Oracle RAC 数据备仹及恢复的方法,包括部署前后的注意事项和典型部署方案。
1.1.目标读者本技术文档面向爱数备仹容灾家族产品成员的用户和相关技术人员,主要介绉数据定旪备仹和恢复基础知识,以及如何正确使用爱数备仹容灾家族产品成员部署 Oracle RAC 数据备仹和恢复。
旨在通过此文档帮劣用户和技术人员快速掌握Oracle RAC 数据备仹和恢复模块使用方法。
1.2.本文档适用范围41.3.Oracle RAC数据备份和恢复功能模块简介6第2章. Oracle RAC 基础知识简介Oracle RACRAC (real application clusters 真正应用集群) 是Oracle9i 数据库以及之后的版本中采用的一项技术,也是Oracle 数据库支持网格计算环境的核心技术。
Oracle-Rac环境Rman备份与恢复

RMAN备份恢复——RAC环境数据库的备份一、RAC环境的备份、恢复和普通数据库的备份、恢复的区别RAC环境的备份、恢复和普通数据库的备份、恢复是有一些区别的。
这个区别主要体现在RAC 环境的特殊性上。
根据Oracle的RAC环境的不同,RMAN备份、恢复操作也是不同的。
如果RAC环境是建立在CLUSTER文件系统上的,或者是建立在ASM上的,那么备份和恢复过程可能会很简单,基本上和普通的数据库环境没有太多的区别。
如果RAC环境是建立在裸设备上的,由于归档日志无法存储在裸设备上,那么归档日志文件必须放在多个节点的本地硬盘上,这时备份和恢复就变得和普通的数据库环境有所差异。
这里先讨论一下ASM环境上建立的RAC数据库的备份。
如果将归档日志放在ASM上,那么两个节点都是可以备份的,这个时候,备份和普通的单实例数据库没有差别。
SQL> SHOW PARAMETER LOG_ARCHIVE_DEST_1NAME TYPE VALUE------------------------------------ ----------- ------------------------------ log_archive_dest_1 string LOCATION=+DISK/testrac/log_archive_dest_10 string$ rman target /恢复管理器: Release 10.2.0. - Production on星期三 4月 25 17:23:01 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库: TESTRAC (DBID=84))RMAN> configure channel device type disk format '/data1/backup/%U';使用目标数据库控制文件替代恢复目录旧的 RMAN配置参数:CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data/backup/testrac/%U';新的 RMAN配置参数:CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/backup/%U';已成功存储新的 RMAN 配置参数RMAN> backup database plus archivelog delete all input;启动 backup于 25-4月-07当前日志已存档分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=312实例=testrac1 devtype=DISK通道 ORA_DISK_1:正在启动存档日志备份集通道ORA_DISK_1:正在指定备份集中的存档日志输入存档日志线程 =1序列 =134记录 ID=220时间戳=8输入存档日志线程 =1序列 =135记录 ID=221时间戳=1输入存档日志线程 =2序列=56记录 ID=219时间戳=1输入存档日志线程 =2序列 =57记录 ID=222时间戳=2通道ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/08ig2nhv_1_1标记=TAGT172413注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:00:07通道 ORA_DISK_1:正在删除存档日志存档日志文件名=+DISK/testrac/记录 ID=220时间戳=8存档日志文件名 =+DISK/testrac/记录 ID=221时间戳=1存档日志文件名 =+DISK/testrac/记录 ID=219时间戳=1存档日志文件名=+DISK/testrac/记录 ID=222时间戳=2完成 backup于 25-4月 -07启动 backup于 25-4月-07使用通道ORA_DISK_1通道 ORA_DISK_1:启动全部数据文件备份集通道 ORA_DISK_1:正在指定备份集中的数据文件输入数据文件fno=00006name=+DISK/testrac/datafile/输入数据文件fno=00007 name=+DISK/testrac/datafile/输入数据文件fno=00009 name=+DISK/testrac/datafile/输入数据文件fno=00011name=+DISK/testrac/datafile/输入数据文件fno=00012 name=+DISK/testrac/datafile/输入数据文件fno=00014 name=+DISK/testrac/datafile/输入数据文件fno=00008name=+DISK/testrac/datafile/输入数据文件fno=00002 name=+DISK/testrac/datafile/输入数据文件fno=00004 name=+DISK/testrac/datafile/输入数据文件fno=00010name=+DISK/testrac/datafile/输入数据文件fno=00013 name=+DISK/testrac/datafile/输入数据文件fno=00001 name=+DISK/testrac/datafile/输入数据文件fno=00003name=+DISK/testrac/datafile/输入数据文件fno=00005 name=+DISK/testrac/datafile/通道 ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/09ig2ni9_1_1标记=TAGT172424注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:15:05通道 ORA_DISK_1:启动全部数据文件备份集通道ORA_DISK_1:正在指定备份集中的数据文件备份集中包括当前控制文件在备份集中包含当前的SPFILE通道 ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于25-4月-07段句柄=/data1/backup/0aig2oej_1_1标记=TAGT172424注释=NONE通道ORA_DISK_1:备份集已完成,经过时间:00:00:03完成 backup于 25-4月 -07启动 backup于 25-4月-07当前日志已存档使用通道ORA_DISK_1通道 ORA_DISK_1:正在启动存档日志备份集通道 ORA_DISK_1:正在指定备份集中的存档日志输入存档日志线程 =1序列 =136记录 ID=223时间戳=6输入存档日志线程 =2序列 =58记录 ID=224时间戳=6通道ORA_DISK_1:正在启动段 1于 25-4月-07通道 ORA_DISK_1:已完成段 1于 25-4月-07段句柄=/data1/backup/0big2oes_1_1标记=TAGT173940注释=NONE通道 ORA_DISK_1:备份集已完成,经过时间:00:00:02通道 ORA_DISK_1:正在删除存档日志存档日志文件名=+DISK/testrac/记录 ID=223时间戳=6存档日志文件名 =+DISK/testrac/记录 ID=224时间戳=6完成 backup于 25-4月 -07数据库的恢复也很简单,先修改一些数据:SQL> CONN TEST/TEST已连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1目录第 1 章 . 概述 (6)1.1.目标读者 (6)1.2.本文档适用范围 (6)1.3.Oracle RAC 数据备份和恢复功能模块简介 (8)第 2 章. Oracle RAC 基础知识简介 (9)2.1. 关键技术原理 (10)2.2. 恢复 (11)第 3 章. Oracle RAC 备份恢复限制性列表 (13)第 4 章. Oracle RAC 备份恢复最佳实践 (15)4.1.Oracle RAC 单实例备份最佳实践 (15)4.1.1.部署前的环境检查 (15)4.1.2.定时备份最佳操作 (17)4.2.Oracle RAC 原机恢复最佳实践 (24)4.2.1.恢复数据库前的检查 (24)4.2.2.恢复具体步骤 (26)4.3.Oracle RAC 异机恢复最佳实践 (28)4.3.1.异机恢复Oracle RAC 的前提条件 (28)4.3.2.Oracle RAC 恢复到异机RAC 步骤 (30)4.3.3.Oracle RAC 恢复到单机步骤 (30)4.4.Oracle RAC 多实例备份恢复最佳实践 (35)4.4.1.多实例备份最佳实践 (35)4.4.2.多实例恢复最佳实践 (35)24.5.FAQ (37)第1章. 概述本文档是爱数备仹容灾家族Oracle RAC 备仹恢复最佳实践文档,主要描述了如何正确地使用爱数备仹容灾家族产品成员迚行Oracle RAC 数据备仹及恢复的方法,包括部署前后的注意事项和典型部署方案。
1.1.目标读者本技术文档面向爱数备仹容灾家族产品成员的用户和相关技术人员,主要介绉数据定旪备仹和恢复基础知识,以及如何正确使用爱数备仹容灾家族产品成员部署 Oracle RAC 数据备仹和恢复。
旨在通过此文档帮劣用户和技术人员快速掌握Oracle RAC 数据备仹和恢复模块使用方法。
1.2.本文档适用范围41.3.Oracle RAC数据备份和恢复功能模块简介6第2章. Oracle RAC 基础知识简介Oracle RACRAC (real application clusters 真正应用集群) 是Oracle9i 数据库以及之后的版本中采用的一项技术,也是Oracle 数据库支持网格计算环境的核心技术。
它的出现解决了传统数据库应用中面临的一个重要问题:高性能、高可伸缩性不低价格之间的矛盾!Oracle Real Application Clusters (RAC)可以支持 24 x 7 有敁的数据库应用系统,您可以在由低成本的服务器构成的高可用性系统上自由部署您的应用,而无需修改您的应用程序。
已绊有超过 4200 个用户从中受益。
现在 Oracle 在 10g RAC 中更提供免费的集群软件和存储管理软件,为您降低应用成本。
高可用性Oracle Real Application Clusters 提供一个高性能低成本的应用平台,支持所有类型的应用系统,无论是事务处理型应用还是分析型应用。
所有应用共享同样的服务器和存储资源。
出现仸何的服务器戒磁盘敀障,系统会自劢重新接管发生敀障的功能。
这些对前端用户是完全不透明的。
同样,如果您需要增加服务器戒改变其他组件的配置也不会影响到前段的应用系统。
高性能Oracle Real Application Clusters 保持着 TPC-C 的记彔,达到每分钟 118 万个事务的处理能力,和仁仁 $5.52 每tpmC 的成本。
在 3,000 GB 的 TPC-H 数据仓库Benchmark 测试中, Oracle RAC 同样保持性价比的领先地位,保证我们的用户能够达到更好更快的ROI。
这仁仁是Oracle 保持的多项 Benchmark 记彔中的最近的一些指标。
Oracle RAC 数据库物理绌构简介(1)数据文件每一个Oracle RAC 数据库有一个戒多个物理的数据文件(data file)。
一个数据库的数据文件包含全部数据库数据。
逡辑数据库绌构(如表、索引)的数据物理地址存放在数据库的数据文件中,RAC 的数据文件一般存放在共享磁盘中。
(2)日志文件每一个数据库有两个戒多个日志文件(redo log file)的组,每一个日志文件组用亍收集数据库日志。
日志的主要功能是记彔对数据所作的修改,所以对数据库作的全部修改是记彔在日志中。
(3)控制文件每一Oracle RAC 数据库,控制文件(control file)是所有节点共享的,存放在共享磁盘中,它记彔数据库的物理绌构。
Oracle RAC 绌构图2.1.关键技术原理1.备份类型:完全备仹:备仹数据库整个数据文件,由亍会对整个数据文件迚行数据备仹,所以耗旪比较长,会占用较多的备仹空间。
增量备仹:备仹自上次完全备仹戒增量备仹以来数据文件产生变化的部分和全部的日志文件,由亍仁在上一次完全备仹以来数据文件变化的部分迚行数据备仹,所以耗旪少,占用的备仹空间小。
事务日志备仹:备仹数据库的归档日志。
由亍控制文件旪非常的重要,所以不管是什么类型的备仹,都会备仹控制文件。
2.备份恢复的具体实现◆完全备仹以二节点的 RAC 环境为例,其备仹脚本模型如下:Node1:run {allocate channel xxxx device type sbt;backup incremental level 0 database...;release channel xxxx;8}run {allocate channel xxxx1 device type sbt connect sys/test@testrac1;allocate channel xxxx2 device type sbt connect sys/test@testrac2;backup archivelog all...;release channel xxxx1;release channel xxxx2;}run {allocate channel xxxx device type sbt;backup current controlfile...;release channel xxxx;}◆增量备仹增量备仹的脚本模型跟完全备仹类型差不多,叧是在备仹数据文件的旪候把incremental level0 改成 incremental level1 就可以了。
◆事务日志备仹Node1:run {allocate channel xxxx1 device type sbt connect sys/test@testrac1;allocate channel xxxx2 device type sbt connect sys/test@testrac2;backup archivelog all...;release channel xxxx1;release channel xxxx2;}run {allocate channel xxxx device type sbt;backup current controlfile...;release channel xxxx;}2.2.恢复◆最后一致性恢复$ rman target /$ srvctl stop db -d testracrun {allocate channel d1 device type sbt connect sys/test@testrac1;allocate channel d2 device type sbt connect sys/test@testrac2;restore current controlfilexxxxxx;svrctl start inst -d testrac testrac1 -o mount;svrctl start inst -d testrac testrac2 -o mount;restore database;restore archivelog sequence between a1 and a2 thread1 archivelog sequence between b1 and b2 thread2;recover database;srvctl start database -d testrac;}◆旪间点恢复$ rman target /$ srvctl stop db -d testracrun {allocate channel d1 device type sbt connect sys/test@testrac1;allocate channel d2 device type sbt connect sys/test@testrac2;restore current controlfilexxxxxx;svrctl start inst -d testrac testrac1 -o mount;svrctl start inst -d testrac testrac2 -o mount;set until time "TO_DATE('month/day/year hour:minute:second','MM/DD/YYYY HH24:MI:SS')";restore database;restore archivelog sequence between a1 and a2 thread1 archivelog sequence between b1 and b2 thread2;recover database;srvctl start database -d testrac;}以上是 Oracle RAC 的脚本模型,根据脚本就知道sbt 库 Oracle 调用接口的顺序,再组织代码实现客户端不Oracle 的数据交亏。
10第3章. Oracle RAC 备份恢复限制性列表1.Oracle RAC 的备仹数据暂不支持恢复到裸设备存储的 Oracle 单机环境,仁支持恢复到ASM 存储和文件系统的Oracle 单机环境。
2.Oracle RAC 仁支持 ASM 存储和裸设备存储的 RAC 环境。
3.支持一个仸务中备仹多个 Oracle RAC 实例,每一个Oracle RAC 实例都需要单独建立一个备仹仸务迚行备仹。
4.Oracle RAC 多实例环境的恢复,恢复之前请将 Oracle 的.profile 文件中的Oracle_SID 定义为想要恢复的 Oracle_SID,再以 Oracle 用户重启客户端后 echo $Oracle_SID 确认输出的SID 为要进行恢复的SID 后,再进行恢复操作,否则会造成恢复到另一个实例造成环境损坏的风险,切记。