10.第十章 Oracle数据库备份与恢复
oracle 数据库的备份与恢复

– $ imp system/manager file=tank log=tank fromuser=seapark tables=(a,b)
第七页,共51页。
数据库备份和恢复概述
——备份类型
Oracle数据库的备份包括以下两种类型:
备份
物理备份
逻辑备份
• 对数据库的操作系统物理文件 (如数据文件、控制文件和重做日 志文件等)的备份 • 有脱机备份(冷备份)和联机
备份(热备份)
• 对数据库逻辑组件(如表、视 图和存储过程等数据库对象)
– $ exp seapark/seapark file=tank log=tank tables=tank – $ exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)
导出一个或多个指定表
第十八页,共51页。
逻辑备份和恢复(导出/导入)
– $ exp system/manager file=bible_db log=dible_db full=y rows=n 导出数据库定义而不导出数据
– $ exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold) 导出一个或一组指定用户所属的全部表、索引和其他对象
第四页,共51页。
本章内容导航
数据库备份和恢复概述 逻辑备份和恢复(导出/导入) 归档模式的设置 脱机备份(冷备份)和恢复 联机备份 数据库的手动恢复 闪回操作
oracle备份与恢复机制

谈ORACLE备份与恢复经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦.1. oracle的备份,包括noarchivelog模式的备份(冷备份)、archivelog模式的备份(热备份、rman备份)、逻辑备份(不分模式).1.1. 冷备份:-- 1)关闭数据库shutdown;-- 2)备份数据文件、控制文件、重做日志文件-- A、查找备份文件的位置SELECT * FROM V$DATAFILE; --查数据文件select * from v$controlfile; --查控制文件select * from v$logfile; --查日志文件-- B、备份数据文件、控制文件、重做日志文件$ copy D:\oracle\oradata\ora9\*.dbf d:\bak\*.*;$ copy D:\oracle\oradata\ora9\*.ctl d:\bak\*.*;$ copy D:\oracle\oradata\ora9\*.log d:\bak\*.*;1.2. 热备份:-- 1)查询备份的数据文件与哪一个表空间有关SELECT V$,V$FROM V$TABLESPACE JOIN V$DATAFILE USING(TS#);-- 2)备份数据文件alter tablespace 表空间 BEGIN BACKUP;$ COPY 数据文件存放路径ALTER TABLESPACE 表空间 END BACKUP;-- 3)查询是否还有表空间处于备份模式SELECT * FROM V$BACKUP; --STATUS不是ACTIVE即可以SELECT V$,V$BACKUP.STATUS,V$FROM V$TABLESPACE JOIN V$DATAFILE USING (TS#) JOIN V$BACKUP USING (FILE#);-- 4)备份控制文件ALTER DATABASE BACKUP CONTROLFILE TO '目标路径及文件名';1.3. rman备份:-- 1)一个简单的rman全库备份:> rman nocatalog target "sys/sys"RMAN> restore controlfile from autobackup;RMAN> configure controlfile autobackup on;RMAN> backup database;-- 2)备份数据文件、控制文件、归档日志RMAN> BACKUP DATAFILE 数据文件名;RMAN> BACKUP CURRENT CONTROLFILE;RMAN> BACKUP ARCHIVELOG ALL;-- 3)备份控制文件traceSQL> alter session set tracefile_identifier=system ;SQL> alter database backup controlfile to trace;SQL> alter database backup controlfile to 'd:\temp\controlfile.bak';-- 4)备份表空间RMAN> backup tablespace 表空间名;-- rman备份比较复杂,只举些简单的例子.1.4. 逻辑备份-- 1)数据库方式(导出用户要具有exp_full_database权限)exp scott/tiger@ora9 full=y file="D:\full.dmp"-- 2)用户方式exp userid=scott/tiger@ora9owner=scott file=d:\scott.dmplog=d:\scott.log-- 3)表方式exp scott/tiger@ora9tables=(emp,dept) file="d:\emp.dmp"2. oracle的恢复(简单举例):2.1 冷备份的恢复,1). STARTUP MOUNT;2). ALTER DATABASE DATAFILE 数据文件 OFFLINE DROP;3). ALTER DATABASE OPEN;2.2 热备份恢复:1). STARTUP MOUNT;2). ALTER DATABASE DATAFILE 数据文件 OFFLINE; -- //system01.dbf不能设置未OFFLINE状态3). ALTER DATABASE OPEN;2.3 rman备份恢复:-- 1) 使用rman恢复归档数据库:rman target /rman> startup mountrman> restore database;rman> recover database;rman> alter database open;--2) 使用rman恢复表空间:rman> restore tablespacerman> recover tablespacerman>run{sql " alter tablespace users offline immediate";restore tablespace users;recover tablespace users;sql " alter tablespace users online ";}2.4 .逻辑恢复--1)数据库方式(导入用户要具有exp_full_database权限)imp system/system@ora10full=y file="f:\full.dmp"--2)用户方式imp userid=scott/tiger@ora10fromuser=scott touser=scottfile=d:\scott.dmp log=d:\scott.log--3)表方式imp system/system@ora10fromuser=scott touser=scott file="f:\emp.dmp"--注意:导出用户要和导入用户相同可以用上面的方法,否则用imp scott/tiger@ora10full=y file="f:\emp.dmp"3. oracle备份与恢复方法的选择:1).对于一些小系统、小数据量、没有在线要求的数据库,采用冷备份,简单方便、可靠(所有文件时间点一致),但如果是这类系统个人觉得使用oracle就是一种浪费,学习除外.2).对于7X24小时的大系统、帐营支撑系统、客服系统的数据库,使用归档模式运行,采用全库备份与逻辑备份相结合的方式.3).对于经营分析系统、BI系统、查询系统等数据库,可采用逻辑备份与表空间备份相结合的方式,对变化数据进行增量备份.4).对于一些字典数据库、静态数据较多的数据库,可采用逻辑备份,定期备份相关重要数据.对于上面提到的方法,只是个表面的东西而已,要想保证数据库高效、安全、稳定的运行,必须要有完整的、切实可行的数据库运行管理制度,并且严格执行实施,否则再好的方法都是水中月、镜中花.。
(完整版)Oracle数据库备份和恢复操作手册.doc

1ORACLE 数据库数据备份和恢复操作手册1.1. ORACLE 参数设置进入 CMD 操作界面,使用sqlplus 连接数据库,图例 1 数据库连接操作连接语法: sqlplus system/Oracle2013@orcl参数说明参数说明备注sqlplus 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN图例 2 成功连接数据库环境变量设置 (在 Sqlplus 中执行 )create or replace directory <dir_name> as‘c:\tmpdir’;参数说明参数说明备注dir_name c:\tmpdir 路径名称文件路径也可以是另外的随意目录,用单引号括起来。
图例 3 环境变量设置1.2.数据备份备份脚本: expdp system/Oracle2013@orcl directory=file_pathdumpfile=ARADMIN.dat logfile=ARADMIN.log schemas=ARADMIN参数说明参数说明备注expdp 语法命令system 数据库管理员用户名Oracle2013 system 用户密码数据库安装目录的 tnsnames.ora 文件中可以找到orcl 数据库连接标示符Oracle11G 目录:C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMINdirectory 文件目录名称导出数据库文件的存放目录dumpfile 数据库文件名称导出数据库文件的文件名logfile 数据库日志文件名称导出数据库的日志文件名称schemas 数据库用户操作:图例 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
参数文件 口令文件
控制文件
数据文件
Oracle10g数据库备份与恢复操作手册

Oracle10g数据库备份与恢复操作⼿册Oracle 10g数据库备份与恢复操作⼿册⽬录Oracle 10g数据库备份与恢复操作⼿册 (1)前⾔ (5)⽂档⽬的 (5)⽂档范围 (5)⽬标读者 (5)其他说明 (5)1冷备份 (6)1.1冷备份概述 (6)1.2备份步骤 (6)1.3恢复测试 (6)1.4结论 (7)2热备份 (7)2.1热备份特点 (7)2.2备份操作 (7)2.2.1数据⽂件备份 (8)2.2.2在线备份控制⽂件 (9)3热备份下的完全恢复 (9)3.1⾮ system表空间数据⽂件受损 (9)3.2 system表空间数据⽂件或⼤量数据⽂件受损 (10)3.3回滚数据⽂件损坏恢复 (11)3.4临时表空间⽂件损坏的恢复 (11)3.5控制⽂件损坏的恢复 (12)3.5.1单个控制⽂件被破坏 (12)3.5.2所有控制⽂件被破坏 (12)3.6⽇志⽂件损坏的恢复 (13)3.6.1正常关机情况下⾮当前联机⽇志⽂件被破坏 (13)3.6.2正常关机情况下当前联机⽇志损坏 (14)3.6.3数据库运⾏时或⾮正常关机情况下已归档⽇志 active⽇志⽂件被破坏 (15)3.6.4有备份的情况下数据库运⾏时或⾮正常关机情况下未归档active或 current⽇志⽂件被破坏173.6.5⽆备份的情况下数据库运⾏时或⾮正常关机情况下未归档active或 current⽇志⽂件被破坏194恢复不完全恢复 (20)4.1时间的恢复 (20)4.1.1概述 (20)4.1.2操作步骤 (21)4.2基于SCN的恢复 (22)4.2.1概述 (22)4.2.1操作步骤 (22)5 RMAN备份与恢复 (23)5.1 RMAN概述 (23)5.2 RMAN服务器和⽬标服务器的配置 (24)5.3 RMAN配置 (25)5.4备份集操作 (26)5.5 RMAN备份与恢复 (26)5.5.1全库备份与恢复 (26)5.5.2表空间备份与恢复 (27)5.5.3表空间备份与恢复 (28)5.5.4控制⽂件备份与恢复 (28)5.5.5归档⽂件备份与恢复 (29)5.5.6 RMAN脚本 (29)5.5.7 RMAN增量备份与恢复 (30)6逻辑备份(export/import) (31)6.1概述 (31)6.2简单导出、导⼊数据 (31)6.2.1简单导出 (31)6.2.2简单导⼊ (32)6.3增量导出导⼊ (32)6.3.1增量导出 (32)6.3.2导⼊ (33)7 Flashback. 337.1概述 (33)7.2 Flashback配置步骤 (33)7.3⾏级闪回操作步骤 (35)7.4表级闪回操作步骤 (36)7.5库级闪回操作步骤 (38)8 LogMiner.. 398.1概述 (39)8.2系统配置 (39)8.3操作步骤 (40)⽬录前⾔⽂档⽬的 备份与恢复是数据库管理中最重要的⽅⾯之⼀。
ORACLE数据库备份及恢复方法

ORACLE数据库备份及恢复⽅法⼀、oracle数据备份1、找到电脑右下⽅开始--运⾏,输⼊cmd,进⼊dos命令窗⼝。
2、输⼊sqlplus system/密码@orcl (⼀般管理员登录)--------连接本机oracle数据库输⼊ sqlplus system/密码@IP:端⼝/orcl (⼀般管理员登录)--------连接⾮本机oracle数据库3、创建⼀个dmp的⽬录,输⼊create directory dpdata1 as 'E:\temp\dmp';4、查询是否有此⽬录,select * from dba_directories;5、在E盘下新建E:\temp\dmp⽬录6、赋于要导出数据表的所属⽤户权限,grant read,write on directory dpdata1 to ⽤户名;,授权成功以后输⼊exit 退出sql。
7、开始数据备份,expdp system/密码@orcl directory=dpdata1 dumpfile=⽂件名.dmp logfile=⽂件名.log schemas=⽤户名8、⽬录E:\temp\dmp下⾯可以看到备份⽂件,备份完成。
⼆、oracle数据还原1、找到电脑右下⽅开始--运⾏,输⼊cmd,进⼊dos命令窗⼝。
2、输⼊sqlplus system/密码@orcl (⼀般管理员登录)--------连接本机oracle数据库3、删除user,输⼊ drop user ⽤户名 cascade;4、导⼊还原数据,输⼊ impdp system/密码@orcl directory=dpdata1 dumpfile=dmp⽂件名 logfile=log⽂件名 schemas=⽤户名; 还原完成。
5、在plsql或者其他oracle检查数据完整性,脚本如下:select t.table_name , t.num_rows from user_tables t order by t.num_rows desc三、定时备份:@ECHO OFFschtasks /create /tn IRRIG_SOUTH_DEV数据库定时备份 /tr "E:\temp\IRRIG_SOUTH_DEV.bat" /sc daily /st 00:00:00 /ru "system" PAUSEEXITwindows每晚⾃动运⾏数据库备份bat。
oracle数据库备份与恢复方案

oracle数据库备份与恢复方案在数据库管理中,备份和恢复是至关重要的任务,以确保数据的安全性和可靠性。
Oracle数据库是业界广泛使用的一种关系型数据库管理系统,因此建立一个有效的备份与恢复方案对于保障数据的连续性至关重要。
本文将介绍一种基于Oracle数据库的备份与恢复方案。
备份策略1. 定期完全备份:定期进行完全备份是数据库备份方案的核心。
在该方案中,每隔一段固定的时间,如每周或每月,进行一次完整的数据库备份,将整个数据库的数据和日志都保存起来。
这样,在发生故障时可以方便地还原数据库到最新的备份点。
2. 增量备份:为了减少备份时间和存储空间的占用,可以采用增量备份作为补充措施。
增量备份只备份自上次完全备份以来所做的更改,有效地减少了备份所需的时间和存储空间。
每次增量备份时,将存储增量日志,记录了从上次备份至备份时间点之间的所有更改。
这样,在恢复时只需要应用增量日志即可。
3. 归档日志备份:归档日志是Oracle数据库的重要组成部分,记录了数据库操作的详细信息。
定期对归档日志进行备份,可以保证数据库操作的完整性,以及为数据库灾难恢复提供必要的数据。
恢复策略1. 完整恢复:在发生灾难性故障或数据库崩溃时,首先进行完整恢复。
这需要使用最近的完全备份和所有的增量备份进行数据库的还原。
还原数据库后,再应用归档日志以恢复到最新的状态。
2. 点时间恢复:除了完整恢复外,有时候也需要进行点时间恢复,即将数据库恢复到某个特定的时间点。
这通常发生在误操作或者数据丢失的情况下。
在点时间恢复中,需要找到离指定时间点最近的完全备份,然后逐渐应用增量备份和归档日志,直到恢复到指定时间点。
3. 数据库复制和灾难恢复:为了防止单点故障,可以考虑使用数据库复制和灾难恢复方案。
通过将数据库复制到另一个地理位置的服务器,可以实现实时或定期的同步备份。
当主数据库发生故障时,可以快速切换到备份服务器,实现业务的持续运行。
总结在Oracle数据库管理中,备份与恢复方案是确保数据安全的重要措施。
Oracle数据库备份与恢复实例讲解ppt课件

EXP HELP=Y
精选PPT课件
11
导出方式:Full方式、User方式和Table方式。
完全数据库导出
exp system/manager full=Y constraints=Y file=f:\backup\test.dmp
导出用户表
exp user1/password tables=employees file=f:\backup\test.dmp
脱机备份一般需要备份如下文件:
(1)所有数据文件 (2)所有控制文件 (3)所有联机重做日志 (4)init.ora文件
精选PPT课件
24
脱机备份步骤
(1)以DBA或特权用户登录,对于需要的备份文件, 用户也可通过下列SQL语句来了解数据文件、重演日 志文件及控制文件的相应位置及名称。
脱机备份的优点:
只需要拷贝文件,速度比较快。 将文件拷贝回去,数据库就可以恢复到某个时间点。 若结合数据库归档模式可以很好地恢复数据库。 维护量相对较少,但安全性相对较高。
精选PPT课件
29
脱机备份的缺点:
脱机备份时,数据库必须关闭。 单独使用脱机备份,数据库只能基于某一时间点恢复。 若磁盘空间有限,使用磁带等外设时速度较慢。 脱机备份不能按表或用户恢复。
IMP USERID=username/password PARAMETER=(value1,value2,..)
可以通过如下命令来显示参数
IMP HELP=Y
导出的数据可以导入到不同的数据库中,甚至可 以导入到与生成导出转储文件不同的模式中;可 以导入全部或部分已导出的数据 。
精选PPT课件
13
终”。
精选PPT课件