Oracle数据库备份与恢复实例讲解汇总
Oracle数据库备份与恢复实例讲解

(1)在归档模式下,在表空间APPL_DATA上建立表COURSE, 并插入两条记录
第46页,共112页。
(2)切换日志,查看v$log确认当前日志已经更改 alter system switch logfile;
(3)备份控制文件(在本案例中可以不做) alter database backup controlfile to ´f:\backup\backup.ctl´;
在Oracle中,Export实用程序执行逻辑备份。使用 Oracle的Import实用程序执行数据库恢复。
当用户导入导出时,有相应的权限要求。 在OEM中,当用户连接到Oracle Management Server
时,可以使用图形界面执行数据库的导入和导出。
第10页,共112页。
3.1 导出
联机备份一般备份数据文件、控制文件和日志文件。
第41页,共1Biblioteka 2页。(1)备份所有数据文件
(2)备份所有归档的重做日志文件
(3)备份一个控制文件 (4)检查发生故障的数据文件,恢复数据文件
第42页,共112页。
联机备份的优点:
可在表空间或数据文件级备份,备份时间短。 备份时数据库仍可使用。 可达到秒级恢复(恢复到某一时间点上)。 可对几乎所有数据库实体作恢复。
Oracle数据库备份与恢复
第1页,共112页。
本章内容
1 数据库常见故障类型 2 数据库保护机制
3 数据库逻辑备份与恢复
4 脱机备份(冷备份)
5 联机备份(热备份) 6 使用OMS工具的备份与恢复向导
7 数据库恢复
第2页,共112页。
DBA的主要职责之一是备份数据库和在数据库发生故障 时高效、安全地恢复数据库。
oracle数据库备份恢复

GS下Oracle数据库备份恢复
注意:在对数据库做任何备份恢复操作时,请先备份数据库,以免丢失数据
本文将以一个例子来说明GS下oracle数据库帐套的备份恢复
原有数据库:cwbase002
恢复数据库:cwbase003
1.首先备份原有数据库cwbase002,使用如下命令:密码和oracle 服务名请改动
exp LC0029999/password@oradb file=d:\back\1\002.dmp owner=LC0029999 2.备份完成后会得到d:\back\1\002.dmp这个文件。
接下来,如果需要恢复到cwbase003,如果cwbase003已经存在的话,如果cwbase003正在使用,请谨慎处理,在确定cwbase003没用的话,删除cwbase003这个库,执行如下sql:Drop user lc0039999 cascade ;
如果cwbase003不存在,请新建lc0039999用户后再导入。
lc0039999需要有dba、resource角色,和unlimited tables权限,表空间用cwbase3,临时表用temp
3.在建好了lc0039999这个用户后,执行如下sql执行数据库恢复:密码和oracle 服务
名请改动
Imp lc0039999/password@oradb file= d:\back\1\002.dmp fromuser=LC0029999 touser=LC0039999
4.在恢复完数据库后,需要修改lc0039999用户下的syap表和system用户下
appinstmantab表,具体配置请查询数据依据帐套信息进行修改。
几种oracle数据库恢复的练习示例

7:提示文件不存在。
8ห้องสมุดไป่ตู้还原热备的文件,令该文件脱机。
Alter database datafile ‘88888888’ offline;
9:打开数据库。
10:恢复该文件。
Recover databfile ‘88888888’;
11:alter database datafile online.
而联机日志则可以保证数据库恢复到发生事故时的状态,算是完全恢复。
如果没归档的联机日志丢失(状态为ACTIVE或者CURRENT),则只能使用归档日志恢复到最后一个归档日志的地方,是不完全恢复。
End;
/
5:切换几次日志,使所有日志都已经归档。
Alter system switch log file;
6:正常关闭数据库。Shutdown immediate;
7:恢复:
把当前数据库所有文件移动到一个临时文件夹里,模拟数据库损坏。
8:COPY最初复制的数据库的所有文件,但控制文件和日志文件要使用目前数据库的。
9:启动数据库 startup
mount 后会提示SYSTEM表空间需要恢复。并给出恢复使用的归档日志文档。
确定归档日志位置正确后,输入auto.
ORACLE将一个一个的应用归档文档。直至提示完全恢复成功。
10:打开数据库 alter database open;
11:查看user1用户及t1表中是否有刚才插入的10000条记录。
ORA-00279: ?? 84851370 (? 09/24/2003 11:16:01 ??) ???? 1 ????
ORA-00289: ??: D:\ORACLE\ORADATA\SAMPLE\ARCHIVE\TESTT001S01324.ARC
Oracle的数据备份与恢复

第四部分 数据备份(续)
• 联机热备份:
– 前提条件:数据库必须工作在Archivelog模 式 – 要进行的步骤:
• 逐个表空间备份数据文件
– ALTER TAB_SP BEGIN BACKUP; – 拷贝与表空间有关的数据文件; – ALTER TAB_SP END BACKUP;
• 备份归档日志文件
第二部分 相关的背景知识
• 数据备份模式
– 物理备份
• 冷备份:也称脱机备份,是在数据库处于关闭的状态下的 备份操作。 • 热备份:也称联机备份,是在数据库处于打开状态下的备 份操作。
– 逻辑备份
• 整个数据库的逻辑备份 • 指定表的逻辑备份 • 指定用户的逻辑备份
• Oracle数据库工作模式
第二部分 相关的背景知识(续)
– 1、关闭数据库、 – 2、利用操作系统命令移动控制文件 – 3、编辑init.ora文件,重新定义control_files 中的控制文件路径。 – 4、重新启动数据库。
第四部分 数据备份
• 冷备份(脱机备份):
– Shutdown数据库 – 复制所有的数据文件、控制文件、联机重做 日志文件(比较简单的做法是复制database 的整个目录)。 – 重新启动数据库。
– ARCHIVELOG模式:归档日志模式,即当当前联 机日志的记录空间充满后,形成一个归档日志文件 写到系统配置指定的位置。 – NOARCHIVELOG模式:非归档日志模式,不形成 归档日志文件,联机日志切换时把原有的内容覆盖。
• 数据文件:
– 存放表空间的文件(一个表空间可以跨越多个数据 文件),通过操作系统可以对数据文件进行备份。 – 用 SELECT * FROM DBA_DATA_FILES 可以查询 当前数据库中所有的数据文件。
oracle 故障恢复案例

oracle 故障恢复案例Oracle故障恢复案例1. 数据库实例崩溃恢复某公司的Oracle数据库实例突然崩溃,导致所有业务无法正常运行。
经过专业技术人员的分析,发现是由于服务器硬件故障导致的。
为了恢复数据库,技术人员采取了备份恢复的方式,通过使用备份数据文件和重做日志文件,成功将数据库实例恢复到崩溃前的状态。
2. 数据文件损坏的恢复某公司的数据库中的一个数据文件损坏,导致部分数据无法正常访问。
为了解决这个问题,技术人员首先通过文件系统级别的工具检查数据文件的完整性,并确定了损坏的范围。
然后,他们使用备份数据文件和重做日志文件进行恢复,成功修复了损坏的数据文件,并使数据库恢复正常。
3. 表空间故障的恢复某公司的数据库中的一个表空间突然出现故障,导致表空间中的所有表无法访问。
为了解决这个问题,技术人员首先通过Oracle的故障自诊断工具诊断表空间故障的原因,并确定了故障的范围。
然后,他们使用备份的表空间文件和重做日志文件进行恢复,成功修复了故障的表空间,并使其正常运行。
4. 数据库日志文件损坏的恢复某公司的数据库日志文件突然损坏,导致数据库无法正常启动。
为了恢复数据库,技术人员首先检查了日志文件的完整性,并确定了损坏的范围。
然后,他们使用备份的日志文件进行恢复,成功修复了损坏的日志文件,并使数据库恢复正常。
5. 控制文件丢失的恢复某公司的数据库控制文件丢失,导致数据库无法正常启动。
为了解决这个问题,技术人员首先通过文件系统级别的工具检查控制文件的完整性,并确定了丢失的范围。
然后,他们使用备份的控制文件进行恢复,成功恢复了丢失的控制文件,并使数据库正常启动。
6. 数据库块损坏的恢复某公司的数据库中的一个数据块突然损坏,导致数据库无法正常读取该块的数据。
为了解决这个问题,技术人员首先通过Oracle的故障自诊断工具诊断数据块故障的原因,并确定了损坏的范围。
然后,他们使用备份的数据块进行恢复,成功修复了损坏的数据块,并使数据库恢复正常。
oracle数据库备份---备份和恢复(expimp,冷,热备份)汇总

oracle数据库备份---备份和恢复(exp/imp,冷,热备份二(2009-09-15 19:00:42 转载标签:电脑oraclesqlyes路径信息it 分类:数据库一,逻辑备份准备:ALTER TABLESPACE tablsspace_name(空间表名) READ ONLY将其设置为只读属性(READ WRITE-- -----进入管理员(system,sys. 打开cmd输入exp--进行数据导出(表,用户,、 2: 进入要导出表空间的用户wuquanyin kgddxsksk按着步骤导出 port: Release 10.1.0.2.0 - Production on 星 pyright (c 1982, 2004, Oracle. All right 户名: wuquanyin 令: 接到: Oracle Database 10g Enterprise Editi th the Partitioning, OLAP and Data Mining 入数组提取缓冲区大小: 4096 > 1024 导出文件: EXPDAT.DMP >f:\stud.dmp --------------------------------------------------------- 打开cmd输入imp--进行数据导入 1:ALTER TABLESPACE tablsspace_name(空间表名) READ write; 2:导入文件: EXPDAT.DMP> f:\student.dmp 输入插入缓冲区大小 (最小为 8192 30720>1024经由常规路径由 EXPORT:V10.01.00 创建的导出文件已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入只列出导入文件的内容 (yes/no: no > no 由于对象已存在, 忽略创建错误 (yes/no: no > yes 导入权限 (yes/no: yes > yes 导入表数据 (yes/no: yes > yes 导入整个导出文件 (yes/no: no > yes . 正在将 WUQUANYIN 的对象导入到 WUQUANYIN . . 正在导入表 "STUDENT"导入了 1 行 . . 正在导入表"STUDENT2"导入了 0 行/ --------------------------------------------------------------------------------------------- 二,Oracle数据库冷备份及恢复过程V$backup 不论何种方式,数据库的备份即为v$datafile/v$controlfile/$logfile此三种文件的备份 1,通过v$controlfile 查看控制文件, 2,通过v$logfile查看重做日志文件, 3,通过V$DATAFILE查看数据文件. 发现他们都处于同一文件夹中D:\oracle\product\10.1.0\oradata\oracle中,索性都复制到另一台机器的e:\oracle\product\10.1.0\oradata\oracle中,复制之前shutdown系统。
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 逻辑恢复逻辑恢复是指使用逻辑备份文件来还原数据库中的逻辑结构和数据。
Linux_oracle数据库的备份与恢复

Linux_oracle数据库的备份与恢复1 数据库备份和恢复(备份和恢复均已做成脚本自动运行,下列操作供参考,请不要在生产机上做测试) 1)数据库备份:◆将dbexp.parm,dbexp.sh 拷贝至/home/oracle/backup/.以oracle用户登录系统$ cd /home/oracle/backup$ dos2unix *$ chmod 755 dbexp.sh◆手工执行备份,用oracle用户登录:$ cd /home/oracle/backup$ ./dbexp.sh◆自动执行备份,用root用户登录:#crontab -e 00 01 * * * su - oracle -c "/home/oracle/backup/dbexp.sh"2)数据库恢复:以oracle用户登录系统◆删除用户:sqlplus /nolog>connect / as sysdba;>drop user center cascade;>create user center identified by center;>grant connect,resource,dba to center◆恢复数据库$imp center/center full=y grants=y INDEXES=y constraints=y LOG=/tmp/backup.log rows=y ignore=y file=xxx(xxx--为以前备份的数据文件,如checkid_20041123.dat)oracle数据库的备份与恢复原理及方法:导出(备份)exp 用户名/密码@服务名file=d:daochu.dmp (rows=no(导出空结构)) 导入(恢复)imp 用户名/密码@服务名file=d:daochu.dmp fromuser=原用户名touser=新用户名---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。
Oracle数据库备份与恢复课件

案例2—使用命令执行数据库备份
完成步骤
2.联机表空间备份
(1)确定数据文件 在开始备份整个表空间之前,使用DBA_DATA_FILES数据字 典视图以确定所有表空间的数据文件。例如:
SELECT
TABLESPACE_NAME,
FROM
SYS.DBA_DATA_FILES ;
(2)标记联机表空间备份开始 使用ALTER TABLESPACE命令,标记表空间联机备份开始, 如:
ALTER TABLESPACE USERS BEGIN BACKUP;
(3)备份联机数据文件
COPY E:\Oracle11\oradata\EBUY\USERS01.DBF
F:\BAK01\TSBAK0 (4)标记联机表空间备份结束
Oracle数据库备份与恢复课件
案例3—恢复数据库
完成步骤
使用命令执行数据库恢复 1.热备份的恢复 (1)使用带OFFLINE选项的ALTER DATABASE命令将出现故障的表空间脱机。 例如: ALTER DATABASE DATAFILE ‘E:\Oracle11\oradata\EBUY\USERS01.DBF’ OFFLINE; (2)使用操作系统自带的命令或其他方式将表空间的备份文件复制到原来的位 置,并覆盖原文件。例如: COPY F:\BAK01\TSBAK0\USERS01.DBF E:\Oracle11\oradata\EBUY (3)使用RECOVER命令进行介质恢复,恢复表空间。例如: RECOVER DATAFILE ‘E:\Oracle11\oradata\EBUY\USERS01.DBF’; (4)使用带ONLINE选项的ALTER DATABASE命令将表空间联机。例如: ALTER DATABASE DATAFILE ‘E:\Oracle11\oradata\EBUY\USERS01.DBF’ ONLINE;
Oracle数据库备份与恢复之完全攻略

Oracle数据库备份与恢复之完全攻略一、导出/导入(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/managerinctype=complete file=040731.dmp。
(2)“增量型”增量导出备份上一次备份后改变的数据,比如:exp system/managerinctype=incremental file=040731.dmp。
(3)“累积型”增量导出累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。
比如:exp system/manager inctype=cumulative file=040731.dmp。
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:星期一:完全备份(A) 星期二:增量导出(B) 星期三:增量导出(C)星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F)星期日:增量导出(G)。
oracle数据库备份与还原方法

oracle数据库备份与还原方法一、Oracle数据库备份方法。
1.1 冷备份。
冷备份是在数据库关闭状态下进行的备份。
这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。
你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。
这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。
不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。
1.2 热备份。
热备份可就不一样啦,它是在数据库运行的时候进行备份的。
这就像是给一个正在跑步的人换鞋子,难度不小。
热备份主要是利用归档模式,对表空间或者数据文件进行备份。
这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。
但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。
1.3 逻辑备份。
逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。
这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。
它可以备份特定的表、用户或者整个数据库。
这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。
但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。
二、Oracle数据库还原方法。
2.1 冷备份还原。
如果是冷备份还原,那就简单多啦。
首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。
不过要注意文件的权限和路径,可不能张冠李戴。
一切就绪后,再启动数据库,就大功告成了。
这就像把修好的东西重新启动,又能正常工作了。
2.2 热备份还原。
热备份还原就复杂得多了。
首先要根据备份的情况,确定需要还原的表空间或者数据文件。
然后利用归档日志和备份文件进行恢复。
这过程就像走钢丝,得小心翼翼的。
Oracle数据库备份恢复介绍

Oracle数据库备份恢复介绍Oracle备份与恢复数据库整体备份RMAN> BACKUP DATABASEPLUS ARCHIVELOG; Rman备份级别•数据库•表空间•数据文件•控制文件•服务器参数文件(spfile)•归档日志文件•完全备份包含所有使用的数据文件块。
•级别为0的增量备份等同于标记为0级的完全备份。
•级别为1的累积增量备份仅包含自上次级别为0的增量备份以来修改的块。
•级别为1的差异增量备份仅包含自上次增量备份以来修改的块。
•差异增量备份包含自上次增量备份以来更改的所有块。
•累积增量备份包含自上次级别为0的增量备份以来更改的所有块。
启用块更改跟踪可简化备份过程,其可以:•在更改跟踪文件中记录更改的块•由RMAN 自动使用(如果启用此选项)•通过避免备份过程中的完全数据文件扫描来优化增量备份SQL> ALTER DATABASE ENABLE2> BLOCK CHANGE TRACKING3> USING FILE '/mydir/rman_change_track.f'4>REUSE;RMAN> RECOVER COPY OF2> DATAFILE {n|'file_name'}3> WITH TAG'incr_upd_df1';•列出数据文件的备份集和副本:RMAN> LIST BACKUP OF DATABASE;RMAN> LIST BACKUP OF DATAFILE2>"/db01/ORADATA/u03/users01.dbf";•列出指定表空间的任何数据文件的备份集和副本:RMAN> LIST COPY OF TABLESPACE "SYSTEM";•列出包含指定范围的归档日志的备份集和副本:RMAN> LIST COPY OF DATABASE ARCHIVELOG2> FROM TIME='SYSDATE-7';备份(副本)清理•RMAN> crosscheck backup;•RMAN> crosscheck backup of database;•RMAN> crosscheck backup of tablespace "SYSTEM";•RMAN> crosscheck backup of datafile 1;•RMAN> crosscheck backup of controlfile;•RMAN> crosscheck backup of spfile;•RMAN> crosscheck backup of archivelog all;•RMAN> delete(expired)……•RMAN> show all;•RMAN> report obsolete;•RMAN> delete obsolete;恢复可分为以下两类:•完全恢复是将数据库恢复到当前最新状态,包括直至请求恢复时进行的所有已提交的数据更改。
Oracle数据库备份与还原示例教程_ARD

第1章Oracle如何创建数据库在Oracle中建库,通常有两种方法。
一是使用Oracle的建库工具DBCA,这是一个图形界面工具,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。
在Windows系统中,这个工具可以在Oracle程序组中打开(”开始”—“程序”—“ Oracle - OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database Configuration Assistant”),也可以在命令行(”开始”—“运行”—“cmd”)工具中直接输入dbca来打开。
另一种方法就是手工建库,下面我会一一举例说明。
第一:手工建库手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。
手工建库需要经过几个步骤,每一个步骤都非常关键。
它包括:1、创建必要的相关目录2、创建初始化参数文件3、设置环境变量Oracle_sid4、创建实例5、创建口令文件6、启动数据库到nomount(实例)状态7、执行建库脚本8、执行catalog脚本创建数据字典9、执行catproc创建package包10、执行pupbld11、由初始化参数文件创建spfile文件12、执行scott脚本创建scott模式做完了以上的步骤之后就可以使用“SQL>alter database open;”打开数据库正常的使用了。
下面,我将具体地把以上的几个步骤用实验展开来讲。
实验系统平台:Windows XP 数据库系统版本:Oracle Database 10GOracle的安装路径:D盘创建的数据库名称:book1、打开命令行工具,创建必要有相关目录C:/>mkdir D:/oracle/product/10.2.0/admin/bookC:/>mkdir D:/oracle/product/10.2.0/admin/book/bdumpC:/>mkdir D:/oracle/product/10.2.0/admin/book/udumpC:/>mkdir D:/oracle/product/10.2.0/admin/book/cdumpC:/>mkdir D:/oracle/product/10.2.0/admin/book/pfileC:/>mkdir D:/oracle/product/10.2.0/admin/book/createC:/>mkdir D:/oracle/product/10.2.0/oradata/book上面创建目录的过程也可以在Windows的图形界面中去创建。
历史上最详细的Oracle备份与恢复案例

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

一:exp/imp(导出与导入装库与卸库)1.1 基本命令1. 获取帮助$ exp help=y$ imp help=y2. 三种工作方式(1)交互式方式$ exp // 然后按提示输入所需要的参数(2)命令行方式$ exp [email=[ft=#333333,,]user/pwd@dbname]user/pwd@dbname[/email] file=/oracle/test.dmp full=y // 命令行中输入所需的参数(3)参数文件方式$ exp parfile=username.par // 在参数文件中输入所需的参数参数文件username.par 内容userid=username/userpassword buffer=8192000compress=n grants=yfile=/oracle/test.dmp full=y3. 三种模式(1)表方式,将指定表的数据导出/导入。
导出:导出一张或几张表:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2导出某张表的部分数据$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\―where col1=\‗…\‘and col2 \<…\‖导入:导入一张或几张表$ imp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 fromuser=dbuser touser=dbuser2 commit=y ignore=y(2)用户方式,将指定用户的所有对象及数据导出/导入。
导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx,yy)只导出数据对象,不导出数据(rows=n )$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2commit=y ignore=y(3)全库方式,将数据库中的所有对象导出/导入导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser21.2 高级选项1. 分割成多个文件以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个dump文件可能会超出文件系统的限制的情况$ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m log=xxx.log full=y以多个固定大小文件方式导入$ imp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000mtables=xxx fromuser=dbuser touser=dbuser2 commit=y ignore=y2. 增量导出/导入// oracle 9i 以后exp 不再支持inctype必须为SYS 或SYSTEM 才可执行增量导出导入增量导出:包括三个类型:(1)―完全‖增量导出(Complete)// 备份整个数据库$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete(2)―增量型‖增量导出导出上一次备份后改变的数据。
实验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 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 V ARCHAR2(25));(3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否存在cold表。
(4)将BOOKSALES数据库设置为归档模式。
1.1 shutdown immediate 正常关闭数据1.2 startup mount;将数据库启动到mount状态3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。
alter database flashback off1.3 alter database archivelog;发出设置归档模式的命令1.4 alter database open;打开数据库1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件1.6 archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式1.6.2 Automatic archival为Enable说明启动了自动归档。
oracle数据丢失恢复数据方法

oracle数据丢失恢复数据方法在使用Oracle数据库过程中,数据丢失是一种常见的问题。
当数据库中的数据丢失时,我们需要及时采取措施来进行数据恢复,以避免数据的长期丢失。
本文将介绍一些常用的Oracle数据丢失恢复方法,帮助我们有效地处理这个问题。
1. 数据库备份与恢复数据库备份是一种常见的防范措施,它可以帮助我们在数据丢失后快速恢复数据库。
在Oracle中,我们可以使用RMAN(Recovery Manager)工具来实现数据库备份和恢复。
RMAN可以备份整个数据库或者特定的表空间、数据文件等,同时也支持增量备份,大大减少了备份所需的时间和空间。
当数据库发生数据丢失时,我们可以使用RMAN来恢复备份的数据库文件,确保数据的完整性。
2. 闪回技术Oracle提供了闪回技术,可以帮助我们恢复数据库到某个历史时间点的状态。
通过闪回技术,我们可以将数据库中的数据、表结构等回滚到特定的时间点,从而实现数据的恢复。
闪回技术相比于传统的数据恢复方法,具有更高的效率和更少的风险。
我们可以使用闪回查询(FLASHBACK QUERY)来查看历史数据,使用闪回表(FLASHBACK TABLE)来恢复特定表的状态,使用闪回数据库(FLASHBACK DATABASE)来恢复整个数据库。
3. 日志文件恢复Oracle数据库在运行过程中会生成大量的日志文件,这些日志文件记录了数据库的操作、变更等信息。
当数据库发生数据丢失时,我们可以通过日志文件的恢复来还原数据。
在Oracle数据库中,我们可以使用归档日志文件(Archive Log)或在线重做日志文件(Online Redo Log)来进行数据恢复。
归档日志文件可以将数据库中的所有变更操作记录下来,当数据丢失时,我们可以将归档日志文件应用到数据库中,恢复数据的完整性。
同时,我们也可以使用在线重做日志文件来进行数据恢复,将重做日志文件中的操作应用到数据库中。
4. 数据库导入导出数据库导入导出是一种常见的数据恢复方法。
Oracle数据库的备份与恢复案例详解

Oracle数据库的备份与恢复案例详解⽬录1 逻辑备份/恢复(导出/导⼊)1.必备参数2.owner参数3.tables参数4.关于inctype参数2 物理备份/恢复1.冷备份/恢复2.热备份/恢复3 利⽤PL/SQL Developer备份数据库在Oracle数据库的使⽤过程中,备份与恢复是经常遇到的操作。
Oracle中的备份分为两⼤类:逻辑备份和物理备份。
其中物理备份⼜分为两类:冷备份和热备份。
本节将简要讲述如何利⽤各种备份⼿段进⾏Oracle数据库的备份与恢复。
1 逻辑备份/恢复(导出/导⼊)逻辑备份是指利⽤exp命令进⾏备份。
利⽤该命令进⾏备份,简单易⾏,也不影响正常的数据库操作。
因此,经常被作为⽇常备份的⼿段。
exp命令可以添加多个参数选项,以实现不同的导出策略。
可以通过exp –?命令进⾏查看。
其中,常⽤参数包括:owner、table和inctype。
1.必备参数对于⼀个导出命令,可以只使⽤必备参数,如范例1所⽰。
【范例1】演⽰导出命令的使⽤。
C:\Documents and Settings\Administrator>exp system/abc123 file=d:/b.dmp【代码说明】system/abc123为登录数据库时所使⽤的⽤户名和密码;file=d:/b.dmp指定数据导出所存放的⽂件完整路径。
这⾥需要注意的是,该命令并未指定登录到哪个数据库实例,因此,将使⽤系统环境变量ORACLE_SID所指定的数据库实例。
注意:另外⼀种特殊情况为,在环境变量列表中找不到ORACLE_SID,那么,可以在注册表中搜索ORACLE_SID项。
Oracle也会参考注册表中该项的值来设置环境。
2.owner参数owner参数,可以指定⼀个⽤户名列表。
导出时,将只导出⽤户名列表中⽤户所拥有的对象,如范例2所⽰。
【范例2】演⽰owner参数的使⽤。
C:\Documents and Settings\Administrator>exp system/abc123 owner=(test, oracle) file=d:/b.dmp【代码说明】owner=(test, oracle)指定exp命令仅仅导出test和oracle两个⽤户所拥有的对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章内容
1 2 3 4 5 6 7
数据库常见故障类型 数据库保护机制 数据库逻辑备份与恢复 脱机备份(冷备份) 联机备份(热备份) 使用OMS工具的备份与恢复向导 数据库恢复
DBA的主要职责之一是备份数据库和在数据库发 生故障时高效、安全地恢复数据库。 备份方法
ORACLE数据库两种运行方式
归档方式(ARCHIVELOG),归档方式的目的是当数 据库发生故障时最大限度恢复数据库,可以保证不丢 失任何已提交的数据。 不归档方式(NOARCHIVELOG),只能恢复数据库到最 近的回收点(冷备份或是逻辑备份)。
3 数据库逻辑备份与恢复
数据库逻辑备份:读一个数据库记录集,并以 Oracle 提供的内部格式写入一个二进制文件中。 这些记录的读出与其物理位置无关。 在Oracle中,Export实用程序执行逻辑备份。使 用Oracle的Import实用程序执行数据库恢复。 当用户导入导出时,有相应的权限要求。 在 OEM 中 , 当 用 户 连 接 到 Oracle Management Server 时,可以使用图形界面执行数据库的导入 和导出。
exp user1/password tables=(employees,jobs) file=f:\backup\test.dmp 导出用户模式 exp user1/password owner=user1 file=test.dmp
3.2 导入
一旦数据已经导出,就可以通过Oracle的Import实 用程序执行导入,来恢复数据库。Import实用程 序读取由Export创建的二进制导出转储文件并执 行其中的命令 。 IMP USERID=username/password PARAMETER=(value1,value2,..) 可以通过如下命令来显示参数
IMP HELP=Y
导出的数据可以导入到不同的数据库中,甚至可 以导入到与生成导出转储文件不同的模式中;可 以导入全部或部分已导出的数据 。
导入用户自身所拥有的表
IMP system/ora456 tables=student file=f:\backuptest.dmp IMP system/ora456 tables=(student, course) file=f:\backuptest.dmp
(2)在system下,导出Scott的表dept,导出文件 test2.dmp
(3)将Scott的表dept导入到System中 (4)再次执行步骤(1)中的查询,验证导入成功
冷备份 热备份 逻辑备份(Export/Import)
完全恢复 不完全恢复 RMAN备份恢复等方式
恢复方法
1 数据库常见故障类型
系统崩溃或服务器崩溃 用户错误、冲突或者磁盘失效导致的文件丢失 SQL语句失败 网络故障 场地灾难
2 数据库保护机制
Oracle数据库保护机制:数据库备份和事务日志。
事务日志
数据库的事务日志(Transaction Log)是一组操作系统 文件,它记录了提交事务所做的数据库修改。 日志主要是保护数据库,在数据库出现故障时执行恢 复。 为了防止日志本身的故障,Oracle允许在不同的物理磁 盘上维护两个或多个日志的副本。
举例,磁盘失效后如何保护和恢复数据库 。
(1)正常工作时,每天晚上备份数据库,包含所有 数据文件。 (2)某一天,包含数据库的某个数据文件的磁盘坏 了,因此一部分数据不可用(做了磁盘容错的情况 例外),因此需要执行数据库恢复。 (3)把有问题的磁盘更换为新的磁盘。 (4)将最近的数据库备份存入新的磁盘中以恢复丢 失的数据文件,但是,恢复的数据文件丢失了备份 发生后所提交的事务工作。 (5)最后,执行数据库恢复工作。在恢复过程中, Oracle读取事务日志,把过去提交的事务工作重做, 使数据库文件成为当前文件。 (6)数据库恢复后,打开数据,供应用程序使用。
导入用户模式
imp system/manager FROMUSER=scott TOUSER=system tables=dept file=f:\backup\test.dmp
3.3 逻辑备份案例
案例1,导出数据库表,用户误操作删除表,执 行导入表,恢复数据库
(1)TEST2数据库(System用户,口令为ora456),导 出表student
3.1 导出
Oracle的实用程序Export 用来读取一个数据库, 并把输入写入一个称为导出转RID=username/password PARAMETER=(value1,value2,..)
可以通过如下命令来显示参数
EXP HELP=Y
导出方式:Full方式、User方式和Table方式。
完全数据库导出 exp system/manager full=Y file=f:\backup\test.dmp 导出用户表 constraints=Y
exp user1/password tables=employees file=f:\backup\test.dmp
(2)删除表student中的数据,或者将整个表删除,数 据已经不存在,或者表被删除
(3)导入表student,恢复数据库
(4)查询表和数据,验证导入是否成功
案例2,导入其他方案的表。将Scott的表dept导入 System
(1)System下没有Scott的表dept,注意,这不同与查 询时使用scott.dept
Oracle数据库
数据库备份
事务日志
数据库备份
一般来说,数据库备份可以分为物理备份和逻辑备份。 物理备份可分为脱机备份和联机备份。脱机备份又称 为冷备份,只能在数据库关闭后进行备份;联机备份 又称为热备份,数据库没有关闭,用户还可以使用。 逻辑备份是使用Export实用程序备份,当数据库出现 故障,可以使用Oracle的Import实用程序恢复数据库。