实验8 Oracle数据库备份与恢复
oracle数据库的备份与恢复

第六章 oracle数据库的备份与恢复第一部分:数据库的备份备份的必要性因为各种人为或外界的因素可能会造成数据库中灾难性的数据丢失,为了保证数据库中数据的安全,必须采取备份措施保证RDBMS中包含的数据免遭破坏,而有效的备份是十分简单和普通的,是在数据库处于无法使用状态时用于重建数据库的重要信息拷贝。
在重要的修改如删除段或者表空间以前或以后执行适当的备份是相当必要的。
备份的种类:冷备份:一种最简单直接的备份方式,也称为脱机备份,但是必须关闭数据库,这对于当前7×24的有效性并不可取;联机热备:正如名称所示,是在数据库打开时执行的备份方式,进行联机备份比进行脱机备份的进程复杂;用导出exp应用程序备份:是对于脱机备份和联机备份类型的补充,因为它无法回滚,所以不能替代数据库文件的备份。
各种备份的原理和步骤:冷备份:关闭数据库,采取操作系统拷贝命令来完成对数据库的备份,然后启动数据库。
例如:将名为lyj的数据库作一个冷备份,备份的文件放置在/mnt/backup_wy/目录下。
首先找出控制文件、数据文件和redo日志文件的存储位置SQL> select name from v$controlfile ;NAME----------------------------------------------------/u3/oradata/lyj/control01.ctl/u3/oradata/lyj/control02.ctl/u3/oradata/lyj/control03.ctlSQL> select status,name from v$datafile ;STATUS NAME---------- ----------------------------------------SYSTEM /u3/oradata/lyj/system01.dbfONLINE /u3/oradata/lyj/tools01.dbfONLINE /u3/oradata/lyj/rbs01.dbfONLINE /u3/oradata/lyj/temp01.dbfONLINE /u3/oradata/lyj/users01.dbfONLINE /u3/oradata/lyj/indx01.dbfSQL> select * from v$logfile ;GROUP# STATUS MEMBER--------------------------------------------------------------------------------1/u3/oradata/lyj/redo01.log2 /u3/oradata/lyj/redo02.log3 /u3/oradata/lyj/redo03.log●关闭数据库:SQL> shutdown数据库已经关闭。
oracle数据库的备份与恢复

物理备份
冷备份: 冷备份:
列出要备份的数据库文件 Select name from v$datafile; Select name from v$controlfile; 关闭数据库:不要使用 不要使用shutdown abort 关闭数据库 不要使用 Shutdown immediate; 复制所有数据库文件 Host copy c:\test\*.dbf e:\bck\; Host copy c:\test\*.ctl e:\bck\; 启动例程并打开数据库 Startup open;
物理备份
热备份(联机备份): 热备份(联机备份):
设置表空间为备份模式
Alter tablespace users begin backup;
复制数据文件
Host copy c:\test\users.dbf e:\bck\;
设置表空间为正常模式
Alter tablespace users end backup;
综合练习
1、脱机状态下的备份与完全数据库恢复 2、联机状态下的备份与完全数据库恢复 3、脱机状态下的备份与不完全数据库恢复 4、联机状态下的备份与不完全数据库恢复
总结
在数据库管理方面,稳定性和安全性是数据库管理人员 需要考虑的一个重要方面,而备份恢复是维护这种特 定一个必要的手段。通过备份和恢复,系统可以一直 处于较正常的运行状态,即使遇到很多较为严重的故 障,因为备份工作的完整也可以避免故障带来的很多 严重影响。本课主要讲述就是一些较为基本的备份恢 复手段。 通过本课的学习,能够掌握基本的脱机备份和联机备份 的方法以及完全恢复和不完全恢复的方法。并且能够 较为熟练的把这些方法贯穿起来,从而保证自己维护 的数据库能够较为稳定、安全的运行。
Oracle数据库备份与恢复(ppt 113页)

Oracle数据库
数据库备份
事务日志
数据库备份
一般来说,数据库备份可以分为物理备份和逻辑备份。
物理备份可分为脱机备份和联机备份。脱机备份又称 为冷备份,只能在数据库关闭后进行备份;联机备份 又称为热备份,数据库没有关闭,用户还可以使用。
导出用户表 exp user1/password tables=employees file=f:\backup\test.dmp
exp user1/password tables=(employees,jobs) file=f:\backup\test.dmp 导出用户模式 exp user1/password owner=user1 file=test.dmp
导入用户模式
imp system/manager FROMUSER=scott TOUSER=system tables=dept file=f:\backup\test.dmp
3.3 逻辑备份案例
案例1,导出数据库表,用户误操作删除表,执 行导入表,恢复数据库
(1)TEST2数据库(System用户,口令为ora456),导 出表student
联机备份一般备份数据文件、控制文件和日志文 件。
(1)备份所有数据文件 (2)备份所有归档的重做日志文件 (3)备份一个控制文件 (4)检查发生故障的数据文件,恢复数据文件
联机备份的优点:
可在表空间或数据文件级备份,备份时间短。 备份时数据库仍可使用。 可达到秒级恢复(恢复到某一时间点上)。 可对几乎所有数据库实体作恢复。 恢复快速,大多数情况下恢复不需要关闭数据库。
当用户导入导出时,有相应的权限要求。 在 OEM 中 , 当 用 户 连 接 到 Oracle Management
ORACLE备份和恢复方案

ORACLE数据库备份与恢复方案备份方案设计前提:数据库设置为归档模式,不使用恢复目录数据库1、一个月一次在线全库备份2、每天归档日志备份3、每周一次exp导出4、每天一次exp增量导出5、保留最近两次全备和归档日志的备份6、至少保留最近一个月exp文件7、既备份到磁盘也备份到磁带Win2000下oracle8i/9i的备份方案的实现说明:数据库实例:ora9i,备份目录为e:\backup每个月一次全备1、备份命令文件:fullbackup.batrman cmdfile=fullbackup.rcvcopy C:\oracle\oradata\ora9i\CONTROL01.CTL e:\backup\CONTROL01.CTL /y 2、RMAN参数文件:fullbackup.rcvconnect target system/manager@ora9i;run{allocate channel c1 type disk;backup full tag 'dbfull' format 'e:\backup\dbfull%u_%s_%p' database;sql 'alter system archive log current';backup archivelog all delete input format 'e:\backup\arch%u_%s_%p';release channel c1;}3、任务计划增加一个每月1号1点开始执行的任务计划fullbackup每天一次归档日志的备份1、备份命令文件:archbackup.batrman cmdfile=archbackup.rcv2、RMAN参数文件:archbackup.rcvconnect target system/manager@ora9i;run{allocate channel c1 type disk;sql 'alter system archive log current';backup archivelog all delete input format 'e:\backup\arch%u_%s_%p';release channel c1;}3、任务计划增加一个每天2点开始执行的任务计划archbackupUNIX下oracle8i/9i的备份方案的实现基本相同,但计划任务得用crontab来实现恢复方案设计Win2000下oracle8i/9i的恢复方案的实现一、故障描述:磁盘损坏,数据库彻底瘫痪处理方法:1、更换磁盘,重新安装ORACLE(如果数据库安装的磁盘也损坏的话),重新创建实例ora9i,让数据库处于shutdown状态。
实验8 oracle数据库的备份与恢复

备份的数据库 备份 开始备份 SCN 81000
自动产生的、递增的SCN 是数据库的时间戳,可以 标识数据库的状态
损坏的数据库
发生介质故障 85000
82000
资源与环境科学学院
8.3、数据库逻辑备份与恢复
逻辑备份与恢复就是使用 Oracle 提供的操作系统工具 Export、 Import 将数据导出或导入。逻辑备份是数据的备份。
83000
84000
恢复 修复的数据库
利用归档日志文 件、联机重做日 志文件再现这段 时间的修改操作
恢复的数据库
SCN
81000
82000
83000
84000
85000
图8-1 数据库备份与发生故障后恢复数据库的过程
资源与环境科学学院
除了介质故障需要 DBA 参与,并进行某些手动的工作之外,当在 Oracle 中出现事务故障、系统故障(或例程故障)时,Oracle都会自动地 进行崩溃恢复(crash recovery)和例程恢复(instance recovery)。从 而将数据库自动恢复到故障时刻的事务一致性状态,既不丢失已经提交的 事务所做的修改,也不保留未提交事务所做的修改。
Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复 (物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作 模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style), 通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,它 们的关系如下所示:
实验8 Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复1 实验目得(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库得备份与恢复。
(4)掌握数据得导入与导出操作、2实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份、(3)利用RMAN工具对BOOKSALES数据库得数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库得不完全恢复。
3实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select fromdba_data_files;selectmemberfrom v$logfile;select valuefromv$parameter where name='control_files’;(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库得状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME VARCHAR2(25));(3) 利用数据库冷备份恢复BOOKSALES数据库到备份时刻得状态并查瞧恢复后就是否存在cold表。
(4) 将BOOKSALES数据库设置为归档模式。
1、1 shutdownimmediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭得话,在后面关闭归档日志得时候就会出现讨厌得ora-38774错误、alter database flashback off1、3alter database archivelog;发出设置归档模式得命令1.4 alter database open;打开数据库1、5 再次正常关闭数据库,并备份所有得数据文件与控制文件1.6archivelog list;在将数据库设置为归档模式后,可以执行此命令进行确认1、6、1Database logmode 为ArchiveMode说明当前得数据库为归档模式1、6。
(完整版)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
参数文件 口令文件
控制文件
数据文件
备份和恢复数据库Oracle
2.1 冷备份与恢复
冷备份又称脱机备份,必须在数据库已经正常关闭的情况下进行,此时, 系统会提供给用户一个完整的数据库。
冷备份时可以将数据库使用的每个文件都备份下来,这些文件包括: 所有控制文件(文件后缀名为.CTL,默认路径Oracle\oradata\oradb) 所有数据文件(文件后缀名为.DBF,默认路径Oracle\oradata\oradb) 所有联机REDO LOG文件(文件形式为REDO*.*,默认路径 Oracle\oradata\oradb) 初始化文件INIT.ORA(可选)(默认路径Oracle\admin\oradb\spfile)
archive log list; 如果归档日志模式没有启动,则打开数据库的归档日志模式, 先使用shutdown immediate命令关闭数据库,然后使用如下 命令启动数据库:
startup mount; (2)修改数据库的归档日志模式:
alter database archivelog;
备份和恢复数据库Oracle
如果数据库在ARCHIVELOG方式下,可实施在线日志的归档。 在控制文件中指明填满的日志文件组在归档之前不能重用。一 旦组成为不活动,执行归档的进程立即可使用该组。
备份和恢复数据库Oracle
2 物理备份与恢复
2.1 冷备份与恢复 2.2 热备份与恢复 2.3 几种非完全恢复方法
备份和恢复数据库Oracle
SQL>recover database until cancel;
(4)恢复完成后,使用RESETLOGS模式启动数据库即可:
SQL>alter database open resetlogs;
备份和恢复数据库Oracle
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)。
实验8 Oracle数据库备份与恢复1 实验目的(1)掌握Oracle数据库各种物理备份方法。
(2)掌握Oracle数据库各种物理恢复方法。
(3)掌握利用RMAN工具进行数据库的备份与恢复。
(4)掌握数据的导入与导出操作。
2 实验要求(1)对BOOKSALES数据库进行一次冷备份。
(2)对BOOKSALES数据库进行一次热备份。
(3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数文件、归档日志文件进行备份。
(4)利用热备份恢复数据库。
(5)利用RMAN备份恢复数据库。
(6)利用备份进行数据库的不完全恢复。
3 实验步骤(1)关闭BOOKSALES数据库,进行一次完全冷备份。
select file_name from dba_data_files;select member from v$logfile;select value from v$parameter where name='control_files';(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。
CREATE TABLE COLD(ID NUMBER PRIMARY KEY,NAME VARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
shutdown immediate 正常关闭数据startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback offalter database archivelog;发出设置归档模式的命令alter database open;打开数据库再次正常关闭数据库,并备份所有的数据文件和控制文件archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 Database log mode 为Archive Mode说明当前的数据库为归档模式Automatic archival为Enable说明启动了自动归档。
(5)对BOOKSALES数据库进行一次热备份。
select tablespace_name,file_name from dba_data_files order by tablespace_name;alter tablespace users begin backup;alter tablespace users end backup;alter database backup controLfile to 'G:\APP\LENOVO\BOOKSALES\'; alter database backup controlfile to trace;Alter system archive log current;Alter system switch logfile;(6)在数据库创建一个名为hot表,并插入数据库,以改变数据库的状态。
create table hot(id number primary key,name varchar2(25))2 tablespace users;insert into hot values(93,'panyifan');(7)假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
SQL> SHUTDOWN ABORTORACLE 例程已经关闭。
SQL> STARTUP MOUNTORACLE 例程已经启动。
SQL> ALTER DATABASE DATAFILE'G:\app\lenovo\BOOKSALES\'OFFLINE; SQL> ALTER DATABASE OPEN;SQL>RECOVER DATAFILE'G:\app\lenovo\BOOKSALES\';完成介质恢复。
SQL> alter database datafile'G:\app\lenovo\BOOKSALES\'online;(8)数据库恢复后,验证hot表的状态及其数据情况。
(9)利用数据库的热备份,进行基于时间的不完全恢复。
SQL> SHUTDOWN ABORTORACLE 例程已经关闭。
SQL> STARTUP MOUNTORACLE 例程已经启动。
recover database until time '2017-07-07';(10)为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
connect target sys/liuqin@booksalesconfigure default device type to sbt;configure device type disk parallelism 2;configure device type disk parallelism 3;Configure channel 3 device type disk maxpiecesize=50m;(11)利用RMAN工具完全备份BOOKSALES数据库。
BACKUP DATABASE FORMAT 'G:\app\lenovo\product\';(12)利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
BACKUP SPFILE FORMAT 'G:\BACKUP\%U';RMAN> BACKUP CURRENT CONTROFILE FORMAT'G:\BACKUP\%';(13)利用RMAN工具对USERS表空间、BOOKTB1表空间进行备份。
BACKUP TABLESPACE users,BOOKTB1 FORMAT 'D:\BACKUP\%';(14)利用RMAN工具对BOOKSALES数据库的数据文件、进行备份。
BACKUP DATAFILE 'G:\app\lenovo\BOOKSALES\'FORMAT 'G:\app\lenovo\BOOKSALES\%u'; BACKUP DATAFILE 'G:\app\lenovo\BOOKSALES\'FORMAT 'G:\app\lenovo\BOOKSALES\%u';(15)利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
SHUT DOWN IMMEDIATE;STARTUP MOUNT;RESTORE DATABASE;RECOVER DATABASE;ALTER DATABASE OPEN;ALTER DATABASE OPEN RESETLOGS;(16)利用EXPDP工具导出BOOKSALES数据库的整个数据库。
create or replace directory dumpdir as 'D:\BACKUP';SQL> GRANT READ,WRITE ON DIRECTORY dumpdir TO human;SQL> grant exp_full_database,imp_full_database to human;expdp system/liuqin directory=dpum_dir DUMPFILE= FULL=YES NOLOGFILE=YES(17)利用EXPDP工具导出BOOKSALES数据库的USERS表空间。
Expdp system/tiger DIRECTORY=DPUMP_DIR DUMPFILE= FULL=YESNOLOGFILE=YES(18)利用EXPDP工具导出BOOKSALES数据库的publishers表和books表。
EXPDP SYSTEM/LIUQIN DIRECTORY=DPUMP_DIR DUMPFILE=LOGFILE= TABLES=, PARALLEL=3(19)利用EXPDP工具导出BOOKSALES数据库中bs模式下所有数据库对象及数据。
expdp bs/liuqin directory=dpum_dir DUMPFILE= FULL=YES NOLOGFILE=YES(20)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP 工具进行恢复。
Drop table orderitem;Drop table order;Impdp scott/liuqin DIRECTORY=DPUMP_DIR DUMPFILE= TABLES=DEPT,EMPNOLOGFILE=Y4 实验总结本次实验主要内容为“Oracle数据库备份与恢复”,因此在以后的数据库应用中起到很重要的作用。
但本次实验有一定的难度,尤其老师还未在课堂讲过的利用RMAN工具,EXPDP工具,IMPDP工具进行备份,恢复,和导入导出数据,代码能够理解,但是用cmd启动expdp和impdp却未能解决。