数据库备份与恢复.ppt
《数据库备份与恢复.ppt》由会员分享,可在线阅读,更多相关《数据库备份与恢复.ppt(127页珍藏版)》请在三一办公上搜索。
1、1,问题引入,医院、银行、公安等部门正在办理业务时,数据库服务器突然断电后,数据库不能正常启动怎么办?服务器磁盘遇到自然灾害被损坏,导致数据丢失怎么办?你正在银行取款,业务办理一半,突然机器断电数据库数据是否会出错?,第16章 数据库备份与恢复,3,本章内容,备份与恢复概述物理备份与恢复逻辑备份与恢复数据库手动恢复恢复管理器(RMAN),4,本章要求,了解备份与恢复的重要性和概念掌握数据库的冷备份方法掌握数据库的热备份方法掌握数据库完全恢复方法掌握数据不完全恢复方法掌握逻辑备份和恢复方法掌握手动恢复的步骤掌握恢复管理器的基本使用,5,16.1 备份与恢复概述,备份与恢复的基本概念Oracle数
2、据库故障类型及恢复措施 备份的原则与策略恢复的原则与策略,6,16.1.1 备份与恢复的概念,备份与恢复的作用备份的概念与类型恢复的概念、类型与恢复机制,7,(1)备份与恢复的作用,数据库系统在运行中可能发生故障,轻则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。,8,(2)备份的概念与类型,概念数据库备份就是对数据库中部分或全部数据进行复制,形成副本,存放到一个相对独立的设备上,如磁盘、磁带,以备将来数据库出现故障时使用。根据数据备份方式的不
3、同,数据库备份分为:物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上。逻辑备份是指利用Oracle提供的导出工具(如Expdp,Exp)将数据库中的数据抽取出来存放到一个二进制文件中。,9,根据数据库备份时是否关闭数据库服务器,物理备份分为:冷备份:又称停机备份或脱机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。热备份:又称联机备份,是指在数据库运行的情况下对数据库进行的备份。要进行热备份,数据库必须运行在归档日志模式下。,10,根据数据库备份的规模不同,物理备份可分为:
4、完全备份:指对整个数据库进行备份,包括所有的物理文件。部分备份:对部分数据文件、表空间、控制文件、归档重做日志文件等进行备份。根据数据库是否运行在归档模式,物理备份可分为:归档备份非归档备份,11,(3)恢复的概念、类型与恢复机制,概念数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态。根据数据库恢复时使用的备份不同,恢复分为:所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理备份文件恢复损毁文件,是在操作系统级别上进行的。逻辑恢复是指利用逻辑备份的二进制文件,使用Oracle提供的导入工具(如Impdp,Import)将部分或全部信息重新导入数据库,恢
5、复损毁或丢失的数据。根据数据库恢复程度的不同,恢复可分为:完全恢复:利用备份使数据库恢复到出现故障时的状态。不完全恢复:利用备份使数据库恢复到出现故障时刻之前的某个状态。,12,数据库的恢复分3个步骤进行:首先使用一个完整备份将数据库恢复到备份时刻的状态;然后利用归档日志文件和联机重做日志文件中的日志信息,采用前滚技术(Roll Forward)重做备份以后已经完成并提交的事物;最后利用回滚技术(Roll Back)取消发生故障时已写入日志文件但没有提交的事物,将数据库恢复到故障时刻的状态。,13,在T1和T3时刻进行了两次数据库备份,在T5时刻数据库出现故障。如果使用T1 时刻的备份1恢复数
6、据库,则只能恢复到T1时刻的状态,即不完全恢复;如果使用T3时刻的备份2恢复数据库,则可以恢复到T3时刻到T5时刻的任意状态(归档日志与联机日志)。,14,16.1.2 Oracle数据库故障类型及恢复措施,语句故障 进程故障 用户错误 实例失败 网络故障 介质故障,15,语句故障语句故障是指执行SQL语句时发生的故障。例如,对不存在的表执行SELECT操作、向已无空间可用的表中执行INSERT操作等都会发生语句故障,Oracle将返回给用户一个错误信息。语句故障通常不需要DBA干预,Oracle会自动回滚产生错误的SQL语句操作。进程故障进程故障是指用户进程、服务器进程或数据库后台进程由于某
7、种原因而意外终止,此时该进程将无法使用,但不影响其他进程的运行。Oracle的后台进程PMON能够自动监测并恢复故障进程。如果该进程无法恢复,则需要DBA关闭并重新启动数据库实例。,16,用户错误用户错误是指用户在使用数据库时产生的错误。例如,用户意外删除某个表或表中的数据。用户错误无法由Oracle自动进行恢复,管理员可以使用逻辑备份来恢复。实例失败实例失败是指由于某种原因导致数据库实例无法正常工作。例如,突然断电导致数据库服务器立即关闭、数据库服务器硬件故障导致操作系统无法运行等。实例失败时,需要进行实例重新启动,在实例重新启动的过程中,数据库后台进程SMON会自动对实例进行恢复。,17,
8、网络故障网络故障是指由于通信软件或硬件故障,导致应用程序或用户与数据库服务器之间的通信中断。数据库的后台进程PMON将自动监测并处理意外中断的用户进程和服务器进程。介质故障介质故障是指由于各种原因引起的数据库数据文件、控制文件或重做日志文件的损坏,导致系统无法正常运行。例如,磁盘损坏导致文件系统被破坏。介质故障是数据库备份与恢复中主要关心的故障类型,需要管理员提前做好数据库的备份,否则将导致数据库无法恢复。,18,16.1.3 备份原则与策略,将所有的数据库备份保存在一个独立磁盘上(必须是与当前数据库系统正在使用的文件不同的磁盘);应该保持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘
9、控制器下的不同磁盘设备上;应该保持多个联机日志文件组,每个组中至少应该保持两个日志成员,同一日志组的多个成员应该分散存放在不同磁盘上;如果条件允许,尽量保证数据库运行于归档模式;根据数据库数据变化的频率情况确定数据库备份规律;,19,在归档模式下,当数据库结构发生变化时,如创建或删除表空间、数据文件、重做日志文件等,应备份控制文件;在非归档模式下,当数据库结构发生变化时,应该进行数据库的完全备份;在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提高备份效率;在归档模式下,通常不需要对联机重做日志文件进行备份;使用RESETLOGS方式打开数据库后,应该进行一个数据库的完全备份;对于重
10、要的表中的数据,可以采用逻辑备份方式进行备份。,20,16.1.4 恢复原则与策略,根据数据库介质故障原因,确定采用完全介质恢复还是不完全介质恢复;如果数据库运行在非归档模式,则当介质故障发生时,只能进行数据库的不完全恢复,将数据库恢复到最近的备份时刻的状态;如果数据库运行在归档模式,则当一个或多个数据文件损坏时,可以使用备份的数据文件进行完全或不完全恢复数据库;如果数据库运行在归档模式,则当数据库的控制文件损坏时,可以使用备份的控制文件实现数据库的不完全恢复;如果数据库运行在归档模式,则当数据库的联机日志文件损坏时,可以使用备份的数据文件和联机重做日志文件不完全恢复数据库;如果执行了不完全恢
11、复,则当重新打开数据库时应该使用RESETLOGS选项。,21,16.2 物理备份与恢复,冷备份热备份非归档模式下数据库的恢复 归档模式下数据库的完全恢复 归档模式下数据库的不完全恢复 利用OEM进行物理备份与恢复,22,23,16.2.1 冷备份,概述关闭数据库实例。用操作系统的实用工具备份所有的物理文件,包括数据文件、控制文件、联机重做日志文件等。,24,如果没有启用归档模式,数据库不能恢复到备份完成后的任意时刻。如果启用归档模式,从冷备份结束后到出现故障这段时间的数据库恢复,可以利用联机日志文件和归档日志文件实现。,25,冷备份步骤确定数据库各种物理文件关闭数据库备份所有相关的数据库物理
12、文件 重新启动数据库,26,启动SQL*Plus,以SYSDBA身份登录数据库查询当前数据库所有数据文件、控制文件、联机重做日志文件的位置。SELECT file_name FROM dba_data_files;-dba_temp_filesSELECT member FROM v$logfile;SELECT value FROM v$parameter WHERE name=control_files;关闭数据库SHUTDOWN IMMEDIATE复制所有数据文件、联机重做日志文件以及控制文件到备份磁盘。重新启动数据库 STARTUP,27,16.2.2 热备份,数据库完全热备份的步骤:
13、启动SQL*Plus,以SYSDBA身份登录数据库 将数据库设置为归档模式 以表空间为单位,进行数据文件备份 备份控制文件 备份其他物理文件,28,切换到归档模式,数据库实现联机备份和恢复必须运行在归档模式,如果当前数据库没有运行在归档模式,可通过下面的步骤切换到归档模式。-查看归档模式在管理员账号下使用 archive log list或者查看v$database中的log_mode列。select log_mode from v$database;1关闭数据库SQLCONNECT/AS SYSDBASQLSHUTDOWN IMMEDIATE注意,这里登录方式一定是SYSDBA。2启动例程,
14、装载数据库使用STARTUP MOUNT命令,此时数据库还没有打开。切换数据库的运行模式时,必须装载数据库但不打开数据库。3切换到归档模式,并打开数据库SQLALTER DATABASE ARCHIVELOG;SQLALTER DATABASE OPEN;,29,备份数据文件查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。SELECT tablespace_name,file_name FROM dba_data_files ORDER BY tablespace_name;分别对每个表空间中的数据文件进行备份,其方法为将需要备份的表空间(如USERS)设置为备份状态。ALTER
15、TABLESPACE USERS BEGIN BACKUP;将表空间中所有的数据文件复制到备份磁盘。结束表空间的备份状态。ALTER TABLESPACE USERS END BACKUP;对数据库中所有表空间分别采用该步骤进行备份。,30,备份控制文件当执行了下列操作时应该进行控制文件备份ALTER DATABASE ADD LOGFILEALERT DATABASE ADD LOGFILE MEMBERALTER DATABASE RENAME FILE ALTER DATABASE DROP LOGFILE GROUP ALTER DATABASE DROP LOGFILE MEMBER
16、CREATE TABLESPACEALTER TABLESPACE ADD DATAFILEALTER TABLESPACE RENAME DATAFILEDROP TABLESPACE,31,控制文件备份方法将控制文件备份为二进制文件。ALTER DATABASE BACKUP CONTROLFILE TO D:ORACLEBACKUPCONTROL.BKP;将控制文件备份为文本文件。ALTER DATABASE BACKUP CONTROLFILE TO TRACE;,32,其他文件的备份归档当前的联机重做日志文件。ALTER SYSTEM ARCHIVE LOG CURRENT;alte
17、r system archive log all;备份归档重做日志文件,将所有的归档重做日志文件复制到备份磁盘中。备份初始化参数文件,将初始化参数文件复制到备份磁盘中。注:select*from v$log;可以查看当前日志文件。归档后会自动切换其他日志文件为当前。进行自动归档的切换alter system archive log startalter system archive log stop,33,16.2.3 非归档模式下数据库的恢复,非归档模式下数据库的恢复主要指利用非归档模式下的冷备份恢复数据库。步骤为:关闭数据库。SHUTDOWN IMMEDIATE将备份的所有数据文件、控制文
18、件、联机重做日志文件还原到原来所在的位置。重新启动数据库。STARTUP注意非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近一次完全冷备份的状态。,34,16.2.4 归档模式下数据库的完全恢复,概述数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例,35,(1)概述,概念归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。,36,恢复的级别数据库级完全恢复:主要应用于所有
19、或多数数据文件损坏的恢复;表空间级完全恢复:对指定表空间中的数据文件进行恢复;数据文件级完全恢复:是针对特定的数据文件进行恢复。注意数据库级的完全恢复只能在数据库装载但没有打开的状态下进行,而表空间级完全恢复和数据文件级完全恢复可以在数据库处于装载状态或打开的状态下进行。,37,归档模式下数据库完全恢复的基本语法:RECOVER AUTOMATIC FROM locationDATABASE|TABLESPACE tspname|DATAFILE dfname参数说明 AUTOMATIC:进行自动恢复,不需要DBA提供重做日志文件名称;location:制定归档重做日志文件的位置。默认为数据库
20、默认的归档路径。,38,(2)数据库级完全恢复,数据库级完全恢复的步骤:如果数据库没有关闭,则强制关闭数据库。SHUTDOWN ABORT利用备份的数据文件还原所有损坏的数据文件。将数据库启动到MOUNT状态。STARTUP MOUNT执行数据库恢复命令。RECOVER DATABASE打开数据库。ALTER DATABASE OPEN;,39,(3)表空间级完全恢复,以EXAMPLE表空间的数据文件example01.dbf损坏为例模拟表空级的完全恢复。数据库处于装载状态下的恢复 数据库处于打开状态下的恢复,40,数据库处于装载状态下的恢复如果数据库没有关闭,则强制关闭数据库。SHUTDOW
21、N ABORT利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。将数据库启动到MOUNT状态。STARTUP MOUNT执行表空间恢复命令。RECOVER TABLESPACE EXAMPLE打开数据库。ALTER DATABASE OPEN;,41,数据库处于打开状态下的恢复如果数据库已经关闭,则将数据库启动到MOUNT状态。STARTUP MOUNT将损坏的数据文件设置为脱机状态。ALTER DATABASE DATAFILE D:oracleproduct10.2.0oradataorclEXAMPLE01.DBF OFFLINE;打开数据库。AL
22、TER DATABASE OPEN;将损坏的数据文件所在的表空间脱机。ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER;,42,利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。执行表空间恢复命令。RECOVER TABLESPACE EXAMPLE;将表空间联机。ALTER TABLESPACE EXAMPLE ONLINE;如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(4)(7)。,43,(4)数据文件级完全恢复,以数据文件D:oracleproduct10.2.0oradataorclexamp
23、le01.dbf损坏为例模拟数据文件级的完全恢复。数据库处于装载状态下的恢复 数据库处于打开状态下的恢复,44,数据库处于装载状态下的恢复如果数据库没有关闭,则强制关闭数据库。SHUTDOWN ABORT利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。将数据库启动到MOUNT状态。STARTUP MOUNT执行数据文件恢复命令。RECOVER DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF;将数据文件联机。ALTER DATABASE DATAFILE D:oracleproduct10.2
24、.0oradataorcl EXAMPLE01.DBF ONLINE打开数据库。ALTER DATABASE OPEN;,45,数据库处于打开状态下的恢复如果数据库已经关闭,则将数据库启动到MOUNT状态。STARTUP MOUNT将损坏的数据文件设置为脱机状态。ALTER DATABASE DATAFILE D:oracleproduct10.2.0oradataorclEXAMPLE01.DBF OFFLINE;打开数据库。ALTER DATABASE OPEN;利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。,46,执行数据文件恢复命令。RECO
25、VER DATAFILE D:oracleproduct10.2.0oradataorclEXAMPLE01.DBF;将数据文件联机。ALTER DATABASE DATAFILE D:oracleproduct10.2.0oradataorclEXAMPLE01.DBF ONLINE;如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(2)、(4)(6)。,47,(5)数据库完全恢复示例,以SYSTEM表空间的数据文件D:oracleproduct10.2.0oradataorclsystem01.dbf 损坏为例演示归档模式下的完全恢复操作。首先进行一次归档模式下的数据库完整备份。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 备份 恢复

链接地址:https://www.31ppt.com/p-5985569.html