Oracle 数据库的备份与恢复
上一篇 /
下一篇 2008-04-08 10:07:29
/ 个人分类:数据库
51Testing软件测试网 e I]9v8F D文章出处:http://www.pconline.com.cn/pcedu/empolder/db/oracle/0409/461459_1.html
]mL`]051Testing软件测试网P.G?!wP,h!o+_OOracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。51Testing软件测试网[ e#u^4[
51Testing软件测试网DzT.bAv6?
I
W 一、 导出/导入(Export/Import)51Testing软件测试网Q[^z;i#J2O
B(u\9B/g:^lj0 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
MWp&~S k!D051Testing软件测试网`p+TT,o&J!E"yr&@
1、 简单导出数据(Export)和导入数据(Import)51Testing软件测试网(Q_B&k;b$})^3j
c*a I%dH
A@V i0 Oracle支持三种方式类型的输出:
.?
Cu*xZS8y051Testing软件测试网H1x[#y-gh(F?*_-JLw
(1)、表方式(T方式),将指定表的数据导出。
#nz,_r
N/w k0 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。
7Qp&Hiy
M"uK0 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。51Testing软件测试网g5{X2QKAV
51Testing软件测试网S(s1P.TlN$Rk5p
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。51Testing软件测试网1IX~*p!Tfi
51Testing软件测试网+fs3J0Mv%kC{
2、 增量导出/导入51Testing软件测试网5q$@ BMjl_X;i
51Testing软件测试网pJ#r4\]
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。51Testing软件测试网R$Xb)gg7b
$C h1I*r.X1G"z1y0 增量导出包括三种类型:51Testing软件测试网a1x(t){DFE2@\
r
?Y9Q}k?H0 (1)、“完全”增量导出(Complete)
9|:E/V9qi0 即备份三个数据库,比如:
R'AZ6}]s0 exp system/manager inctype=complete file=040731.dmp51Testing软件测试网d(gN@lAP
(2)、“增量型”增量导出51Testing软件测试网(WN+O9~O9M
备份上一次备份后改变的数据,比如:51Testing软件测试网3obHtP%D:r
exp system/manager inctype=incremental file=040731.dmp
u!UM!l0WIF OG!m0 (3)、“累积型”增量导出51Testing软件测试网
CV!T'oS3Af+s
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:51Testing软件测试网PpB8LOQ _
exp system/manager inctype=cumulative file=040731.dmp51Testing软件测试网$x? Dqh]Fi(q7o0x
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。51Testing软件测试网3f0R4A3t*^
比如数据库的被封任务可以做如下安排:51Testing软件测试网9\B1q6e H
!U"V+b`MA0 星期一:完全备份(A)51Testing软件测试网:SI`v!x-W
星期二:增量导出(B)51Testing软件测试网#y!d"WjS,P?
星期三:增量导出(C)
"\
BD:[~2Z3G0 星期四:增量导出(D)51Testing软件测试网2Sw wo6gi
星期五:累计导出(E)51Testing软件测试网(jMiMsu[2?s
星期六:增量导出(F)51Testing软件测试网wImV(P4O1~*h.~
星期日:增量导出(G)51Testing软件测试网5y i#irhUz+dH
51Testing软件测试网6P0?r
D1h$VV如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:51Testing软件测试网
O%}
o
LW{q)?DW){/YQ
51Testing软件测试网lduB;N4Khu"cG
第一步:用命令CREATE DATABASE重新生成数据库结构;
v'h^G4Uo)N1f0 第二步:创建一个足够大的附加回滚。51Testing软件测试网&bjB-|;b]u
第三步:完全增量导入A:51Testing软件测试网{y Q8J1\
imp system/manager inctype=RESTORE FULL=y FILE=A
Y7ojn?5f0 第四步:累计增量导入E:51Testing软件测试网 b#B;Dbf,A? m%S
imp system/manager inctype=RESTORE FULL=Y FILE=E51Testing软件测试网H$h@Zi
第五步:最近增量导入F:51Testing软件测试网x
g,wAIG
imp system/manager inctype=RESTORE FULL=Y FILE=F51Testing软件测试网$o"j%KT#@f)]VhK
51Testing软件测试网{:E1d6kxAt
二、 冷备份51Testing软件测试网2\vf!n EP P9g OG+l
3j
|V7HE5j0 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:51Testing软件测试网*ROc4b} P|
51Testing软件测试网
n aW$`S.m J
1、 是非常快速的备份方法(只需拷文件)
sLzj{/L5S-k0 2、 容易归档(简单拷贝即可)
F
G9`f@1OG^9W0 3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
"n`dq;Y|m4q}0 4、 能与归档方法相结合,做数据库“最佳状态”的恢复。51Testing软件测试网 `N]*h$E6I6X.X
\
5、 低度维护,高度安全。51Testing软件测试网"}I mf x&PdKS9?
51Testing软件测试网:A{J3pT%L+b$r
但冷备份也有如下不足:
P+X
w)l*r.s
GK#aiI051Testing软件测试网y ]){7~L _0Jcow
1、 单独使用时,只能提供到“某一时间点上”的恢复。51Testing软件测试网oV"y~!X
2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
s,_8s%N!BZ-n1my5\0 3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。51Testing软件测试网ZU.Hbxa"Db!rv
4、 不能按表或按用户恢复。
#T:`]1]8|051Testing软件测试网(AW$y!t;pV%au
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:51Testing软件测试网1v;xkb!oi
51Testing软件测试网\5fe5t;a~
1、 所有数据文件51Testing软件测试网JQ/PRg9a*AC
2、 所有控制文件51Testing软件测试网7U v]o
{]`F
3、所有联机REDO LOG文件
s`Bv)|km4b#z0 4、 Init.ora文件(可选)
Xx}4?l%[
e-zn051Testing软件测试网r7pU+R:?'M8K4@3o
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。51Testing软件测试网8C5q:PdHkC
51Testing软件测试网;IglH`{&N下面是作冷备份的完整例子。
p f:LP1{0
l4x_"Zr6o
g0 (1) 关闭数据库51Testing软件测试网S&k1m:eiA
sqlplus /nolog51Testing软件测试网8_8vS7pbv&~
sql>connect /as sysdba
NU^sRU_0 sql>shutdown normal;51Testing软件测试网7fq)S2ue
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件51Testing软件测试网?O6b)F[f
sql>cp51Testing软件测试网x
s
ua7FleK0b
(3) 重启Oracle数据库
+qZs_#?w|r`m0 sql>startup51Testing软件测试网Sk5WT4e$Xg*l
51Testing软件测试网h"H%g(\Nu8t&z,Q-w
三、 热备份
2}G~@,b.lSi2Jz051Testing软件测试网!tP\(G*lS g
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
2C0ui$X6Ee1r J051Testing软件测试网4YK\IX
1. 数据文件一个表空间一个表空间的备份。51Testing软件测试网T-lk;XF:H
51Testing软件测试网xk?!|:G'Y
(1) 设置表空间为备份状态51Testing软件测试网^7MsA"T;@&^!~
(2) 备份表空间的数据文件
l/\V4`2fBa8u K1c$NC0 (3) 回复表空间为正常状态51Testing软件测试网+]
Y
g9C2p9MEL:Iy
:Z
E-mu[\G@&zA0 2. 备份归档log文件51Testing软件测试网Aa D6WR] OS
51Testing软件测试网S;]!\,QA0~-`q3^7j%i
(1) 临时停止归档进程51Testing软件测试网#\#x M#n
~VFX
(2) log下那些在archive rede log目标目录中的文件
;U7hx"ecJ6_l9]x0 (3) 重新启动archive进程51Testing软件测试网'T5^Vx
A\-R_r@1J
(4) 备份归档的redo log文件51Testing软件测试网FuQCNnH
q[M-~]'m0 3. 用alter database bachup controlfile命令来备份控制文件51Testing软件测试网c g pSx5w
热备份的优点是:
`:Q iaF!y8I\8W0
4CU7p/gY#z8DuP0 1. 可在表空间或数据库文件级备份,备份的时间短。51Testing软件测试网/bR%RTa
2. 备份时数据库仍可使用。51Testing软件测试网G{5f?R0@
3. 可达到秒级恢复(恢复到某一时间点上)。
N#R&PZuTYY0 4. 可对几乎所有数据库实体做恢复
9uNKm:p
veA0 5. 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
uIR`]tt0
t)j?
VL h#sN-Y0 热备份的不足是:51Testing软件测试网G~`ICxl
51Testing软件测试网| e:`iv%N(d0Q`
1. 不能出错,否则后果严重51Testing软件测试网 nbmT!C$u T
2. 若热备份不成功,所得结果不可用于时间点的恢复
B i`a;sH]b0 3. 因难于维护,所以要特别仔细小心,不允许“以失败告终”。51Testing软件测试网kp
iO"Z
收藏
举报
TAG:
Oracle
数据库
备份
恢复