数腾Oracle备份和恢复手册 下载本文

上海数腾软件科技有限公司

数腾服务器备份软件

Oracle备份与恢复手册

研发部 李孝进

Email:process@oceanbackup.com

2010/05/03

注:数腾公司电子文档通常为pdf文档,自带书签功能,方便快速查阅。

目录

介绍.............................................................................................................................................................................. 3 基本原理 ...................................................................................................................................................................... 3 客户端的配置 .............................................................................................................................................................. 0

Windows环境下客户端的配置 ......................................................................................................................... 0 Linux环境下客户端的配置 ................................................................................................................................ 2 客户端的启动与停止 .................................................................................................................................................. 3

Windows下客户端的启动与停止 ..................................................................................................................... 3 Linux下客户端的启动与停止 ............................................................................................................................ 3 实用操作指南之备份 .................................................................................................................................................. 4

Oracle环境配置要求 .......................................................................................................................................... 4

创建Oracle账户 ......................................................................................................................................... 4 判断是否为归档日志模式 .......................................................................................................................... 4 备份模式 .............................................................................................................................................................. 6

冷备份 .......................................................................................................................................................... 6 热备份 .......................................................................................................................................................... 8

实用操作指南之恢复 ................................................................................................................................................ 17

本机恢复 ............................................................................................................................................................ 18

恢复演练 .................................................................................................................................................... 18 异机恢复 ............................................................................................................................................................ 19

基于冷备份的异机恢复 ............................................................................................................................ 19 基于热备份的异机恢复 ............................................................................................................................ 21 灾难备份与恢复 ................................................................................................................................................ 26

备份的内容 ................................................................................................................................................ 26 备份的策略与流程 .................................................................................................................................... 27 执行灾难恢复 ............................................................................................................................................ 27

介绍

随着数据库的广泛使用,随之而来的数据安全隐患也越来越多,数据丢失产生的后果也越来越严重。本文文档以数腾备份软件3.0为例,介绍数腾软件科技有限公司提供的Oracle数据库的数据保护功能。

基本原理

(1)数据文件

每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地址存储在数据库的数据文件中。 (2)日志文件

每一个数据库有两个或多个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。 (3)控制文件

每一个Oracle数据库有一个控制文件(control file),它记录数据库的物理结构。

数腾备份软件-备份恢复Oracle数据库原理

数腾备份软件含有客户端与WEB 控制台两部分,管理员可在WEB控制页面上下载一个客户端安装在运行Oracle数据库的机器上,这样便可以执行备份与恢复的任务。

备份过程 操作人员在控制台界面上选择需要备份的数据库内容,控制台依据此内容生成备份的rman脚本并发送给客户端,客户端建立与数据库的连接并执行此rman脚本,之后oracle数据库调用介质管理库,将备份的信息,包括备份文件名、数据内容等发送到管道内,客户端读取管道内容,并发送给控制台,控制台接收到数据后进行存储。

恢复过程 操作人员选择需要恢复的数据库文件,控制台依据此内容得到恢复的rman脚本并发送给客户端,客户端建立与数据库的连接并执行此脚本,之后Oracle数据库调用介质管理库,等待管道内容,控制台上读取存储的内容并将其发送给客户端,客户端获取此内容并发送到管道,Oracle数据库获取管道内容并进行恢复。

数腾备份软件提供的Oracle数据库备份类型简介: 1.按备份方式

冷备份 Oracle数据库的冷备份,即在Oracle数据库服务停止的情况下,对组成整个Oracle数据库所包含的文件(控制文件、数据文件、在线日志文件)进行文件级别的备份。这种方式一般用于配合操作系统备份,来对整合业务系统做灾难备份和恢复用。典型情况是业务系统的灾难恢复和和数据库的迁移等。

热备份 所谓热备份,即在数据库正常使用状态下的备份,与冷备份不同的是,热备份不需要停止数据库服务,所以在备份时不影响数据库的使用。热备份一般用于业务系统不能停机时的备份。 2.热备份中按备份内容

数据库备份 数据库备份会对数据库所有的数据文件,以及控制文件进行备份。 事务日志备份 备份数据库的归档日志。

表空间备份 备份用户选择的数据库的表空间对应的数据文件,以及控制文件。 3.热备份中按备份类型

完全备份 备份数据库整个数据文件,由于会对整个数据文件进行数据迁移,所以耗时比较长,会占用较多的备份空间。

增量备份 备份自上次完全备份或增量备份以来数据文件产生变化的部分,由于仅在上一次完全备份以来数据文件变化的部分进行数据迁移,所以耗时少,占用的备份空间小。

数腾备份软件功能简介:

功能 描述

备份类型 数据库完全备份、增量备份和归档日志备份 循环备份 三种备份类型相结合的循环 是否支持控制文件备份 支持备份和恢复

归档日志删除策略 备份后归档日志可自动清理 单客户端多ORACLE数据库 支持 单任务客户端ORACLE数据库 支持 恢复方式 浏览恢复

恢复位置 恢复到原位置或其他装有ORACLE客户端机器 恢复粒度 服务器、整个数据库、表空间 异机恢复 支持

归档日志重做 支持重做到指定时间点最新状态 灾难恢复 支持ORACLE数据库灾难恢复

客户端的配置

Windows环境下客户端的配置

1. 安装完客户端后打开客户端配置,设置服务器信息和ORACLE登陆信息,如下图所示:

Linux环境下客户端的配置

客户端安装

以root账户登录,上传Client-for-Backup.tar.gz到工作目录,然后解压,如下图:

如果先前已经安装过数腾软件LINUX客户端的话,请先卸载,然后再安装,卸载时只需要运行刚才解压过的目录下的卸载脚本即可,如下图所示:

如果是安装的话,也只需要执行安装脚本即可成功安装,如下图:

配置操作系统软件环境: 1.设置管理平台的配置文件信息

找到bin目录下的serverinfo.ini,LocalInfo.ini配置文件,做如下图的操作:

2.检查运行时产生的日志

打开一个终端,然后输入下列命令: cat /var/log/saltfish-client.log

查看日志内容信息可判断配置是否正确及是否能够正常使用数腾软件。例如:成功时,可以看到如下图部分信息:

如果看到画上圈的成功标志的话,那就表面配置是正确的。

客户端的启动与停止

Windows下客户端的启动与停止

打开启动终端服务,然后再启动备份代理,如下图所示:

Linux下客户端的启动与停止

客户端的启动

终端程序是服务程序,需用管理员帐户或者root帐号登录并启动;具体方法:

[root@localhost bin]# /etc/init.d/agent start,这样的话,即把客户端程序启动起来了。

客户端的停止

客户端的停止其实和启动是相反的过程,只需要在终端输入停止命令即可停止客户端的程序,命令如下: [root@localhost bin]# /etc/init.d/agent stop。

实用操作指南之备份

Oracle环境配置要求

创建Oracle账户

必须存在具有适当数据库权限的用户帐户。数腾备份软件才能访问ORACLE数据库。您可以使用具有所需权限的现有用户帐户,或者创建具有所需权限的新用户帐户。

若要创建专门用于数腾备份软件的ORACLE用户帐户,请使用ORACLE应用程序中的SQL*PLUS创建相应帐户,具体步骤如下:若操作系统为windows的话,则开始->运行->输入 sqlplus \(表示默认以 sys用户为系统管理员进入SQL*PLUS应用程序),若操作系统为linux,则直接打开终端,然后输入[root@localhost bin]# sqlplus \,进入sqlplus程序。在oracle数据库打开状态(数据库安装好了,默认是打开状态的)下输入创建命令,语法如下:sql>create user username identified by password;

sql>grant dba to username;(范例: create user test1 identified by test1; grant dba to test1; )

判断是否为归档日志模式

在设置归档之前请用户先做Oracle的监听配置: 具体步骤如下:(windows:以oracle9i为例) 1、方法如图1-1中所示,打开net manager应用程序

图1-1

2.配置->本地->监听程序->LISTENER->数据库服务

3.添加数据库,全局数据库,SID为数据库名,ORACLE主目录为安装目录。 4.单击文件---保存网络配置。 如下图1-2示:

图1-2

配置完成后,请再检查下相关的服务是否启动(应设为启动)如下图1-3所示:

若是linux平台,则在顺利安装好ORACLE数据库后,以oracle用户登录后,一般只需要启动两个服务就可以正常使用ORACLE数据库了,一个监听服务,另一个是管理控制台控制台服务,如若两个服务都均已启动,则直接就可正常使用ORACLE数据库了,否则首先必须得启动监听服务,终端命令为: [oracle@localhost bin]# lsnrctl start,若要停止监听服务的话,相应的命令为: [oracle@localhost bin]#lsnrctl stop.

再启动管理控制台:[oracle@localhost bin]#emctl start dbconsole, 停止管理控制台:[oraclet@localhost bin]#emctl stop dbconsole。

打开sql*plus应用程序,检验数据库是否处于归档模式下,具体步骤如下:

(windows系统)开始->运行->输入 sqlplus \(表示默认以 sys用户为系统管理员进入SQL*PLUS应用程序),(linux系统)直接打开终端输入[root@localhost bin]# sqlplus \/ as sysdba\命令进入sqlplus程序。在数据库为打开状态((数据库安装好了,默认是打开状态的)下输入sql>archive log list或sql>select log_mode from v$database,结果为非存档模式(NOARCHIVELOG)。

由于以下命令方法是一样,不分平台性的差异,故以下显示结果均以windows平台来显示,结构如下图1-4所示。

图1-4

若显示结果为非存档模式或NOARCHIVELOG的话,则可以通过以下步骤设置:1.sql>shutdown immediate; 2.sql>startup mount;3. sql>alter database archivelog 这样即可设置为存档模式(ARCHIVELOG)。 然后再sql>下输入archive log list或select log_mode from v$database检验是否为存档模式或ARCHIVELOG模式,结果如图1-4所示。

若数据库为非打开状态,可通过下列步骤让数据库处于打开状态: sql>shutdown immediate->startup; 要启用“自动归档”。键入以下命令:

Sql>alter system set log_archive_start=true scope=spfile; 重启Oracle数据库 Shutdown immediate; Startup mount;

Alter database open;

提示:随着时间的推移,Oracle产生的归档日志会越来越多,若磁盘空间被日志占满,则Oracle数据库将自动停止。所以建议在Oracle备份任务的选项中,将归档日志设置为保留7天和备份2次后删除,以保证磁盘空间的循环利用。

备份模式

冷备份

冷备份的前提(1)对Oracle组成文件进行文件级的备份时,为了保证数据的完整性,要求Oracle数据库必须关闭.

冷备份的内容(1)原Oracle数据库的参数文件,为了简化操作,我们直接备份整个Oracle的安装目录,此时若数据库文件也在这个目录下,那将会一并备份。

(2)Oracle数据库的组成文件(控制文件、数据文件、在线日志文件)。 备份步骤

1.确认数据库组成:确认Oracle的数据库组成文件的所在路径,我们需要确认组成这个数据库的所有文件的路径,包括控制文件、数据文件、在线日志的文件。对数据库的备份时,我们需要备份所有的这些文件,一个都不能遗漏。此时,我们可以通过在sqlplus工具中查询这些文件所在的路径。如图:登陆sqlplus并查询数据库名和数据文件所在路径的命令和结果如图:

查询数据库名:select name from v$database; 查询数据文件路径: select name from v$datafile;

查询控制文件所在的路径,如图:

查询控制文件路径命令:select name from v$controlfile;

查询在线日志文件所在的路径,如图:

查询在线日志文件所在的路径命令:select member from v$logfile;

2.停止服务器。确认好所有这些文件所在的路径后,停止Oracle数据库服务。此时有两种方式可以达到目标。一种是在sqlplus中运行 shutdown immediate; 命令。另一种是在windows服务器的服务管理里面停止Oracle的服务。停止服务时,请确保此数据库已经没有被前端应用程序所使用。一般,我们可以在下班时间完成此操作。

3.备份。 通过在数腾备份软件中新建一个文件备份任务,备份此服务器上的Oracle的安装目录和Oracle数据库的组成文件。如图:此时,该任务选择了Oracle的安装目录D:\\oracle以及数据库所在目录 D:\\oracle\\product\\10.1.0\\oradata\\data123。备份这些文件,即把1.3种所提及的数据库和安装目录完

整的备份下来了。如图:

4、启动数据库服务。完全备份完成后,启动Oracle数据库服务,以保证原数据库恢复正常。对应的,可以通过在sqlplus种启动startup;命令,并在windows的服务管理中启动服务。

热备份

1.建立备份任务与计划

(1).选择需要备份的Oracle数据。

以管理员身份登陆管理控制台,进入[备份]管理列表,选择左边的备份设备列表的安装客户端的终端,在控制页面上我们即可以选择以某种设备名称显示终端信息,如按机器名、按IP地址、按绑定帐户、按设备描述显示等方式,如下图2所示:

图2

选中某一终端后单击【创建任务】按钮,再点【数据库备份】->【Oracle数据库备份】出现如图3所示画面,

图3

在此,我们可以进行备份信息的设置,也可以进行存储策略和备份集信息的配置,若保持默认,我们可以进行下一步,则出现一个登陆画面,如图4所示,登陆后,我们可以选择整个数据库备份、单个表空间或是多个表空间同时备份,如图5所示:选择完成后单击保存即可,然后选择刚才保存的任务名,右键单击 选择备份类型,开始备份,直到备份结束,如下图6所示:

图4

图5

图6 2. 设置备份策略信息 (1)创建策略

单击进入[策略]管理列表,选择创建策略, (2)备份控制

图7

(3)保存策略

(4)设置备份类型,可选择0级备份(相当于完全备份),1级增量备份和归档日志备份。此外还可以设置归档日志的相关控制。

(5)计划配置

3. 最佳备份策略

为了更好的保护您的Oracle服务器,我们提供最佳备份策略,建议实施人员根据实际 情况设置。策略如下:

1.对于生产数据库,每周做一次完全备份,每天做一次增量备份,完全备份可选在周末 进行,增量备份选择晚上进行。

2.若数据库数据不多或空间允许,可以每周做两次完全备份,视用户的环境而定。

3.可保留一个月的数据库,即保留4个完全备份副本,如果用户需要保留更长时间的数据,那么可以将之前的备份集同步到二级介质上长期保存。 下面是一个参考备份策略。

周日:数据库完全备份,事务日志备份,冷备份。 周一:数据库1级增量备份,早晚各一次 周二:数据库1级增量备份,早晚各一次 周三:数据库1级增量备份,早晚各一次 周四:数据库1级增量备份,早晚各一次 周五:数据库1级增量备份,早晚各一次 周六:数据库1级增量备份,早晚各一次

以下是各种特殊情况下数据库备份的参考策略:

1.用户数据库 应用非常频繁:最多能容忍半小时或者10几分钟的数据丢失。

数据库应用非常频繁,建议加大完全备份不增量备份的频率,可以每两天或每一天进行一次数据库的完全备份与冷备份,每天内每间隔半小时进行一次数据库的增量备份,每周进行一次或多次的事务日志备份。 2.用户数据库 非常大.

由于数据库非常大,所以整个数据库的完全备份会消耗大量的备份文件存储空间,不宜频繁进行数据库的完全备份,建议每周进行一次完全备份与冷备份即可,每天进行一次或多次增量备份,每周进行一次或多次事务日志备份。

3.用户数据库内容非常重要

若用户的数据库文件非常重要,可能数据库需要经常恢复到某个时间点,此时要加大数据库的日志备份频度,建议每周进行一次数据库的完全备份与冷备份,每天进行不少于两次的数据库增量备份,每两天或每天进行一次数据库的事务日志备份,并在备份策略中进行设置,保留事务日志的多个副本。

实用操作指南之恢复

本章介绍使用数腾备份软件进行Oracle数据库恢复时的步骤以及注意事项,包括三部分:本机恢复、异机恢复以及灾难恢复。本机恢复中包括物理删除数据文件或控制文件的恢复,逻辑删除表空间以及表的恢复,删除所有数据文件、控制文件与归档日志时的恢复。异机恢复包括基于冷备份的异机恢复、基于热备份的异机恢复。最后简要介绍了灾难备份与恢复。

本机恢复

概念简介

一致性恢复 在还原数据库后,数据库会尽量重做自此次备份后的归档日志文件,恢复到数据库自备份后到出现错误前的一致性状态。

时间点恢复 还原数据库后,数据库会依据选择的时间点前滚或者重做自此次备份后的归档日志文件,将数

据库恢复到当前时间前的某一个时间点的状态。

本机恢复

恢复演练

1.1.误删表(时间2010-8-17)

(1) 10:03 创建表saltfish,插入数据5条 (2) 10:05 完全备份

(3) 10:12 删除表saltfish

(4) 10:14 开始恢复,选择控制文件,时间点选择 10:07 恢复成功,表saltfish中的数据是5条

(5) 10:21 开始恢复,选择控制文件恢复,时间点选择 10:13 恢复成功,表saltfish不存在

1.2.误删表空间(时间 2010-8-17)

(1) 11:59 创建表空间 test,对应数据文件 test.dbf,大小10M (2) 12:05在表空间test上创建表 saltfish,插入10条数据 (3) 12:06进行数据库的完全备份,

(4) 12:10逻辑删除表空间,使用drop tablespace test including contents and datafiles; (5) 12:20恢复控制文件,选择时间点恢复,时间点是12:07,恢复成功,表空间 test存在,并且saltfish表也存在。

对于备份数据不在同一个incarnation(实体)的数据备份,需要选择控制文件的时间点恢复,那个时间点要选择需要的时间点。如果先做控制文件的一致性恢复,然后再做数据文件的时间点恢复时,会出现选择的时间点在resetlogs time之前的错误 1.3.误删某个数据文件(时间 2010-8-17)

(1) 14:31 创建表空间TTT,对应数据文件 TTT.dbf,大小10M (2) 14:33 在表空间TTT上创建表kkk,插入10条数据 (3) 14:34 进行数据库的完全备份 (4) 14:36 删除数据文件 (5) 14:38 进行恢复

选择控制文件进行恢复,时间点为14:35,恢复完成后,数据文件TTT.dbf被恢复出来,且表kkk上存在10条以前插入的数据

1.4.误删控制文件(时间2010-8-17) (1) 14:47 进行数据库的完全备份

(2) 14:50 关闭数据库,删除所有的控制文件

(3) 14:52 启动数据库到nomount状态,进行恢复,选择控制文件,并选择一致性恢复,恢复成功,控制文件全部恢复出来

1.5.误删在线日志(时间2010-8-17) (1) 15:12进行数据库的完全备份

(2) 15:14关闭数据库,删除在线日志 (3) 15:18启动数据库到mount状态,进行恢复,选择控制文件进行恢复,选择时间点恢复,时间点为15:13,恢复完成后,登陆数据库,使用alter database open resetlogs的方式打开数据 6.所有数据文件丢失(时间2010-8-17) (1) 15:23 进行数据库的完全备份

(2) 15:24 关闭数据库,删除数据文件、控制文件、在线日志文件

(3) 启动数据库到nomount状态,先恢复控制文件,然后恢复数据文件,都选择数据库最后一致性状态恢复,恢复完成后,使用alter database open resetlogs的方式打开数据库。

异机恢复

基于冷备份的异机恢复

恢复前提

(1).需要对源数据库进行冷备份,可参考前面使用数腾软件对ORACLE进行冷备份的方法。 (2).待恢复的目标机器需要先安装上Oracle数据库程序并创建一个同名数据库。 (3).Oracle的安装目录和数据库的存放目录需要与原数据库保持一致。 (4).恢复到新服务器时,要保证新服务器的Oracle数据库服务时停止状态。 恢复步骤

(1).我们需要把Oracle数据库恢复到新的服务器。恢复之前,需保证停止目标服务器的所有的Oracle数据库服务(以Oracle开头)。如图:

(2)进入数腾备份软件恢复界面,选择上面备份的任务,选择恢复到新的目标服务器,如

(3).恢复完成后,更改Oracle中网络配置参数,对应的文件是Oracle目录下的network\\admin目录下的listener.ora和tnsnames.ora文件。主要是将host后面对应的原机器名改为新的机器名或对应的IP地址。

(4).数据修改完后,重新启动服务器。然后检查Oracle数据库服务是否启动正常。数据库的冷备份和恢复过程就完成了。

基于热备份的异机恢复

异机恢复前提

(1) 以system用户创建备份任务进行源数据库的备份。

(1) 创建与源数据库相同版本,并创建相同数据库名(ORACLE_SID),相同sys用户密码的数据库,并确认数据库文件所在的逻辑驱劢器有足够的空间容纳源数据库的数据文件。 (2) Oracle的安装目录和数据库的存放目录需要与原数据库保持一致。 (3) 需要备份的内容

1). 对原Oracle数据库进行在线完全备份.

登陆数腾备份软件WEB管理页面,先对Oracle数据库做在线备份,如图

2). 建立文件备份任务,备份原Oracle数据库的参数文件,为了简化操作,我们直接备份整个Oracle的安装目录,此时若数据库文件也在这个目录下,可以将这些文件排除,如图

详细恢复步骤

1.异机恢复参数文件

恢复的顺序是首先恢复Oracle的参数文件,然后恢复Oracle数据库。恢复时,可以恢复整个目录,也可以叧恢复一些参数文件,在此我们以恢复部分参数文件为例。必须恢复的参数文件有:

D:\\Oracle_Disk_SBT_Catalog (此文件路径为默认生成时的路径,不同的安装环境,此路径不同)

另外若数据库的一些详细参数配置不一致(一般情况下配置都相同),还需要恢复database目录、dbs目录、以及oracle安装目录的admin目录。如图:

将这些目录和文件恢复到目标服务器的对应目录下。 或是直接恢复以下四个具体的文件。

D:\\oracle\\admin\\datasos\\pfile\\init.ora、D:\\oracle\\ora10.2.1\\database\\initdatasos.ora、 D:\\oracle\\ora10.2.1\\network\\ADMIN\\tnsnames.ora、

D:\\oracle\\ora10.2.1\\network\\ADMIN\\listener.ora。 2.删除目标数据库的所有数据文件

参数文件恢复完成后,我们需要将目标服务器上的Oracle数据库数据文件全部删除(即 组成这个数据库的控制文件、日志文件、数据文件)。

具体方法是在sqlplus中查询数据库的数据文件、控制文件以及在线日志的路径,然后关闭数据库后,最后在操作系统中删除相关文件

(1)在sqlplus中输入以下命令查询数据库的数据文件信息,可知所有的待删除文件都在同一个目录

(2)关闭数据库

(3)在操作系统中删除相关文件

3.开始恢复

进入数腾备份软件恢复界面,选择Oracle数据库在线备份任务的控制文件时间点恢复,如图:

最后点击完成,即可开始进行恢复。

灾难备份与恢复

Oracle数据库的异机恢复涉及到数据库本身和参数文件的恢复,而Oracle数据库的灾难备份与恢复还会涉及到操作系统的备份与恢复。也即,我们通过一定的备份方案,可以防止整个服务器彻底破坏的情况。

备份的内容

灾难备份的内容,包括服务器操作系统、Oracle的应用程序目录、以及Oracle数据库。

备份的策略与流程

操作系统可以每周或每月备份一次;应用程序每月完全备份,每日增量备份;Oracle数据库随客户需求而定。

执行灾难恢复

异机恢复时,由于要恢复操作系统,所以需要找一台与原机器硬件配置相同的机器来做 操作系统的恢复。 恢复顺序

(1) 恢复操作系统。

(2) 恢复Oracle应用程序目录,恢复后重启一下服务器,整个目录都需要恢复。 (3) 恢复Oracle数据库。恢复的方式与前面讲到的恢复方式一致。