ORACLE数据备份与恢复
第16章 Oracle备份与恢复

本 章 内 容
16.1
数 据 库 备 份 概 述
16.2
数 据 库 备 份 模 式
16.3
备 份 数 据 库
16.4
数 据 库 手 动 恢 复
采取各种措施来保证数据库的安全性和完整性, 但硬件故障、软件错误、病毒、误操作、故意破坏, 仍有可能发生,影响数据的正确性,甚至会破坏数据 库使数据部分或全部丢失。
(5)archieve log list; // 显示归档列表
16.3
备 份 数 据 库
(一)物理备份
备份:数据文件.dbf
控制文件.ctl
日志文件.log
1.脱机备份 (无成本复制 copy paste)
在数据库关闭后,备份物理文件。
脱机备份的步骤
(1)以DBA用户登录,列出各类文件 SQL>select name from v$datafile; SQL>select name from v$controlfile; SQL>select member from v$logfile;
小结
数据库的备份与恢复是保证数据库安全运 行的一项重要内容,也是数据库管理员的一项重要 职责。在实际的应用中,数据库可能会遇到一些意 外的破坏,导致数据库无法正常运行。数据库的一 个备份就是数据库中数据的一份复件,该复件包括 了数据库所有重要的组成部分,如控制文件、数据 文件、日志文件等。当数据库因意外事故而无法正 常运行时,就可以用该备份对数据进宪恢复,将意 外损失降低到最小。
(2)以DBA用户关闭数据库 SQL>connect / as sysdba SQL> shutdown immediate; (3)复制各个文件到硬盘上,“控制文件”互为镜像,复制一个即可。 SQL>host copy D:\oracle\product\10.1.0\oradata\*.dbf E:\backup\ SQL>host copy D:\oracle\product\10.1.0\oradata\*.ctl E:\backup\ SQL>host copy D:\oracle\product\10.1.0\oradata\*.log E:\backup\ (4)启动例程打开数据库 SQL> connect / as sysdba SQL> startup
Oracle备份与恢复案例.doc

Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
oracle数据库rman备份计划及恢复

oracle数据库rman备份计划及恢复1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog。
2.rman备份脚本: a.RMAN 0级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 0 tag 'level0' format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_0_%u_%s_%p" as compressed backupset database;sql "alter system archive log current";backup filesperset 3 format "E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p_%c"archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} b.RMAN 1级备份命令:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup incremental level 1 tag 'level1' format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\RFDB_level_1_%u_%s_%p' as compressed backupset database;sql 'alter system archive log current';backup filesperset 3 format 'E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\arch_%u_%s_%p'archivelog all delete input; #备份归档可选,可以单独定期备份release channel c1;release channel c2;release channel c3;} c.rman删除备份命令(在保留最近⼀天备份的情况下,删除其他备份):DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 1 DAYS; d.操作系统层⾯运⾏rman备份或删除命令(windows/linux):rman target sys/rf4rfvbgt56yhn@rfdb nocatalog CMDFILE 'D:\app\rman\rman_file\level_0.txt' log=E:\recovery_area\rfdb\rfdb\AUTOBACKUP\rman_dir\log\rman_level_0.log export ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1export ORACLE_SID=atestexport PATH=$ORACLE_HOME/bin:$PATHrman target sys/123456@atest nocatalog CMDFILE '/u01/rman/rman.sh' log=/u01/rman/rman.log00 02 * * 1 bash /u01/rman_file/run_rman_0.sh00 02 * * 3 bash /u01/rman_file/run_rman_0.sh00 02 * * 5 bash /u01/rman_file/run_rman_0.sh00 04 * * * bash /u01/rman_file/run_delete.sh34 11 * * * bash /u01/rman_file/run_rman_0.sh e.rman参数设置:RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;3.rman恢复a.拷贝datafile,controlfile和spfile的rman备份,以及完整的archivelog和完好的redolog⽂件到新的数据库。
Oracle ramn 备份与恢复

ORACLE数据库的备份与恢复差异增量备份就是备份往前第一个备份级别小于或等于当前备份级别开始到现在的变化。
累计增量备份就是备份往前第一个备份级别小于当前备份级别开始到现在的变化。
0级备份也就是全备份,但0级备份可以在此基础之上再进行备份,但全备份就不可以。
Oracle rman 备份一、数据库全备份方法(nocatalog)1 注意rman有两个,要执行db_1/bin下那个(可以通过修改oracle变量来达到)2 在执行ramn之前要确认当前数据库是否处理Archive Mode模式,并处于Enabled下查看方式:如果不是可以通过如下方式打开并修改:SQL>startup mountSQL>alter database archivelogSQL>alter database open3全备份数据库:A先连接数据库HERMINGB查看备份列表中是否有以前备份的文件C执行全数据库备份4备份完之后可以查看一下备份出来的文件信息:5备份文件存放路径为:二、0级数据库备份A 以nocatalog方式使用rmanB连接数据库C执行0级数据库备份注:全备份与0级备份的相同点是都是将数据库全部备份下来。
全备份与0级备份的不同点是全备份不能作为增量备份,而0级可以作为增量备份。
1级备份就在0级备份的基础上进行的。
三、1级增量备份(基于0级备份之上)总结:可以将备份出来的文件考到其他介质上进行保存,并进行删除。
如果要恢复时请将该文件放回到这文件夹下,并要保存文件名不变。
说明:口令文件因为可以重新设置,所以不用备份,重做日志文件不能在非nocatalog中备份。
四、备份archivelog(参数文件+数据文件+控制文件+归档日志文件)先备份完再删除归档备份五、备份表空间A 查看有哪些表空间B备份名为TBS1的表空间六、备份控制文件七、镜像备份说明:5为TBS1表空间的编号,及对TBS1表空间进行镜像备份。
Oracle11G 备份和恢复

备份与恢复
授课教师:刘明洋
主要内容
备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库
14.1备份与恢复概述
备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型
14.1.1备份与恢复的概念
➢ 备份与恢复是数据库的一对相反操作,备份是保存数据 库中数据的副本,恢复是利用备份将数据库恢复到故障 时刻的状态或恢复到故障时刻之前的某个一致性状态。
➢ 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近 一次完全冷备份的状态。
1 7
14.3.2 归档模式下数据库的完全恢复
概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例
1
8
(1)概 述
概念
归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损 坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文 件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动, 采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。
1 6
14.3.1 非归档模式下数据库的恢复
非归档模式下数据库的恢复主要指利用非归档模式下的冷备 份恢复数据库。 步骤为:
➢ 关闭数据库。 ▪ SHUTDOWN IMMEDIATE
➢ 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所 在的位置。
➢ 重新启动数据库。 ▪ STARTUP
注意
▪ RECOVER DATABASE ➢ 打开数据库。
▪ ALTER DATABASE OPEN;
2
2
(3)表空间级完全恢复
以EXAMPLE表空间的数据文件example01.dbf 损坏为例模拟表空级的完全恢复。
Oracle数据库备份与恢复方案

Oracle数据库备份与恢复方案任何数据库在长期使用过程中,都会存在安全隐患。
对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制。
当任何人为的或是自然的灾难一旦出现,而导致数据库崩溃、物理介质损坏等,就可以及时恢复系统中重要的数据,不影响整个单位业务的运作。
然而如果没有可靠的备份数据和恢复机制,就会带来系统瘫痪、工作停滞、经济损失等等不堪设想的后果。
本文以ORACLE数据库为例,结合医院的业务应用环境,介绍ORACLE数据库的备份恢复。
首先,应当制定一个严格的工作制度,规范化数据库维护的工作流程。
总结实际工作中的经验,数据库管理员应当按照以下原则进行数据库系统的维护:要求:每日值班的数据库管理员应当随时监控主数据库服务器、备份数据库服务器的软件、硬件的正常运行,一旦出现故障,应立即向领导汇报并采取相应恢复措施。
一、管理员应当每日察看数据库的冷备份报告,出现问题及时检查备份文件,保障每日数据库服务器的备份正常运行。
二、当主数据库服务器出现数据库错误时,应检查数据库的工作状态。
如果工作不正常应及时将最新的备份数据覆盖当前数据库的损坏数据,并重新启动机器,检验数据库系统是否能够自行恢复运行。
如果重新启动后数据库系统不能正常运行,则数据库系统文件被破坏,应重新安装ORACLE数据库并启用紧急恢复方案。
三、当主数据库服务器出现硬件故障时,应在1小时内更新备份数据库为最新数据,并启动备份数据库服务器,将备份数据库服务器升级为主数据库服务器。
对于损坏的主数据库服务器应重新安装ORACLE数据库,并启用紧急恢复方案。
四、当备份数据库服务器出现数据库错误时,应检查ORACLE数据库的工作状态,如果工作不正常应及时将最新的备份数据覆盖当前数据库的损坏数据,并重新启动机器,检验数据库系统是否能够自行恢复运行。
如果重新启动后数据库系统不能正常运行,则数据库系统文件被破坏,应重新安装ORACLE数据库并启用紧急恢复方案。
Oracle+sde数据备份、恢复

EXP SYSTEM/PASSWORD@SID FULL=Y FILE=D:\SYSTEM.DMP LOG=D:\SYSTEM.LOG2.数据入库(a)从数据库中删除SDE和SDE USER用户DROP USER SDE CASCADE;DROP USER SDEUSER CASCADE;(b)创建新的SDE用户和SDEUSER下为创建SDE用户过程:(i)创建表空间CREATE TABLESPACE "SDE"LOGGINGDA TAFILE 'C:\ORACLE\ORADATA\ORACLE\SDE.ora' SIZE 200MEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO(ii)创建用户CREATE USER "SDE" PROFILE "DEFAULT"IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE "SDE"TEMPORARY TABLESPACE "TEMP"ACCOUNT UNLOCK;(iii)创建角色GRANT "DBA" TO "SDE";GRANT "CONNECT" TO "SDE";GRANT "RESOURCE" TO "SDE";(iiii)系统权限GRANT ALTER ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT ALTER ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT ANAL YZE ANY TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY TRIGGER TO "SDE" WITH ADMIN OPTION;GRANT CREATE ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT CREATE SESSION TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY INDEX TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY VIEW TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT DROP ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT EXECUTE ANY PROCEDURE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY SEQUENCE TO "SDE" WITH ADMIN OPTION;GRANT SELECT ANY TABLE TO "SDE" WITH ADMIN OPTION;GRANT UNLIMITED TABLESPACE TO "SDE" WITH ADMIN OPTION;3.导入SDE和SDEUSER的数据注意顺序,先SDE,后SDEUSERIMP SYSTEM/PASSWOR@SID FROMUSER=SDE TOUSER=SDEIMP SYSTEM/PASSWOR@SID FROMUSER=SDEUSER TOUSER=SDEUSER以上提到的SDE和SDEUSER是不同的用户,SDE是ArcSDE安装时的默认用户,SDEUSER 是指用户存储数据的用户,如果之间使用SDE默认用户存储,则省去所以的SDEUSER操作空间数据的备份、导出/导入(以Oracle为例):1、首先为什么oracle的exp/imp不能使用?一个feature class (shp文件)导入数据库后,会生成3个table 和7个index,这些表或者是index 可以保存在不同的表空间中。
Oracle数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RMAN(备份与恢复管理器)
RMAN备份增量备份(差异)
RMAN(备份与恢复管理器)
R)
RMAN需注意问题: 不支持参数文件、告警文件、口令文件的备份。 必须使用与备份数据库相同版本的RMAN执行体。
RMAN(备份与恢复管理器)
• RMAN优点
自动备份、还原、恢复 自行备份备份记录 增量备份(去除空数据块) 支持在线热备份 支持多级增量备份 支持并行备份、恢复 备份、恢复使用简单
• RMAN缺点
配置、维护更复杂。技术性比较强
RMAN(备份与恢复管理器)
RMAN演示
其它恢复案例
• 损坏控制文件的恢复方法
拷贝一个好的控制文件替换坏的控制文件或修改init.ora中的控制文件参数,取消这个 坏的控制文件
数据恢复案例
• EXP/IMP • 冷备份的恢复
数据恢复案例
• 热备份的恢复(完全恢复)
1、采用热备份,需要运行在归档模式下,可以实现数据 库的完全恢复,也就是说,从备份后到数据库崩溃时的数 据都不会丢失。 2、可以采用全备份数据库的方式备份,对于特殊情况, 也可以只备份特定的数据文件,如只备份用户表空间(一 般情况下对于某些写特别频繁的数据文件,可以单独加大 备份频率) 3、如果在恢复过程中,发现损坏的是多个数据文件,即 可以采用一个一个数据文件的恢复方法,也可以采用整个 数据库的恢复方法。 4、如果是系统表空间的损坏,不能采用此方法
数据恢复案例
• 热备份的恢复(不完全恢复)
基于时间 基于取消 基于改变
数据恢复案例
• 热备份的恢复(不完全恢复)
1、不完全恢复最好备份所有的数据,冷备份亦可,因为恢复过程是从备份点往后恢复的, 如果因为其中一个数据文件的时间戳(SCN)大于要恢复的时间点,那么恢复都是不可能 成功的。 2、不完全恢复有三种方式,过程都一样,仅仅是recover命令有所不一样。 3、不完全恢复之后,都必须用resetlogs的方式打开数据库,建议马上再做一次全备份, 因为resetlogs之后再用以前的备份恢复是很难了。 4、以上是在删除之前获得时间,但是实际应用中,很难知道删除之前的实际时间,但可以 采用大致时间即可,或可以采用分析日志文件(logmnr),取得精确的需要恢复的时间。
ORACLE数据备份与恢复 ORACLE数据备份与恢复
大纲
• • • • • • 【什么是数据库备份和恢复】 【数据库备份方法简介】 【数据库恢复案例】 【其他恢复案例】 【常见恢复误区】 【我们自己的备份策略】
概念介绍
• 备份:指将数据库系统中的数据加以复制, 一旦发生灾难或错误操作时,得以方便而 及时地恢复系统的有效数据。 • 恢复:是指备份的逆过程。是将保存在数 据库中上丢失的数据进行抢救和恢复。 • 前滚(恢复):完成已完成的操作 • 回滚(撤销):取消未完成的操作
答:不完全恢复需要拷贝所有的数据文件,最好包括临时数据文件在内,否则需要另
外的处理,如果有一个数据文件的SCN大于不完全恢复点,那么这个恢复都将是失败 的.
• 3、使用RMAN目录与目标数据库在同一数据库能 很好进行数据库的恢复
答:使用恢复目录与目标数据库在同一个数据库中,将存在很大的恢复局限, 如该数据库的系统数据文件的损害,数据库根本不能open,那么RMAN也就 无法连接恢复目录,也就不存在恢复了。
RMAN(备份与恢复管理器)
• RMAN体系结构
RMAN(备份与恢复管理器)
RMAN 备份需确认的内容: (1), 目标数据库状态(至少在mount状态) (2),备份的目的地 (3),需要备份的数据库内容(数据库文件) (4),需要拷贝数据文件的哪些数据块(数据 块)
RMAN(备份与恢复管理器)
备份方法
• • • • 导出/导入(Exp/Imp) 冷备份 热备份 RMAN
EXP/IMP
• 三种工作方式(命令交互、命令、文件) • 三种方式类型的输出(表、用户、全库) • 增量导入导出三种类型 (完全、增量、累计)
冷备份
数据库正常关闭之下,将关键性文件拷贝到 另外位置。 关键文件包括:
我们自己的备份策略
小结
• • • • 什么是数据库备份 数据库的运行方式 数据库的备份方式 了解ORACLE备份策略,并选择最佳的备 份策略
谢谢
所有控制文件(v$controlfile) 所有数据文件(v$datafile) 所有联机REDO LOG文件(v$logfile) 参数文件、密码文件(可选)
优点是简单,方便,有效。 缺点
需要停库并只能恢复到某一时间点。 需占用一定的空间以及备份所花时间代价 不能按用户或者表。
热备份
联机热备是在数据库运行的情况下进行备 份的方法。热备份要求数据库在Archivelog 方式下操作,并需要大量的档案空间。 优点 可在表空间或数据库文件级备份 备份恢复时间短,数据库功能不影响 可达到秒级恢复 缺点 要求较高、维护困难,
• 损坏临时数据文件的恢复方法
可以删除后重建
常见恢复误区
• 1.可以不需要备份,只有归档就能进行数据库的 向前的恢复?
答:这是不可能的,不完全恢复的主要思路是利用不完全点之前的备份,加上归档日志,恢复到
不完全恢复点,10g中flashback的特性的使用,也是有很多局限的
• 2.进行不完全恢复只需要拷贝一个需要恢复的备 份数据文件