Oracle备份和恢复技术
Oracle数据库备份恢复技术详解

01 联机物理备份恢复例子
当数据库提示该文件的磁盘有问题或者文件被误删除,数据库 不能打开,提示需要介质恢复时,进行覆盖。
01 逻辑备份的方法?
1.Export小工具 2.DATA PUMP 数据泵
10g 之前使用exp/imp工具 10g开始除了exp/imp,还多了expdp/impdp
01 导出备份的模式?
01 物理备份细分?
1.脱机物理备份 需要数据文件/redo log/控制文件/参数文件(可选) 数据库必须为正常关闭的情况下执行
2.联机物理备份 数据库为归档模式
业务是否可以停止
数据库是否为归档模式
01 脱机物理备份(冷备)的步骤?
1.获取备份文件的目录和文件名 dba_data_files/V$CONTROLFILE/v$logfile
01 程序错误
Application Errors
应用程序发生故障,导致块损坏。
当物理损坏,数据库不能认到块 则称作介质损坏。 现象: checksum 无效 块包含的都是0 块头和块尾不匹配 解决办法: 当块损坏量不大, 可以通过块介质恢复(block media recovery)进行修复
01 灾难恢复问题?
A backup is a copy of data of a database that you can use to reconstruct data. 备份是你能够重建数据或数据库的数据复制
基于多种目的的数据保护 基于不同需求的数据转换
01 恢复是什么?
恢复是当意外发生或者有其他需要时, 将已经备份的数据信息还原到数据库中。
1.表模式:导出用户所有表或者指定的表 2.用户模式:导出用户是有对象以及对象中的数据或 者 只导出表结构 3.表空间模式:按表空间名导出数据对象 4.全库模式:导出数据库中所有对象
Oracle数据备份与恢复

冷备份与恢复
关闭数据库 :
➢ 以sys用户进入SQL*Plus,并关闭数据库,如下所示。
注意:在关闭数据库时,也可以用其他具有sysdba权限的用户登录SQL*Plus,并 关闭数据库。
冷备份与恢复
复制必要文件 :
➢ 此时可以复制D:\Oracle\PRODUCT\10.2.0\ORADATA\TEST目录下的所有文件(本实 验中数据库相关文件都在此目录下)到目标备份目录E:\TEST中,通过操作系统的命 令(Ctrl+C,Ctrl+V)就可以实现了。
➢上述操作中,用户tytest将自己的表test_exp_imp删除,然后从数据库中退出。
EXP/IMP导入导出
➢上述操作中,采用IMP导入功能将逻辑备份的表test_exp_imp成功导入数据库中,并且 没有出现任何警告
EXP/IMP导入导出
➢导入完成后,可以通过用户tytest连接数据库,并查询该表的结构。可以看到,查询结果 显示出表的结构,没有提示表不存在的错误,因此成功实现了恢复。
冷备份与恢复
启动数据ห้องสมุดไป่ตู้并删除数据 :
➢上述完成了数据库的启动,可以看到数据库已经打开,可以对数据库进行操作了。删除 操作将sys中已经存在的表table1中的所有数据删除。
冷备份与恢复
恢复:
➢如果用户发现table1的删除操作属于误操作,那么可以通过之前备份的文件进行恢复。 执行恢复的前提是首先要关闭数据库,然后再用刚才复制的文件覆盖被复制的文件即 可。打开数据库可以看到表table1中的数据仍然存在,具体如下所示。
冷备份与恢复
➢当 数 据 库 被 关 闭 后 , 就 可 以 利 用 操 作 系 统 命 令 将 E:\TEST 中 的 所 有 文 件 复 制 到 D:\Oracle\PRODUCT\10.2.0\ORADATA\TEST目录下,取代该目录中原来的文件。
oracle备份与恢复

设置归档运行
删除恢复
如果误删除了数据文件,可以通过归档日志恢复 如果误删除了表,可以从备份中回复或者通过回闪回复 如果误删除了数据
exp system/aptech parfile='C:\parameters.txt' 使用参数文件导出数据
导入命令 2-1
导入实用程序有如下常用命令参数:
参数 USERID BUFFER COMMIT
FILE FROMUSER TOUSER
FULL TABLES ROWS PARFILE
备份与归档
Oracle 数据库可以运行在两种归档方式:
非归档日志方式 归档日志方式
非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式 下,数据库只能实施冷备份
归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库
archive log list:查看归档方式 可以通过em设置是否归档运行 手工修改为归档模式
Oracle备份与恢复
java培训
oracle的备份
备份与恢复是数据库管理工作中非常重要的任务之一 oracle提供多种备份方式
物理备份:备份常用的数据文件,配置等 逻辑备份:对逻辑组件(表等)的备份
故障类型
导致数据库操作中止的故障包括四种类型:
故障类型
语句故障
用户进程故障
实例故障
介质故障
在当执用行户当S程OQ序rLa出c语le错句的而过数无程据法中库访发实问生例数的由据逻于库辑硬时故件发障或生可软用导件户致问进语题程句而故故无障障法。。导如致果 用户用进户程编故写继障的续的S运原Q行L因时语是,句异就无常会效断发,开生就连实会接例发或故生异障逻常辑终故止障进程
oracle备份与恢复入门

Oracle备份与恢复学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!!Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
理论基础:Oracle提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型):1,表方式(T) 可以将指定的表导出备份;2,全库方式(Full) 将数据库中的所有对象导出;3,用户方式(U) 可以将指定的用户相应的所有数据对象导出;*在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。
增量导出又可以分为三种类别:1,完全增量导出(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名)2,增量型增量导出(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=.dmp3,累积型增量导出(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。
oracle备份和恢复的操作流程

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

‘C:\db02\new.dbf’ ONLINE;
恢复重做日志
❖ 当前日志组损坏 ❖ 非活动日志组损坏
当前日志组损坏
❖ OPEN状态:清除当前日志组 ALTER DATABASE CLEAR
NOARCHIVELOG
LGWR
LGWR
日志组1
日志组2
❖ 新内容覆盖旧内容 ❖ 只能在关闭数据库时进行备份 ❖ 只能恢复到完全备份点 ❖ 必须备份完整数据库
ARCHIVELOG
LGWR
日志组1
ARCH LGWR
日志组2
ARCH LGWR
日志组1
ARCH LGWR
日志组2
❖ 只有归档后新内容才能覆盖旧内容 ❖ 允许在数据库打开时备份 ❖ 可以完全恢复数据库
UNARCHIVED LOGFILE GROUP 1; ❖ MOUNT状态:不完全恢复
非活动日志组损坏
❖ 增加新日志组 ALTER DATABASE ADD LOGFILE
‘g:\test\log3a.log’ SIZE 1M; ❖ 删除损坏日志组 ALTER DATABASE DROP
LOGFILE GROUP 1;
第一章 备份与恢复简介
❖ ORACLE恢复结构和后台管理 ❖ 备份与恢复配置 ❖ 错误分类
ORACLE恢复结构和后台进程
用户进程
服务器 进程
instance
数据高 重做日志 速缓存 缓冲区
大池 共享池
SMON DBWn CKPT PMON LGWR ARCH
参数文件 口令文件
控制文件
数据文件
Oracle备份与恢复

数据库的备份模式归档模式archivelog非归档模式noarchivelog什么是Oracle归档模式Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。
一般数据库至少要有2个联机重做日志组。
当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。
比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。
这个目录叫做归档目录,拷贝的文件叫归档重做日志。
数据库使用归档方式运行时才可以进行灾难性恢复。
1.归档日志模式和非归档日志模式的区别非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.用ARCHIVE LOG LIST 可以查看当前模式状态是归档模式还是非归档模式.scottsystem查看数据库运行模式,可以查询数字字典v$database为了在数据库出现故障时,能对其进行有效的恢复,必须将数据库由非归档模式配置为归档模式。
1.改变非归档模式到归档模式:1)SQL> conn / as sysdba (以DBA身份连接数据库)2)SQL> shutdown immediate; (立即关闭数据库)3)SQL> startup mount (启动实例并加载数据库,但不打开)4)SQL> alter database archivelog; (更改数据库为归档模式)5)SQL> alter database open; (打开数据库)6)SQL> alter system archive log start; (启用自动归档)7)SQL> exit (退出)2.改变归档模式到非归档模式:1)SQL>SHUTDOWN NORMAL/IMMEDIATE;2)SQL>STARTUP MOUNT;3)SQL>ALTER DATABASE NOARCHIVELOG;4)SQL>ALTER DATABASE OPEN;----------备份与恢复数据库的备份与恢复是保证数据库安全运行的一项重要内容,也是数据库管理员的一项重要职责。
Oracle数据库备份恢复实战

Oracle数据库备份恢复实战在管理和运维Oracle数据库时,数据库备份和恢复是一项至关重要的任务。
无论是因为误操作、硬件故障还是数据丢失,数据库备份和恢复能够帮助我们从灾难中恢复并保护我们的数据。
本文将介绍一些Oracle数据库备份恢复的实战方法,帮助读者了解如何有效地进行数据库备份和恢复。
1. 数据库备份方法1.1 物理备份物理备份是指对数据库的实际物理文件进行备份,备份的内容包括数据文件、控制文件和归档日志文件。
物理备份通常使用RMAN (Recovery Manager)工具来完成。
以下是进行物理备份的一般步骤:1) 配置RMAN环境并连接到目标数据库;2) 创建备份集并指定备份文件的存储位置;3) 开始备份任务,RMAN将自动备份数据文件、控制文件和归档日志文件;4) 备份完成后,可以使用RMAN验证备份文件的完整性。
1.2 逻辑备份逻辑备份是指对数据库中的逻辑结构(如表、视图等)进行备份,备份的内容是SQL语句或者导出文件。
逻辑备份通常使用expdp(数据泵)或者exp(传统导出)工具来完成。
以下是进行逻辑备份的一般步骤:1) 配置expdp或exp环境并连接到目标数据库;2) 创建备份目录并指定备份文件的存储位置;3) 开始备份任务,expdp或exp将自动生成备份文件;4) 备份完成后,可以使用impdp或imp工具验证备份文件的完整性。
2. 数据库恢复方法2.1 物理恢复物理恢复是指将备份的物理文件还原到数据库中,并应用归档日志文件来恢复丢失的数据。
以下是进行物理恢复的一般步骤:1) 将备份文件复制到目标数据库的恢复目录;2) 启动目标数据库并将其切换到恢复模式;3) 使用RMAN工具恢复数据文件、控制文件和归档日志文件;4) 应用归档日志文件以恢复丢失的数据;5) 完成恢复后,将数据库切换回正常运行模式。
2.2 逻辑恢复逻辑恢复是指使用逻辑备份文件来还原数据库中的逻辑结构和数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle备份和恢复技术 1 概述 备份与恢复牵涉到的文件 初始化参数文件 .ora 控制文件 .ctl 数据文件 .dbf 联机重做日志文件 .log 归档日志文件 arc%s.%t
Oracle的备份与恢复技术大致可以分为以下几种 逻辑备份与恢复 数据库级别: 备份整个数据库 mydb 用户级别: 备份某些用户模式 scott 表级别: 备份某些表 emp,dept 物理备份与恢复 冷备份与恢复: 在数据库停止工作的情况下, 手工备份或恢复必需的文件, 也称为 脱机备份(恢复) 热备份与恢复: 在数据库工作的情况下, 即时备份和恢复数据, 也称为 联机备份(恢复)—归档模式
其他有用的技术 闪回技术 自动任务
2 逻辑备份与恢复—重要
2.1 逻辑备份 开始运行cmd 在 命令行 窗口输入备份命令—即 导出 命令 导出scott用户模式—这将导出scott用户的所有对象 exp scott/tiger file=c:\scott.dmp 或者 exp system/manager owner=(scott) file=c:\sys.dmp 导出scott用户的dept表和emp表
exp scott/tiger file=c:\scott2.dmp tables=(dept,emp) 或者 exp system/manager tables=(scott.dept,scott.emp) file=c:\sys2.dmp 导出scott用户模式和wks030用户模式 —这将导出scott用户和wks030用户的所有对象 exp system/manager owner=(scott, wks030) file=c:\sys3.dmp 导出scott的emp表 以及 wks030的tbuser表和tbscore表 exp system/manager tables=(scott.emp,wks030.tbuser,wks030.tbscore) file=c:\sys4.dmp 导出整个数据库(要求必须是管理员)—这将导出整个数据库的内容, 不推荐尝试, 时间太长, 文件太大 exp system/manager full=y file=c:\sys5.dmp 要点 普通用户可以导出自己的表或整个模式 DBA可以导出其他用户的表或模式 DBA可以导出整个数据库 Owner和tables是2种导出模式, 不可同时使用 owner: 导出指定用户的整个模式 tables: 导出指定的表
2.2 逻辑恢复 开始运行cmd 在 命令行 窗口输入恢复命令—即 导入 命令 恢复scott用户模式—这将恢复scott用户的所有对象 imp scott/tiger file=c:\scott.dmp imp system/manager fromuser=(scott) file=c:\sys.dmp 恢复scott用户的dept表和emp表 imp scott/tiger file=c:\scott2.dmp tables=(dept,emp) imp system/manager tables=(dept,emp) file=c:\sys2.dmp fromuser=(scott) 恢复scott用户模式和wks030用户模式 —这将恢复scott用户和wks030用户的所有对象 imp system/manager fromuser=(scott, wks030) file=c:\sys3.dmp 恢复scott的emp表 以及 wks030的tbuser表和tbscore表 imp system/manager tables=(emp, tbuser, tbscore) file=c:\sys4.dmp fromuser=(scott, wks030) 恢复整个数据库—这将恢复整个数据库的内容, 不推荐尝试, 时间太长, 文件太大 imp system/manager full=y file=c:\sys5.dmp 要点 普通用户可以恢复自己的表或整个模式 DBA可以恢复其他用户的对象或模式 DBA可以恢复整个数据库 fromuser: 恢复指定用户的表或模式, 如果和tables同用, 则为恢复指定用户的某些表; 否则, 为恢复指定用户的整个模式(用于恢复的文件中的对象应该属于 fromuser 指定的用户) touser:指定将数据恢复给哪个对象,与fromuser同用,只有DBA可以使用,表示将一个用户的对象恢复给另一个用户 tables: 恢复指定的表 注意 恢复的时候, 如果某对象已经存在, 则不会恢复该对象, 并会汇报错误 添加 ignore=y 选项将忽略上述错误, 但并不会重新创建该对象, 该对象的结构不能恢复, 如果对象为表, 则有如下后果 如果表中没有主键或UNIQUE约束, 则可能会导入重复的行, 因此并不推荐使用此选项; 如果要使用, 最好确定所有的表都有主键, 以防止重复的行 在恢复用户的整个模式的时候, 最好在数据库中先删除该用户及其对应的表空间, 并从操作系统中删除表空间对应的数据文件; 然后重新创建表空间和用户之后, 再恢复他的整个模式; 否则, 有可能失败, 因为某些对象, 如序列, 将影响数据的正常导入 drop user user1 cascade; drop tablespace tp1; --在操作系统中删除表空间对应的文件
3 物理备份与恢复
3.1 冷备份与恢复 1.1.1 冷备份 由于操作相当费时,所以不进行演示 关闭数据库:可以DBA身份在SQLPlus中执行如下命令 SQL>shutdown immediate; 在操作系统下备份如下文件,最好复制到其他硬盘或外部存储设备,如:移动硬盘;并且,用说明文档记录每个文件的原位置 所有的 dbf | ctl | log文件: 一般位于 Oracle主目录\oradata\Oracle数据库名\ 之下 数据库参数文件: 位于 Oracle主目录\ora90\database\ 之下 名称为 init数据库名.ora 归档日志文件: 一般位于 Oracle主目录\ora90\rdbms\ 之下 名称为 ARC%S.%T
1.1.2 冷恢复 由于操作相当费时,所以不进行演示 启动和停止数据库服务器的各种方式 启动 SQL>startup; --正常启动 SQL>startup force; --强制启动 SQL>startup mount; --装载启动:装载数据库,但不打开, 因此,不能访问数据库,可以执行恢复操作等 SQL>startup nomount; --装载启动:不装载数据库,更不打开, 因此,不能访问数据库;可以更改数据库配置 SQL>alter database open; --将已经装载的数据库打开,使得可以访问数据库 停止 SQL>shutdown normal; --正常关闭,将等待各连接断开 SQL> shutdown immediate; --立即关闭,强制断开所有连接 执行完已发送到服务器端的SQL语句 SQL> shutdown abort; --中止关闭:立即关闭,强制断开所有连接 停止执行任何SQL语句 关闭数据库:可以管理员身份在SQLPlus中执行如下命令 首先在 操作系统命令行 下执行如下命令 C:\Documents and Settings\Administrator>sqlplus system/manager@网络服务名 然后在 SQLPlus 中执行如下命令 SQL>connect system/ manager@网络服务名 as sysdba; SQL>shutdown immediate; 将原来备份的各种文件按照说明文档中记录的原位置,一一复制回去,覆盖同名文件即可 再次打开数据库:可以管理员身份在SQLPlus中执行如下命令 首先在 操作系统命令行 下执行如下命令 C:\Documents and Settings\Administrator>sqlplus system/manager@网络服务名 然后在 SQLPlus 中执行如下命令 SQL>connect system/ manager@网络服务名 as sysdba; SQL>startup;
3.2 热备份与恢复 前提一:在操作系统中,管理员和ORACLE管理员都应具有如下权限 作为批处理作业登录 作为服务登录 备份文件和目录 在ORACLE数据库服务器中,操作系统管理员应同样为数据库管理员 前提二:Oracle数据库运行于自动归档模式下 配置好OMS 开始程序 Oracle - OraHome90 Configuration and Migration Tools Enterprise Manager Configuration Assistant 时间会很长, 相当于另外安装了一个数据库,所以对系统内存要求很高 启动OMS相关数据库服务,一般其数据库名为:OEMREP OracleServiceOEMREP 启动 OMS服务 OracleOraHome90ManagementServer 启动代理服务 OracleOraHome90Agent 具体操作 请看教科书 由于需要配置OMS,对系统配置要求比较高,并且操作复杂,非常耗时,所以不做演示,有兴趣的同学可以自己在家尝试 参考文档 联机热备参考.doc 热备份脚本.txt
4 闪回查询 即使在操作被提交后,Oracle依然可以依靠闪回查询得到提交前的数据,从而可以恢复这些数据 注意 闪回查询指数据库处于闪回状态时进行的查询,即:回放数据库在之前某个时候的映像 数据库处于闪回状态时,只允许查询 如果所查询的表在闪回前被执行了DDL语句,比如:刚被创建;被修改了表的结构,则该表无法被执行闪回查询 操作—在SQLPlus中 --首先记住此刻时间,如:2007-12-05 14:20:01 conn sys/change_on_install as sysdba;