oracle备份与恢复机制
- 格式:docx
- 大小:11.88 KB
- 文档页数:4
oracle增量备份原理
Oracle增量备份的基本原理是通过读取数据块中的SCN(系统更改号)来跟踪自上次备份以来发生的数据变化。
具体过程如下:
1. 在进行增量备份时,RMAN(Oracle的恢复和备份管理器)会读取每个数据块的SCN。
2. RMAN会将读取到的SCN与上次备份的SCN进行比较,以确定数据块是否发生了变化。
3. 如果数据块发生了变化(即SCN不同),RMAN会将这些变化的数据块备份下来。
4. 通过这种方式,增量备份只备份自上次备份以来发生变化的数据块,而不是整个数据库。
这大大减少了备份所需的时间和资源。
Oracle增量备份有两种类型:差异增量备份和累积增量备份。
1. 差异增量备份:备份自上次同级或上级备份以来发生变化的数据块。
这种备份方式可以减少备份时间,但恢复时需要较多次的增量恢复和完整的恢复。
2. 累积增量备份:备份自上次上级备份以来发生变化的数据块。
这种备份方式需要更多的备份时间,但恢复时只需要较少的增量恢复和完整的恢复。
在Oracle 9i版本中,增量备份需要扫描整个数据库的数据块来确定哪些数据块发生了变化,这是一个代价较大且耗时的过程。
而在Oracle 10g及以后的版本中,Oracle对增量备份进行了改进,不再需要扫描整个数据库的数据块,从而大大提高了备份效率。
注意,虽然增量备份可以大大减少备份所需的时间和资源,但恢复数据时可能需要较多次的增量恢复和完整的恢复,这可能会增加恢复时间。
因此,在选择是否使用增量备份时,需要根据实际情况进行权衡。
Oracle备份与恢复案例By Piner一. 理解什么是数据库恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。
因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。
恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。
数据库恢复可以分为以下两类:1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实例故障,此时需要实例恢复。
实例恢复将数据库恢复到故障之前的事务一致状态。
如果在在线后备发现实例故障,则需介质恢复。
在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。
如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理:(1)为了解恢复数据文件中没有记录的数据,进行向前滚。
该数据记录在在线日志,包括对回滚段的内容恢复。
(2)回滚未提交的事务,按步1重新生成回滚段所指定的操作。
(3)释放在故障时正在处理事务所持有的资源。
(4)解决在故障时正经历一阶段提交的任何悬而未决的分布事务。
1.2介质故障或文件错误的不一致恢复介质故障是当一个文件、一个文件的部分或磁盘不能读或不能写时出现的故障。
文件错误一般指意外的错误导致文件被删除或意外事故导致文件的不一致。
这种状态下的数据库都是不一致的,需要DBA手工来进行数据库的恢复,这种恢复有两种形式,决定于数据库运行的归档方式和备份方式。
(1)完全介质恢复可恢复全部丢失的修改。
一般情况下需要有数据库的备份且数据库运行在归档状态下并且有可用归档日志时才可能。
对于不同类型的错误,有不同类型的完全恢复可使用,其决定于毁坏文件和数据库的可用性。
(2)不完全介质恢复是在完全介质恢复不可能或不要求时进行的介质恢复。
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表空间进行镜像备份。
oracle数据库数据备份清理机制
Oracle数据库有多种备份和恢复机制可以使用,其中包括:
1. 数据库完整备份:使用RMAN (Recovery Manager)工具进行
数据库完整备份。
RMAN可以创建一个完整备份集,包含数
据库中的所有数据文件、日志文件和控制文件。
通过使用RMAN进行完整备份,可以轻松地恢复数据库到一个特定的
时间点。
2. 增量备份:使用RMAN进行增量备份,只备份自上次备份
以来发生更改的数据块。
这种备份机制可以减少备份的时间和存储空间,但在恢复时需要借助完整备份。
3. 归档日志备份:在归档模式下,Oracle将数据库的已提交事
务记录到归档日志中。
通过备份归档日志,可以实现点-in-
time的恢复和恢复到特定的时间点。
4. 数据库闪回:Oracle提供了闪回数据库(Flashback Database)功能,可以快速地将整个数据库恢复到一个特定的时间点,而不是单独恢复数据文件。
这种机制可以避免备份和恢复的过程。
在备份完成后,可以根据存储空间和备份策略的要求来清理备份。
可以使用RMAN的DELETE命令来删除不需要的备份。
可以使用RMAN的RETENTION POLICY来设置RMAN应保
留的备份的时间段。
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 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
oracle adg 原理
OracleADG是一种高可用性和灾备解决方案,基于 Oracle 数据库的物理备份和恢复技术,可以实现实时数据复制和故障切换。
其原理主要包括以下几个方面:
1. 数据库备份和恢复
Oracle ADG 的数据复制基于 Oracle 数据库的物理备份和恢复技术,即将原始数据库的数据文件复制到备用数据库上,并通过Oracle 数据库的恢复技术进行恢复。
这种方式可以保证数据的一致性和完整性,同时也可以保证数据的实时性和高可用性。
2. 数据复制和同步
Oracle ADG 通过 Redo Apply 技术将原始数据库的 redo 日志传输到备用数据库上,并将其应用到备用数据库的数据文件中,从而实现数据的复制和同步。
在这个过程中,Oracle ADG 可以实现数据的实时复制和同步,同时也可以保证数据的一致性和完整性。
3. 数据保护和故障切换
Oracle ADG 可以通过实时数据复制和同步实现数据的保护和灾备,当原始数据库发生故障时,可以通过故障切换将备用数据库切换为主数据库,从而实现高可用性和灾备。
在这个过程中,Oracle ADG 可以通过 Data Guard Broker 管理工具实现自动故障切换和自动故障恢复。
总之,Oracle ADG 是一种高可用性和灾备解决方案,基于Oracle 数据库的物理备份和恢复技术,可以实现实时数据复制和故
障切换,从而保障业务的连续性和稳定性。
oracle数据库备份与还原方法一、Oracle数据库备份方法。
1.1 冷备份。
冷备份是在数据库关闭状态下进行的备份。
这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。
你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。
这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。
不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。
1.2 热备份。
热备份可就不一样啦,它是在数据库运行的时候进行备份的。
这就像是给一个正在跑步的人换鞋子,难度不小。
热备份主要是利用归档模式,对表空间或者数据文件进行备份。
这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。
但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。
1.3 逻辑备份。
逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。
这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。
它可以备份特定的表、用户或者整个数据库。
这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。
但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。
二、Oracle数据库还原方法。
2.1 冷备份还原。
如果是冷备份还原,那就简单多啦。
首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。
不过要注意文件的权限和路径,可不能张冠李戴。
一切就绪后,再启动数据库,就大功告成了。
这就像把修好的东西重新启动,又能正常工作了。
2.2 热备份还原。
热备份还原就复杂得多了。
首先要根据备份的情况,确定需要还原的表空间或者数据文件。
然后利用归档日志和备份文件进行恢复。
这过程就像走钢丝,得小心翼翼的。
谈ORACLE备份与恢复
经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦.
1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式).
1.1.冷备份:
~ 1)关闭数据库
s hu t d o wn;
-一2)备份数据文件、控制文件、重做日志文件
一-A、查找备份文件的位置
SELEC T * FROM VSDATAFIL E ; —査数据文件
s el e ct * f r om v$cont r o 1 f il e ; —查控制文件
s e le c t * f r om vSlogf i 1 e; —査日志文件
~ B、备份数据文件、控制文件、重做日志文件
$ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *;
$ cop y D:\ora cle \ oradat a \ora9 \ *・ c t 1 d : \ b a k\*・ *:
$ copy D:\oracle \o r adata\o r a9\*・ I og d:\bak\*・ *;
1.2.热备份:
~ 1)查询备份的数据文件与哪一个表空间有关
SELECT V$TAF3LESPACE ・ NAME, VS DATAFILE. NAME
FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#);
~ 2)备份数据文件
a 1 t er tablespace 表空间BEGIN BACKUP;
$ COPY数据文件存放路径
ALTER TABLESP ACE 表空间END BACKUP ;
―3)查询是否还有表空间处于备份模式
SELECT * F ROM VSBAC KUP; —STATUS 不是ACTIV E 即可以
SELECT , V$BAC KUP・STA TUS,V$ D ATAFILE. NAME
FROM V$TABLESPACE JOIN VSDATAFILE USING (TS#) J OIN V$BACKUP USING (FILE#):
~ 4)备份控制文件
ALTER DATABASE BACKUP CONTROLF I LE TO '目标路径及文件名':
1・3・r m a n备份:
-- 1)一个简单的rman全库备份:
> rman n o c a talog t a rget " s y s / s ys"
R MAN> res t o re c ontrolf i 1 e from au t obac k u p ;
RM A N> c onf i gu r e con t rolfile a utobackup on;
RMAN> b a c ku p databas e ;
~ 2)备份数据文件、控制文件、归档日志
RMAN> BACKUP DATAFILE 数据文件名;
RMAN> BACKU P CURRE N T CONTRO LFILE;
RMAN> BACKUP ARCHIV E LOG ALL;
—- 3 )备份控制文件trace
SQL> a 1 t er se s sio n se t t race file _ident i f i e r=system ;
SQ L> a Iter da t abase b a cku p controlfil e t o t r ace;
SQL> alt e r d a tabase bac k u p co n t r o lfile t o ' d: \ t em p \ c on trolfile・ bak';
~ 4)备份表空间
RMAN> bac k up tab I e s pace 表空间名;
-rman备份比较复杂,只举些简单的例子.
1.4.逻辑备份
-- 1)数据库方式(导岀用户要具有exp_ f ull_datab a se权限)
exp scot t i ti g e r@o「a 9
f ul 1 =y f i 1 e ="D: \f u I 1. d mp〃
~ 2)用户方式
e xp us 已:r i d 二scot t / t ig e o ra 9 own e r =scott fil e =d: \ s cott .drop 1 og=d: \ s c o tt・lo g
—3)表方式
exp sc o tt / t ige 卩@o“9 t a bles= ( e mp, d ept) fil e =,z d:\emp・ dm p 〃
2. oracle的恢复(简单举例):
2.1冷备份的恢复,
1). STARTUP MOUNT;
2). ALTE R DAT AB A SE DATAFILE 数据文件OFFLIN E DROP;
3 )・ A L TER DATABAS E OPEN;
2.2热备份恢复:
1). STARTUP MOUNT;
2). ALTER DATABASE DAT AF I LE 数据文件OFFLINE; 一一/ / sys t em 0 1. dbf不能设置未OFF LI NE状态
3). AL TER DATABASE OPEN;
2. 3 rma n备份恢复:
~ 1)使用rman恢复归档数据库:
rma n t a rg e t /
rman> sta r t u p m o unt
rma n > res t ore dat a base;
rman> recover d a t abase;
rm a n> alter data b ase op e n;
—2)使用rman恢复表空间:
r man> res t ore tab 1 e s pac e
rman> recov e r tablesp a ce
rman>
run {
s ql " alter ta b lespace users o f f line immediate";
re s to r e tab 1 espa c e u s er s ;
recov er t a b 1 e s pac e u s ers;
s ql a Iter tablespace use r s onl i ne ":
}
2.4 .逻辑恢复
--1)数据库方式(导入用户要具有ex p _full_database权限)
imp s y stem/ s yst em@oralO f u 11= y f ile二"f :\full. dm p "
一2)用户方式
imp u s e r i d二scott / t iger@ora 1 0 fromus e r=sco t t t o u s er=s c ott file= d :\scott. dmp 1 og=d:\s c o t t. Io g
--3)表方式
i mp s y stem/sy s t e m@o r al 0 fromu s e r=s c o 11 to u s er 二scott file 二" f : \emp. dmp"
-一注意:导岀用户要和导入用户相同可以用上面的方法,否则用
imp sco t t/ti ger @oralO fu 1 1 =y f i 1 e二"f : \emp.dmp"
3.oracle备份与恢复方法的选择:
1).对于一些小系统、小数据虽:、没有在线要求的数据库,采用冷备份,简单方便、可靠(所有文件时间点一致),但如果是这类系统个人觉得使用oracle就是一种浪费,学习除外.
2).对于7X24小时的大系统、帐营支撑系统、客服系统的数据库,使用归档模式运行,采用全库备份与逻借备份相结合的方式.
3).对于经营分析系统、BI系统、査询系统等数据库,可采用逻辑备份与表空间备份相结合的方式,对变化数据进行增量备份.
4).对于一些字典数据库、静态数据较多的数据库,可采用逻辑备份,左期备份相关重要数据.
对于上而提到的方法,只是个表面的东西而已,要想保证数据库高效、空全、稳圧的运行, 必须要有完整的、切实可行的数据库运行管理制度,并且严格执行实施,否则再好的方法都是水中月、镜中花.。