6种Oracle数据备份方法总结,选对方法,效率翻倍

[复制链接]
查看2705 | 回复7 | 2022-2-9 07:37:10 | 显示全部楼层 |阅读模式
' H/ @$ Z; |+ D
本文出自头条号老王谈运维,转载请说明出处。
, G! R$ Y: L7 \  i& {# A/ _: s8 G# M/ Q

9 A2 o; c! _( P$ w2 D/ n( v对于数据库运维人员,数据的备份和恢复非常重要。数据的丢失往往会给企业带来巨大的损失,因此在保证数据不丢失的情况来提升系统的性能是对DBA最基础的要求。
4 x' @- m, A$ c  W
1 o% @, W- @' N. o9 f; [% t8 p上一篇文章小编总结了Oracle不同损坏级别的恢复,介绍了不同程度的数据库损坏合适的数据恢复方式(地址:https://www.toutiao.com/i6701178106838778382/)。2 _1 e" G5 l3 a/ l/ r5 T3 u0 W

# \6 C& R4 Q5 B1 M
6种Oracle数据备份方法总结,选对方法,效率翻倍-1.jpg

, n' T0 x3 C. c) x/ G! y& ]& H3 X: c% w5 e" K
今天主要讲述 Oracle 基于 rman 在各级别下的备份,包括全备、增量备份、表空间、数据文件、控制文件、归档日志文件等,方便大家在工作中可以根据实际场景实际需求,选择合适的备份方法及备份方式。5 l8 @& o( A3 i8 v6 ^

1 P) d8 j5 c3 C' }8 v( a) L6 F' b5 b库完全备份0 R8 K3 A* Z- C; N! ^, K

2 ]) y) [/ q" o. X+ _! \. a" s1.1 使用场景
) K" \2 r3 f; i& p0 V5 G+ S% n+ {0 G+ i  a7 G' i' W7 V
在 Oracle 数据库的数据量不大的情况下。6 R) p, U  P/ V# Y& g& x( m
; c: R! I! Q' O9 H+ t, A
1.2 采用备份集的方法9 l1 k$ \0 R8 _  s3 W4 Q3 T) @
rman> run{allocate channel c1 device type disk;backup database FORMAT ’ /flash_recovery_area/backup_U%.backupset’plus archivelog delete input;release channel c1;}6 O7 a) }2 S# D) J" q+ z: b
1.3 采用数据镜像的备份方式& E, R0 F- J) t2 N+ ?
1 }1 F( ?7 \) l2 O9 j
数据库镜像备份采用COPY命令,或BACKUP命令的AS COPY选项。例如在面面的备份示例中,进行了数据库的镜像完全备份:* |9 C2 A* [( ~) K8 ?# N* x
rman>run{allocate channel c1 device type disk;backup as copy database plus archivelog delete input;release channel c1;}
% F( g1 B( w# D9 F, B% @& T
6种Oracle数据备份方法总结,选对方法,效率翻倍-2.jpg
9 b+ f) I; E) A/ F

; X: E- Q: s' N% x5 w/ V增量备份6 }/ N! j% z2 q4 G" ~  n" _

9 C- D& f, b% Q' h" f) B0 W2.1 使用场景+ E0 j" I8 B1 Z" y
% |! F% b4 f3 ?- ^" q: H
Oracle 数据库的数据量较大,如果每次都全备,会比较耗时,这时通常是采用增量备份,不过需要注意的是增量备份是以0级的全备为基础的。例如:你可以周日进行一次全备,1-6进行增量备份。0 k+ ~& ]' z' S" b; o( ?* Z
. e  r3 L3 C: K. [& J0 n
2.2 使用方法4 W8 ^1 A- R( T4 X
; S( T2 }4 N" h/ p( c
1)数据库的0级备份
  W$ q1 P* k, l, G  rrman> run{allocate channel c1 device type disk;backup incremental level=0 database plus archivelog delete input;release channel c1;}
$ q. G' g' G3 j: w说明:数据库的0级备份就是oracle的全备,但与普通的全备不同的是可以在0级备份基础上进行增量备份,而普通的全备此没有此功能。
! b, W7 p( s" ?/ [; g+ B* Q9 c* U  Y) c+ T; }
2)数据库的1级备份! O* h0 G7 r- }! i( r5 H' ]! z
rman> run{allocate channel c1 device type disk;backup incremental level=1 database plus archivelog delete input;release channel c1;}" A* ~, z4 w& B8 W
3)增量累计备份 在增量备份中,若干次的同级、上级增量备份可以被合并,称为增量的“累计”备份。下面的示例描述了进行增量累计备份的过程。所有0级备份后的1级备份被本次备份合并,备份基于磁盘进行,申请了两个磁盘通道。同时备份归档日志,备份完成后即删除:3 y! D" {7 t8 F/ m. F0 \/ X! d9 _
rman>run{allocate channel c1 device c1 type disk;allocate channel c2 device c2 type disk;backup incremental level=1 Cumulative database plus archivelog delete input;release channel c1;release channel c2;}
" N3 ^6 B) h: e6 L5 W' \备份数据文件
, @3 |9 O  l6 r- b# I, D9 J$ D% i  U! ^6 X3 C; _5 @5 @
3.1使用场景  R* ]2 r3 \# I

; w' {+ m6 ~! m- |( Z& C8 ?如果 Oracle 数据库中只有一个或若干表空间的数据文件数据变化频繁,则 Oracle 也支持仅对这些数据文件或对应的表空间进行备份。
+ K7 z/ F8 R# \; y4 ]  Q6 B9 O9 p
3.2 使用方法  P6 ]7 X6 h! }) Y$ G5 j
rman>run{allocate channel c1 device type disk;allocate channel c2 device type disk; backup datafile 4,5 filesperset=1release channel c1;release channel c2;}
5 B) A( p( d" P' x
6种Oracle数据备份方法总结,选对方法,效率翻倍-3.jpg
; V3 _' j% n8 E( V9 M2 w
, m4 C' r" C  [" B$ {
备份表空间
; a" J2 J8 H. q5 s/ {* Y$ M( p  U% b  }
4.1 使用场景
& |4 ]- {5 O8 j& D
' F2 ?  [' n$ G$ @​ 使用场景同单独备份数据文件
8 x4 T2 `) o) J/ Y' ]* x* Z, i8 M: M7 B( e) q
4.2 使用过程8 X; C8 {# u% [# c9 C8 ^1 P' S! B
rman>run{allocate channel c1 device type disk;allocate channel c2 device type disk;backup tablespace USERS FILESPERSET=1;release channel c1;release channel c2;}
9 n7 V8 ?$ ?2 `% ]' @通过下面的命令检查表空间的备份结果:
! ~" Y4 O  R5 o# Trman>list backup of tablespace users;
; Z3 ^. @5 m9 i5 l) r备份控制文件
; d9 C  `/ w  g- g3 z2 Q$ ^* ~( A
5.1 使用场景+ Y0 {2 K" h5 s) K% A' ]- h
/ r  L/ A2 ?) @
数据库的整体迁移,数据文件的目录发生改变,此时需要单独备份控制文件至跟踪文件中。
- [9 K* a  L6 ~! ?" p# p5 J; w- j
3 l$ f$ Z5 ?, _8 S( m1 V- s' ?$ ^! `5.2 使用过程
( {9 k* z1 o! j5 h& X7 t9 g) q- I
# T! `+ H5 y. p$ G( ]方法一: 将控制文件自动备份功能打开:; X2 c7 H, Q0 F" N* a2 k! {7 O
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP on;
  A* g' m% c/ B* _* u方法二:单独地备份控制文件* k0 j  m3 a1 I6 D& d
RMAN>BACKUP CURRENT CONTROLFILE;( i1 z7 ?; S( ~, B
方法三:备份其他数据库文件时附带备份控制文件2 k1 I8 s& s0 L; g% i
RMAN>BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;
* h. E" Q* Z' i8 O6 V' t检查备份结果' F) Y9 n0 R% d6 I+ O
RMAN>list backup of controlfile;
; N9 V, `6 ?$ g- ^% ^备份归档日志, u2 b/ o* {: Y7 B4 A8 H/ H7 [

9 Q, s8 b7 v  i3 h6 B" l6.1 使用场景; g5 c& ^1 Z9 Q0 y' [" M

7 `, d# ]/ c+ Z2 v3 E: X1 w备份数据库的时候没有备份归档日志文件,此时就需要对归档日志文件进行单独备份。
) G% L  k+ x4 `% `6 T! M* k1 r/ X' }. A+ a: D6 a
6.2 使用方法: r" a# d, \9 @0 l3 p1 j
, p3 j' X6 E% R# z7 B+ ?/ A
1)查看系统归档日志信息4 C1 X5 Q' h/ v/ H
RMAN>list archivelog all;
) ^' o, ]$ k' }6 e* Y- o+ }2)备份所有归档
# b. K! a) q& l% SRMAN>backup archivelog all delete all input format '.......';
, X8 ~. I! F' l- {3 G但是,在一般情况下,数据库备份计划一般通过在BACKUP DATABASE中指定PLUS ARCHIVELOG选项来直接进行归档文件的备份,备份期间,RMAN对当前联机重做日志文件进行归档,然后对当前未备份归档日志进行备份。这样,这个备份集将尽可能地包含了可用于恢复的素材,将数据库恢复到一个一致性的状态。( D5 O+ k2 r9 I( J5 @/ n) r& [
RMAN>run{alllocate channel c1 device type disk;allocate channel c2 device type disk;backup incremental level=0 database plus archivelog delete input;release channel c1;release channel c2;}<hr>4 b; r5 Y. r: G/ s$ D8 c" K- w
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?$ e% x! k: I- I' Y$ b

2 r3 G7 D$ B- u4 {* e, f加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....
* }3 W, y2 v+ _; ^" g: w. S$ k2 w8 K7 q: J* b9 q0 [
私信小编“联盟”,即可加入我们~
123486303 | 2022-2-9 13:17:10 | 显示全部楼层
转发了
哈利波特阿穆 | 2022-2-9 22:16:05 | 显示全部楼层
转发了
客都孤鹰 | 2022-2-10 04:49:32 | 显示全部楼层
转发了
123485786 | 2022-2-10 07:56:37 | 显示全部楼层
转发了
示弱 | 2022-2-10 09:06:47 | 显示全部楼层
转发了
口酷 | 2022-2-10 15:57:23 | 显示全部楼层
转发了
刘义山 | 2022-2-10 23:16:04 | 显示全部楼层
转发了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

11

金钱

0

收听

0

听众
性别

新手上路

金钱
11 元