我们拒绝平庸,拒绝随波逐流,拒绝墨守成规,让梦想不再流浪。

oracle闪回特性

上一篇 / 下一篇  2014-06-05 14:05:57 / 个人分类:甲骨文

51Testing软件测试网7I xiIQ1@]

JPCcsL.gt051Testing软件测试网7nxl^(S/~f

sS'|%k3UQ0

&a eLm*WY`?051Testing软件测试网c R^&{;D!I

51Testing软件测试网%U7A}%A#mk7e5J

51Testing软件测试网9S2{4\q/R3LKu

51Testing软件测试网@|.}5}gKrJ1Rd

51Testing软件测试网bt%nM!XOUW#Y2p

51Testing软件测试网&H_|aN:S"yw uVE

51Testing软件测试网 @9`,P D,X"Wd!Qe

51Testing软件测试网*| sBW%c

51Testing软件测试网yB j Ub)I @^

51Testing软件测试网'Y4J0Fs.fjQ] L

6rR@"M G0

EA{9L+B$JP051Testing软件测试网DO1J A0w@7o cT

51Testing软件测试网+c {2{w^#| zU~#Hay

-r^o(il'O%GQ t)s0特性概述

tq;R4E`+])G8_0闪回技术通常用于快速、简单恢复数据库中出现的人为误操作等逻辑错误,即:闪回只对逻辑错误有意义,对数据块损坏和联机日志损坏必须采用介质恢复。51Testing软件测试网9kT G%H`(Xna.?

51Testing软件测试网.Sh'|4A,j?Mg \&f+]

E3Z/DU+vq[1k0闪回类型

KaFM+X#w2\.F0从闪回的方式可以将闪回分为:

T/l)@K jY!{051Testing软件测试网$U4FX:M Z bO

1、 基于数据库级别闪回;

` H9]Xw+VM051Testing软件测试网%S8_:Vbv6Ey b

2、 表级别闪回;

m?R{R051Testing软件测试网dJP ]`$]F7T(T

3、 事务级别闪回.

)jYR3} n051Testing软件测试网$U5H.O7Z:mVt mBa

51Testing软件测试网} _,[DWWK Ki9Se6t

f0QYSZ6U3IO1`-l0根据闪回对数据的影响程度又可以分为:

#C)A9g B0e9D@7j b4]0

e9JC,g@0WU01、 闪回恢复;51Testing软件测试网L-LQt?f

4Z z9bz V,v9_02、 闪回查询。

I T9G KY v051Testing软件测试网$VH2J jl-js F3p

闪回恢复将修改数据,闪回点之后的数据将全部丢失。而闪回查询则可以查询数据被DML的不同版本,也可以在此基础之上确定是否进行恢复等。51Testing软件测试网(HP vh*X(TWZ`

2W8Q2\tk0

!@ f v*L d8iR L]0如何启用闪回启用闪回前检查51Testing软件测试网D"]B(m$g0zl F8Y

确认是否启用闪回功能

)wJ#Y y)lIh*G |051Testing软件测试网1]d~4Jf E

SQL> select flashback_on from v$database;

FAdea A&dm051Testing软件测试网~vIs5pvh't

51Testing软件测试网.PU8[XX v

51Testing软件测试网.Z$e8cz&Y?G

FLASHBACK_ON51Testing软件测试网 z7u3^8C x'?Wz?M

51Testing软件测试网[ wU~*c.m

------------------51Testing软件测试网4a+L;JaX"eN~

51Testing软件测试网'Q#N\F `

NO

GS%LT \bK7h0

?p M@d Cp0

^'\6r4U.^e8]0

1A-D#Cr0U5~'k0SQL>51Testing软件测试网^*cR4|0|ajZ#Y3`

f2H Gp"f0

m:P\ v$vHt051Testing软件测试网w9l4wK/mbE)[ R$P

说明:

:Cx&RTw:Aj0

_qBwtmW01、flashback_on取值为NO,说明尚未启用闪回功能,取值为YES则表示启用了闪回功能。

[ e%@S3_vV051Testing软件测试网A2e%s&E[ O Ot

2、该参数仅能在数据库mount状态下修改。51Testing软件测试网 w.OC'} gE5y6Hq+R2U

51Testing软件测试网{#I{:m2b:mt

1jSX~R#C0

zD:\6]^:b2Q Z3z0确认当前日志归档模式

@7Uw7p.r0

g_%kMr(Kr8ek/h0SQL> archive log list51Testing软件测试网N/y]i:D~/Y5G,l

51Testing软件测试网7C5j/p3y)q

Database log mode Archive Mode51Testing软件测试网,{ ^:x7rr7dYzz

|8`9f~ eE0Automatic archival Enabled51Testing软件测试网ZV%_ VXra(vQ$AD B

8T{}9T|0Archive destination /opt/oracle/product/11g/dbs/arch

L MA$cZsy K0

II`7a,sxq{ l3]bRk0Oldest online log sequence 216

2@$|b0b.@5c!a8Lq#G(nz0

gy}l7B"W(G ]g0Next log sequence to archive 22051Testing软件测试网mN6u0Fb~&H5vx

*y | p&x p?0Current log sequence 22051Testing软件测试网~4r9@Rw9Jg

K o]7CsI-}s1?XK0SQL>51Testing软件测试网 y`2X`SJR$Fs e

T!]'N3XW D8U:[4v051Testing软件测试网-f5S,P\ iv,Us Ep

-M(cmU q R0说明:51Testing软件测试网.qX!Y7c3fL Sd l)Lm

51Testing软件测试网|"|z5xd

如果非归档模式下,启用闪回失败:

x9Jwx7}mru p0

)kn(IW1Zi'w0SQL> alter database flashback on;

R9VP0G/E0

R0Ln#A {RSk!k0alter database flashback on51Testing软件测试网Lq5cO&i~M s o8|3ft

51Testing软件测试网.Gs4T8K;b [C#O0s

*51Testing软件测试网%x!yUALwx

'yu Zi"_o$x7c0ERROR at line 1:51Testing软件测试网r,a,}&nv

.b/FwcwzD0ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

2M s^L9\ ~"h g9rj0

t+B*TL/@%S0ORA-38707: Media recovery is not enabled.51Testing软件测试网m1G5@+H d^

[i t:Q(U{e v)T051Testing软件测试网 O:??(D3U9Np

51Testing软件测试网b7Gs7iJE

oracle@mmsc101:~> oerr ora 38706

-c|@"R`*b(R051Testing软件测试网 m T\ OT\B t f/SA

38706, 00000, "Cannot turn on FLASHBACK DATABASE logging."51Testing软件测试网j:Df)DH l q"L;|

V |%wvpEyM)BF~0// *Cause: An ALTER DATABASE FLASHBACK ON command failed.

3kD4WRn `5NIP051Testing软件测试网1`mW8Lw8_RjfG

// Other messages in the alert log describe the problem.51Testing软件测试网 c3dH)r O5Ui"qd3H+Hs

51Testing软件测试网b1eI"Wg

// *Action: Fix the problem and retry.51Testing软件测试网Z5r'f^,fqOh C

51Testing软件测试网)?sA;^)C

oracle@mmsc101:~> oerr ora 3870751Testing软件测试网"v(d3_#a!{Z

nt7q)w_038707, 00000, "Media recovery is not enabled."51Testing软件测试网#|3u \d,~k6^Z

b$tEy!}k \0// *Cause: An ALTER DATABASE FLASHBACK ON command failed because media51Testing软件测试网'MQ h k-Wa

51Testing软件测试网LY't+T u5w6gq-u~

// recovery was not enabled.

9E!w"i Gj/j051Testing软件测试网3fg1Je(u2v

// *Action: Turn on media recovery with an ALTER DATABASE ARCHIVELOG

oH*B8_8P&@}h!Y051Testing软件测试网 Z&M wi8zO%Ku

// command and then retry the command.

o&o|X\e^ h051Testing软件测试网 D0r6^#ra;`9?C

51Testing软件测试网 u sVLc%Q lu Y;f

51Testing软件测试网"eP%ss2v+Si ]NZU

51Testing软件测试网:h8e.m0^?Ku

XP.ksM0检查/修改恢复区设置

2~S*q0v9_;K#ezsr051Testing软件测试网VeudBbhm

4g"I ] nO1DNZC?051Testing软件测试网%k.r'~9b$l%I1@

SQL> show parameter db_recovery_file_dest

t i6y(`]P5H{&e O051Testing软件测试网dn$@b"z

51Testing软件测试网Jcz*ntxUx Y

#X(Zg+lF3^"i;W1[1G0NAME TYPE VALUE

%Zp Pi2\ OJ$A051Testing软件测试网j}+R$_?"u(P

------------------------------------ ----------- ------------------------------

0s5]g4OJ+y[{G0

1V(RE } @I$U0db_recovery_file_dest string51Testing软件测试网aK [X:EV7r'p0e

51Testing软件测试网XB-m{ F5U hVW]

db_recovery_file_dest_size big integer 051Testing软件测试网Tr.D5at!vbx"J

NnzG.P"{} g.N0SQL>

B2U7f t'S|051Testing软件测试网0z+NN+k"F9X

2AuN:{0w-ip051Testing软件测试网d,du'} p8ML

说明:51Testing软件测试网%wf8r}2nS&H

U!} @*K;grl,F0上述查询结果展示db_recovery_file_dest取值为空,则表示没有配置闪回区域,启用闪回后需要设置该值,string类型的串。51Testing软件测试网LiX ?(\RVQ;[]B+qe

{~ I+Mqu051Testing软件测试网p5?U,S c X6~.l#k

51Testing软件测试网4a:V z$I.e7C0c

检查/修改闪回时间设置51Testing软件测试网O3D)c#~ Lha|

WZ S\l#PH0SQL> show parameter db_flashback_retention_target

Z:rc!xL0

Zan U7V051Testing软件测试网+e8Z'oTp]

51Testing软件测试网 X6^z/k%]

NAME TYPE VALUE51Testing软件测试网c:U.U6L(Bwq&oZ

51Testing软件测试网Qsr3H/f`pMd)i'W

------------------------------------ ----------- ------------------------------51Testing软件测试网 Z x8X I8dYe5b

51Testing软件测试网 lUx"W-d.v.P6g ?

db_flashback_retention_target integer 144051Testing软件测试网9R(R!L;DM+{?C#p

51Testing软件测试网CLJT/D Za

SQL>

^ DHt*g:\ n,Q051Testing软件测试网(Rr!_ P? X

+t6v['P.Md"\051Testing软件测试网|s},SjW&M

说明:51Testing软件测试网G"Qf|;yp _W

51Testing软件测试网'I)t`R X;J2H.H

1、db_flashback_retention_target单位为分钟,表示能恢复数据的时间长短,默认值为1440(24*60);51Testing软件测试网 |,xcbI/n_nw

5d[)ik&ni02、如果想调整这个参数的取值,可以使用如下语句进行调整:

`D1Ky"H D0

r0E~+\8[}W2j0alter system set db_flashback_retention_target=1440;

a-b-g)u]V051Testing软件测试网7w[TD,E

\aN,}&w1XK gq0

Nlx;{PM'}.lk051Testing软件测试网zDLH"X+iLYU!}9m;f

51Testing软件测试网(}5^XuTE^a

检查闪回区域大小

E tMZ&LH;c7`051Testing软件测试网E8FW ] t!{*sig#z

SQL> show parameter DB_RECOVERY_FILE_DEST_SIZE

8m)lQe)AZw T-Z0

d&SM1W wNd:vU G0

N9j3z#H/i4vwI(z0

4PBQ/|9|4x2| ~)Y L0NAME TYPE VALUE51Testing软件测试网K-J&Z6UO|

~%S)O q#S0------------------------------------ ----------- ------------------------------

"j n'HR(V'Xp@"e0

%x&LB,v"m6E-Upr(~0db_recovery_file_dest_size big integer 0

G]l j$k&~?1kk051Testing软件测试网/d;W!{$[)SP

51Testing软件测试网$JK6bF"p|'V

8hJ"c(CV\0说明:

e o*gaj051Testing软件测试网8|I FG7Vq7\N

db_recovery_file_dest_size参数单位为G;

t3rZa5RJ&b051Testing软件测试网2\)c"@`Qr)L^@)V9l

51Testing软件测试网 S1Q9sPuhD {x@

8ELV,Bef051Testing软件测试网*y1Js'\(m#C|\

启用闪回

@],|1S4cF"]"V-m0说明:

Mx/i&LE o;G?3A0

F0lR v&|x%Y0下列步骤为在归档模式下,在没有启用闪回功能前提下启用闪回功能的操作步骤,详细信息如下:

]+KH*I0h6M0

oCk ? i@DBw0步骤1 手工创建闪回数据存放路径

b5~MY'W,ey.wB051Testing软件测试网\6EQL#Oy

在/opt/oracle/目录下创建flash_recovery目录。51Testing软件测试网+A2Ejm+Wwh"q ~tq

Wa [Xwi7u0步骤2 修改闪回数据存放路径51Testing软件测试网4]H(g0I:?"OQ7Jg

51Testing软件测试网(O6~:{*Rc2Y;d9O0L

SQL> alter system set db_recovery_file_dest_size = 2048M scope=both;51Testing软件测试网2I{(roP&wKZ

51Testing软件测试网Rlb D$c5b

,?WwU PV Gze ?0

4hSir-z%l0System altered.51Testing软件测试网J j!ExAnT,o e

51Testing软件测试网 t#uX$hJN

/g7z-MVk0

YTN u|$c0SQL>51Testing软件测试网~+{&n0g}SQ\F6o3D

2P'A.BM0E0jh051Testing软件测试网 c:g7]`.sGV.my

#fu lY g(z0步骤3 重新启动数据库到Mount状态51Testing软件测试网4O~/u;p ?g

51Testing软件测试网5Do FY|,xyz&uZ

SQL> shutdown immediate51Testing软件测试网7@V:^5x4S#pWknaz)s

a%Q6t.lj#a4`U w0Database closed.51Testing软件测试网^'O?Cp.jw

51Testing软件测试网-e G%U8h*D#HT

Database dismounted.51Testing软件测试网S ee-U1`

51Testing软件测试网f!tZUt

ORACLE instance shut down.

ZQ3E2po%pB051Testing软件测试网#E*m0_Ss

Database mounted.51Testing软件测试网6}9@:G o6bl Vv:y s"u

c(aH:Q&fw Sj0SQL> startup mount

5c~+he;t2i051Testing软件测试网%R%DN(S-w e

ORACLE instance started.

~P4zJ3K!X;q4cwI0

*y,w\$ad*?0

#ts$|v P$S#`4o0

"B} ]*ml0MW?0Total System Global Area 8284340224 bytes

^~$sB)CS051Testing软件测试网,U?n*{/k^3O_1^

Fixed Size 2145944 bytes

;y7mH[+yz051Testing软件测试网[f4e@TU u

Variable Size 6375342440 bytes51Testing软件测试网QPpY iaO4t5?

fw-M%zs,P @|&j9c}]0Database Buffers 1879048192 bytes

r9f@ N*O051Testing软件测试网"^otF/\9_

Redo Buffers 27803648 bytes

4X1}Gd ?T;l051Testing软件测试网%B G+A_#m'E

Database mounted.51Testing软件测试网j`g9g-pU:hL

51Testing软件测试网nKH'gW^ ]

SQL>

k8q${;x1F&F0

B5D\4?3L6kLr![;E051Testing软件测试网 Vv$S*Y1k}@9],uK

51Testing软件测试网 qzK.T!t+n i T @

步骤4 启动flashback database选项51Testing软件测试网-INp\{]B'|

U?yu w rDW8p;u0SQL> alter system set db_recovery_file_dest='/opt/oracle/flash_recovery' scope=both;

QSo8O)w(^o]0

u*wq ui8D4^051Testing软件测试网|}$Bd gX;SUZ Y#@

51Testing软件测试网Q7j ad(olt y

System altered.51Testing软件测试网m)| T0v0jN

51Testing软件测试网5Y(BR@8m(D

SQL> alter database flashback on;51Testing软件测试网},lr6pU7v

7|V9gb A051Testing软件测试网B5n fO#\gP

&j2Z"TyG2o gq8[6wZ0Database altered.51Testing软件测试网h5q1S*w o)f0L%Si

7G BEm#eT3T)h051Testing软件测试网,e7U5q+BO)o

y4W(K3SE |iM~'S0SQL> alter database open;

F"o-DmA*n.~v0

`_cPx"u3K+]051Testing软件测试网^4v^:v M9ho

51Testing软件测试网.e1V[U"F(O)d

Database altered.

ke"Zjv Eg?051Testing软件测试网)lQZJ2Y5V7A8a

UL)gJ0bF9b0

st-H l(?|0SQL>

EG k,RUI0g(g051Testing软件测试网;P X0h@,F1_-n

51Testing软件测试网?/C x:W O;m

51Testing软件测试网*n+v(Xx#x-cf7f0t.EO

步骤5 检查闪回进程是否启动

lq#Hb-z051Testing软件测试网Q4Q\!Z(t'PEbtUH6n

SQL> ho ps -ef | grep rvwr

W\O^&E3aL051Testing软件测试网GT:Dt-DU-L5ct

oracle 23486 1 0 17:09 ? 00:00:00 ora_rvwr_sdp

ID&K A u7]d*Rz8N051Testing软件测试网K Pf(ti6j

oracle 1634 14984 0 17:26 pts/6 00:00:00 /bin/bash -c ps -ef | grep rvwr

`G$_ x6CX [0

})i3Lm6xZ|pA0oracle 1636 1634 0 17:26 pts/6 00:00:00 grep rvwr

? l:p S~\o051Testing软件测试网.]$i:L@!YS6\

51Testing软件测试网fj*H6d/[ L\`

51Testing软件测试网5ho7| ] ?i4Z?e

SQL>51Testing软件测试网BVEi7?7n^4O4t

x7w:na faH5\oI]0

q9q(A!^x"@7R0闪回数据库(flashback database)概述 flashback database的特性

*AoXfj0flashback data1base闪回到过去的某一时刻,闪回点之后的工作全部丢失。使用resetlogs创建新的场景并打开数据库(一旦resetlogs之后,将不能再flashback至resetlogs之前的时间点)。

~vw4Y)v5@0

)BO"^&v5C0J]0常用的场景:truncate table、多表发生意外错误等。51Testing软件测试网!b/V5HM"l6Z rj6U

51Testing软件测试网wr5d8IW'Jn'X;Y

]A\oU#~,bH%~^0flashback database的组成

3h9uj IGS5tC+g2D0闪回缓冲区:当启用flashback database,则sga中会开辟一块新区域作为闪回缓冲区,大小由系统分配;51Testing软件测试网vH2B3e nn$I{G

/r@c%cU0启用新的rvwr进程:rvwr进程将闪回缓冲区的内容写入到闪回日志中。

5VtF Iu0

sc-}2HPH0

uh.U D1M+Bo0m)j:K0闪回日志与联机重做日志的区别

MenpL/QH(M*i0闪回日志不同于联机重做日志,闪回日志在联机重做日志基础之上生成,是完整

W~g8mF:d HV051Testing软件测试网w ?rR,~Hl sy

数据块映像的日志。联机日志则是变化的日志。闪回日志不能复用,也不能归档。

@ZD+G.U8z\6UZD0

/W |^"_]+n)]+IiS}0闪回日志使用循环写方式。51Testing软件测试网dh@:OhR~^%vsv

51Testing软件测试网 lI | V"d?mN

简单的讲,就是:联机日志会记录改变前后的值,而闪回日志只记录改变前的值。51Testing软件测试网/TMz/H*V\ k

eI0X[e?F0

$Q0`w[4}0闪回数据库的实现机理51Testing软件测试网6eV^,z'Z.w

buffer cache<-->flashback cache<-->rvwr<-->闪回日志【日志只记录修改前的旧值】51Testing软件测试网F%nL;A_

51Testing软件测试网w ^5C0~3kt

%oh J5K8Jp6cD0闪回database的配置 1 查看闪回数据量、时间等相关信息51Testing软件测试网B1mR'y&k5d

--下面查看闪回区分配的大小为大约32M,闪回1440分钟(24小时)以内的数据则需要46M左右的空间

p2USP8~ B3^0

~pR#RL&j@;D"k9g^1C0SQL> select oldest_flashback_scn old_flhbck_scn,oldest_flashback_time old_flhbck_tim,51Testing软件测试网!xb"ej$_ C

51Testing软件测试网Wj*W)q0i Y.XO

2 retention_target rete_trgt,flashback_size/1024/1024 flhbck_siz,51Testing软件测试网qf#wka#{ S1U

51Testing软件测试网UM3]Q!ZVS%`

3 estimated_flashback_size/1024/1024 est_flhbck_size51Testing软件测试网t+}V,^5a#p)t

51Testing软件测试网Np'e*h'lx0h l3pc

4 from v$flashback_database_log;

2u\q;n3PI0

~.QQ;@I'X y_\ _0

0x}by0cX7n7B$At0

5a e3Ml Z r:w^0OLD_FLHBCK_SCN OLD_FLHBCK_TIM RETE_TRGT FLHBCK_SIZ EST_FLHBCK_SIZE

fI!nLn~F q0

8JB3wbw8J0-------------- ------------------- ---------- ---------- ---------------

[@ L7DjX051Testing软件测试网a?)g w#F

5813199 02/09/2012 17:09:06 1440 32.0078125 46.289062551Testing软件测试网)hD&tPTkQrA"O

51Testing软件测试网ZZ-O:KV$B%r-D"H1m(u

%L F ce_&d9s2`0

q.a#|4e;a^V U m0SQL>51Testing软件测试网-_XI(V4E8T-s

51Testing软件测试网J'Wt4[~a

51Testing软件测试网4Rt[nJ5j

|l!@lg0说明:51Testing软件测试网!~ha-IT*lJhc

51Testing软件测试网+z1b ?@f(hN

列oldest_flashback_time说明了允许返回的最早的时间点。

u{{8F2ow;M$|051Testing软件测试网Fy"_1b~6Z,q

)b)hn-v3[t$W02 查看闪回

Pn.tL(nO0SQL> set wrap off51Testing软件测试网^xVa:_)I

'ZG](mE^X-X0SQL> select * from v$flashback_database_stat;51Testing软件测试网O$K7E K'b xk

+H4o-kB(Yz0truncating (as requested) before column ESTIMATED_FLASHBACK_SIZE

7Bn"}w~051Testing软件测试网x5V^l-z"d]4?*o

51Testing软件测试网7q~z? R2e\t

6k^O7yZI1^'b1e0

UQx2c$M7I&N/VD)em0

EsH^YgNWH-I0BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA

-q1}7?'Ekp3O t051Testing软件测试网 xx m*n7E@/Q3i^

------------------- ------------------- -------------- ---------- ----------

7c%a }NyC9Wm051Testing软件测试网#E+B E8mVe$Ka

02/09/2012 17:09:06 02/09/2012 17:57:12 1351680 1466368 32614451Testing软件测试网l)N4}Fr R G {"} ~

1b%G#H+s0cCI'zo051Testing软件测试网^J*b%uAC:F$V

51Testing软件测试网;AU|clj1g

SQL>51Testing软件测试网 Ts\#CDl.?Q6U$I

+e Q+XA6PY0

_:FZr/Y03 查看闪回中sga分配的空间大小51Testing软件测试网s)l;Cb{,k

SQL> select * from v$sgastat where name like 'flashback%';51Testing软件测试网7Q,fx1@"y8u

51Testing软件测试网\8tB$h`3~~2j

51Testing软件测试网_2w#sq im2y!e

51Testing软件测试网2e#~WAmI#@5A+P3e

POOL NAME BYTES51Testing软件测试网 fnz Mi@`T

](o C)^ S0------------ -------------------------- ----------

xV3[Sf`051Testing软件测试网Z&C6Wj @]K*q(L

shared pool flashback generation buff 3355443251Testing软件测试网e%km?5e6g#z`{

K6g&KjO%Vl0shared pool flashback_marker_cache_si 9200

f7G7H9M_r051Testing软件测试网;H{\rJ

MI!H:g8A O$j5q%O051Testing软件测试网"B v$]dpX$I%aZ aa

SQL>

A.o!?Sd+Iu051Testing软件测试网V4D U!|2Y5a2U

51Testing软件测试网d&zxic

4 查看生成的闪回日志51Testing软件测试网 b'@ |EuW.e'k'U

SQL> ho ls -hlt $ORACLE_BASE/flash_recovery/SDP/flashback51Testing软件测试网aJ"q&n/V,r

ro.@8pDt3I:kO`Q0total 33M

'h5cU F)?I*v0

&i7Sn0B ^uQo F0-rw-r----- 1 oracle oinstall 33M 2012-02-09 17:59 o1_mf_7m739k3t_.flb51Testing软件测试网1qQ @B(C#k `X

51Testing软件测试网1v~8z3EI3l t$V

51Testing软件测试网 S!SA u&P,y1{

7{~2B@N`h IVG0SQL>51Testing软件测试网:F;q VD\

51Testing软件测试网:s-yazy6t0G

51Testing软件测试网L%t ny:s p

51Testing软件测试网3j;V^T B-V

C _NC2c0使用flashback闪回数据库实践

Atf2?xw0前提条件:归档日志可用。

a"T wo Po051Testing软件测试网De.JRe!S

*Pw9d-m5a051Testing软件测试网r*zuIg5i\

步骤1 关闭数据库51Testing软件测试网 C+V:C} p

51Testing软件测试网V)m0N#h r3BE6p%|*SO

步骤2 启动数据库到mount状态

dr])DV}051Testing软件测试网%O&T-ZiE M3I

步骤3 闪回至某个时间点、scn或log sequence number51Testing软件测试网/a-S?#T4GJ.?

51Testing软件测试网3Cyw hoy;b

步骤4 使用resetlogs打开数据库

xsXbr{051Testing软件测试网"e\ia`Vlp

&Geqn]/P(w"W0使用sqlplus闪回数据库 sqlplus几种常用的闪回数据库方法

4k/b,`3s.T-p|/e\0基于SCN闪回

4i r{6Ed051Testing软件测试网-P'e/yx]y'_ S

FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] SCN <system_change_number>

3L:w'_ k*Hy3UzW$s/n051Testing软件测试网4R OdR9O.P4A5|

v&e"B.Ij;_3h{ N0

%m(Ke0Z#bN5i2Y0基于时间戳闪回

]^ Y-W)V9On*y0

qzNt/U)@0FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] TIMESTMP <system_timestamp_value>51Testing软件测试网:p&KBO }[TK uRz H

}vb?]0l{051Testing软件测试网 hK!{:ZF%W Jq

51Testing软件测试网/Op\FIMG@d

基于时点闪回

8KF)v|4k,g0

w ?7{}n\0FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] RESTORE POINT <restore_point_name>51Testing软件测试网C2qH \,F%KO\

51Testing软件测试网5y4@A\+R(Y0DH(K

51Testing软件测试网'^m:VPU E\[*`

/} G_1Db+?g'_/c.@0如下面的示例:51Testing软件测试网2e K}`*v AD

Sh])j kx0SQL> flashback database to timestamp('2010-10-24 13:04:30','yyyy-mm-dd hh24:mi:ss');51Testing软件测试网s$KnR5w

51Testing软件测试网3@8|5`Mns

t.Ffd'bM;w051Testing软件测试网c2pVM4V$\

SQL> flashback database to scn 5813199;

l4l@t5t+I*k/H0

"s([0\/N&tqX6mq6o051Testing软件测试网7LSPR,L4Q3A

![~;E J |m;{J;H0SQL> flashback database ro restore point wyz_test;

Il6C2\ wQ8Q'_051Testing软件测试网3u4nrHt DQ lzMQ

G)DxOj7_2|2} l051Testing软件测试网Mc%ystJo

51Testing软件测试网8Ey} _x,O5c:~

a.基于时间戳闪回

1St.{c4BJu0步骤1、 创建测试表,并插入数据

(?G$Hq Ls5dv.J7P| l051Testing软件测试网@ Bu3ePrt

oracle@mmsc101:~> sqlplus mmsg/mmsg@sdp

!l!HvT9fG\'W051Testing软件测试网7c7z U$Hu/^,Kv3z`w

51Testing软件测试网p#HW3aNG u.o

51Testing软件测试网(Tql6[F e,c6?

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:14:31 2012

+J-~ XK)H1D051Testing软件测试网w"tT1H'SrbJ8n

51Testing软件测试网Wq/D pdBKuo

K*z&qz1N8]KC0Copyright (c) 1982, 2007, Oracle. All rights reserved.

9F3lNQ!U8J b051Testing软件测试网3Qlkf:U&H'o4q[&K

3nv K_c051Testing软件测试网uQ4frh-o

9j/jw2@-@o'xT0

M}B[?0Connected to:

vL y NWr+zv051Testing软件测试网N?u(n?V9jWk

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production

tb%Zf,K0}6k0

f]^J3u7m Y r0With the Partitioning, OLAP, Data Mining and Real Application Testing options

D'Pa+r%G-ErE0

dK l/f)BB:U;J,aK0SQL> create table scn_test(id int);

An(oq f LI051Testing软件测试网5sO!q%c$Q},[[ c]w

51Testing软件测试网A2i(Ov| S C

51Testing软件测试网 gP-N-sc!P#R,@ SL

Table created.

`;n)L:g$J051Testing软件测试网.?Jn1ZdX bL

51Testing软件测试网"{w3Hx'uQl

51Testing软件测试网b q w(k8?RK

SQL> insert into scn_test values(1);

/S|}k4u6c3yCx051Testing软件测试网*F$B.hBsc6lsL,_

7g4c7o@lj051Testing软件测试网@{n-N#a"Y K-G

1 row created.51Testing软件测试网y&iIe@F

51Testing软件测试网'V E#U6R"aP

51Testing软件测试网9PQ8r%T2D.AtEG JV

zl-u"c[{0F1]0SQL> insert into scn_test values(2);

!z4`nNe&p8i.e0

?h$kG6fO:b3K@~0

t"HM7G(g\H!f051Testing软件测试网$CsK2{e'M ]E{Y;?

1 row created.51Testing软件测试网 Bl/]4~0h_

51Testing软件测试网(kbJ+ifr1U"N$I

51Testing软件测试网L"Y"S9^6muj

51Testing软件测试网u'bC w2R,|!O

SQL> commit;

p[i+G#ybA0

d-a \"if ` u051Testing软件测试网.?/A ed-[ kC

!] SlQ C"oF:I#s0Commit complete.51Testing软件测试网SoP2B%ej

51Testing软件测试网C MW UK&Y J:C

0Mw%Q_NZ b051Testing软件测试网JV~*Au8y-_

SQL> select count(0) from scn_test;51Testing软件测试网C*C&vAi)tqC p

}!irz/yE0

9E?#pH fXj$G0

7\v1^0gjN-cO0COUNT(0)51Testing软件测试网7N5SQ)y%ui*AD2p

51Testing软件测试网J B AI#Y&el

----------51Testing软件测试网)wPCyMF

:P BM&@yG0251Testing软件测试网 BT_lmf%^

51Testing软件测试网 s7lOF ML]3~

R d E}hcZj0

b9A]y"Tx-G0SQL>

(LS3o8K:pw|%i051Testing软件测试网Unh(LP%v

说明:

y5Z`B2J wa.T051Testing软件测试网 k\;h/yj.CN

上述测试表中有两个记录。

%\%B y"E&O y051Testing软件测试网%H!v@ ytZ

^:lh0jO+CO)]0

o gkl&XDU0步骤2、获取系统当前时间

0Ry&B"x:O^)d0

j,o8M6k+`E L&X%Z0SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;

.x0Fl}G __U w0

[U!p-zM0

R-NVa+[ A051Testing软件测试网 Y)N1L!`T v2Q*`

TIME

5}4ah#G/l4yv/YTX051Testing软件测试网Z.^%e*Y'_z~,S

---------------------------------------------------------

a;]FyrM051Testing软件测试网+a \4b`z

2012-02-09 18:39:30

1nDj+c3Pw+W051Testing软件测试网BZJ4|T%za-rs3_

51Testing软件测试网I"S}*b:QPZUZ;Jv

`+au4SGX8?v0SQL>

J [j#qm!Z-s051Testing软件测试网Z6e+nFF)b1H

3U:l{ Y9jav&oi }4k051Testing软件测试网?_*`!I1W_ JT"Es h

步骤3、删除表scn_test51Testing软件测试网U-W9Wz;j*L

8b+D#A,z4M(s,[a8A/\ E0SQL> drop table scn_test;

9xw glTk051Testing软件测试网&k_^0O3a8\*Y!aB

#x9X1GY5U2F5IU0

9kDM!}Z{8L:U0Table dropped.51Testing软件测试网 U"A[&K}K

51Testing软件测试网o2Ju:NR}/~

51Testing软件测试网.WC"Z v&T2A

51Testing软件测试网_E pc0S j@;T"h

SQL> commit;

#~v}sC0

,RN&Kx&mMsY051Testing软件测试网2ibozt0b

bH |e8I F#qDL%J0Commit complete.51Testing软件测试网J1v+m N~~8hoy8w[kE

51Testing软件测试网gJy0Z P0[

51Testing软件测试网Ub_5VK jF(r

51Testing软件测试网-|!q^'`p:`O`

SQL>

'^ hb/\?c#[&S8j0

h'] R'a&[|,K0

T%lqpox @2`051Testing软件测试网,A ` aRP'q1B+@

51Testing软件测试网:?'KH6aR{Ck/Pdx

51Testing软件测试网{ {v9X+B l H,RXN

步骤4、新创建表tmp

o,qe1k1?s h,y:M_051Testing软件测试网S$p0J-lo F9u

SQL> create table tmp as select * from modules;

H{J[? f0

y[1Ho5Jmrj2Z ~0

u7\o8Z/s6]c{\N0

%a6G6JOv0Table created.51Testing软件测试网7M ZG wTVx

51Testing软件测试网l ~2F2}7i

#P;d%_]InB0

\(C j6oS:A'x|0SQL> commit;

}W2v G5c~051Testing软件测试网Y'Vt#My

.b RF9p"Z&^c/lsr4b[0

G]3J @M:Y#Deb0Commit complete.51Testing软件测试网3nM:V6nU{%Y?5u

T~:Q(d0Ph _051Testing软件测试网2qf(dJ8JR3q.LQ.u

6Lm;qRNP(p0SQL>

.cgr/t*W9tsM:F&o0

~1qTI rv8A,n0说明:51Testing软件测试网Bh5~7Q \^3H,w\

51Testing软件测试网 l%sS|*x$E4I'K

目的是为了验证闪回后这张表不存在。51Testing软件测试网[L5Hn {.qF z

8J]6p(nM9o0

/o+fk)DK:gr b051Testing软件测试网8V0^0P:Kg/u

_ @ fx+T'z0

5[s8G`VAi gY'] r0步骤5、启动数据库到mount状态51Testing软件测试网"I$C'hd/r.mZv$m

4Pt2A^1F5U#Lk0oracle@mmsc101:~> sqlplus / as sysdba51Testing软件测试网p.g%O?"|1u

7|!}!? XH#z0

-I"t2I N1`b&Ca0}S051Testing软件测试网4l$] x i%WU"s6p/ql6z

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:24:49 201251Testing软件测试网'wt%Xx s9W

)c'N0o+v^H;\ b3y4_ e051Testing软件测试网C+}#@_Eo

51Testing软件测试网_#W9TOs7G2]\

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Fs,AO[ ny)T~0

Vs;Zlq*v R0

3W0wj+?[*m0

5we@H4R)}3@*s P0

/@ _ g-[Di0

@5GuvyHg0Connected to:51Testing软件测试网o7S6C ZW7b

51Testing软件测试网2BalhM o

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production

8A,x,~#lEq$_0

@&f\*N^/Vgn0With the Partitioning, OLAP, Data Mining and Real Application Testing options51Testing软件测试网U$ih!e8l;y

51Testing软件测试网7Np.R(r|+a PiUVf

51Testing软件测试网_` i/{~Z

-^`-HW2K0SQL> shutdown immediate

Ur5?9i eM8U051Testing软件测试网?*_+F9U6nW8}x

SQL> startup mount51Testing软件测试网'|G+w1G.f c~

51Testing软件测试网 m3s i"X"HcM

51Testing软件测试网rX5r"n@e&RU:J

51Testing软件测试网x&v/`(pU#v5hL

KR)x-m qKv051Testing软件测试网!b)G%F$i D ^ o

步骤6、dba用户实施闪回

u5L)_w#L6^0

#ea%O/qfAoI-X l5dhg0SQL> flashback database to_timestamp('2012-02-09 18:39:30','yyyy-mm-dd hh24:mi:ss');51Testing软件测试网UQ,l z_#},B:B\

ug if,v#Cb0

]E }uXh"{0

$e7QZ~/c3{ w%D5z_0Flashback complete.51Testing软件测试网meE*ERDJ D7n!l

%d~8W:Wvm\(E2T&P051Testing软件测试网{)i%|-^:h8G Yl.{g

F1JX5A6[/Va1N+Xtg0SQL> alter database open resetlogs;

8l~RY;e*SQ051Testing软件测试网2p O!A-ijs _

_Y1O*lF0

H!Y e6S @8r)Y#v0Database altered.

\+E)Y_E&?U"X051Testing软件测试网m5D\$J^mc gi|)|

51Testing软件测试网k}/^p#t

51Testing软件测试网A6c(Ge9i5o Q1XU/gk

SQL>

d$k;\d$zf Ul'S0

P w&v"f.Q1wd*OF0

k:D(jzQARd8rZ051Testing软件测试网}#n^-S.W~R[

步骤7、闪回结果查看

2^)RJ;T,i/Wkm0

?o)v {(v!O}{6u0SQL> connect mmsg/mmsg@sdp51Testing软件测试网y#q^d7|A

51Testing软件测试网'd&Yjl-nur

Connected.51Testing软件测试网 |N]'k| w

51Testing软件测试网"d:ot J.ArS

SQL> select count(0) from scn_test;51Testing软件测试网y |(g!]-A/o E&yiA

51Testing软件测试网 T6O1~5s$nG7f

9UF5\V9T3?051Testing软件测试网4l0a S~K7d~

COUNT(0)51Testing软件测试网-kz4}uwi

*^h/A@W)t?6ms0----------

T6GAjp051Testing软件测试网X!{6o!bq

251Testing软件测试网`n*h.bi N

51Testing软件测试网2TKs5L,AV

y@/Q2iSSx5Y0

u Z J e9bp6oB0SQL> select * from tmp;51Testing软件测试网L"lgwX5e4`l6g

L Z)hE$P_ WSy:|0select * from tmp51Testing软件测试网)Ii M^u

51Testing软件测试网;{6A"dJ+y&m@T

*

#d%df q+w.Y0

LH'e*ZX0ERROR at line 1:51Testing软件测试网 D FH7r(~-y.Be2x

51Testing软件测试网Qr*FOCP+I u[

ORA-00942: table or view does not exist51Testing软件测试网#z~"E^!T |(@

51Testing软件测试网6}Izg[hs"q

C*K[%B$n6k051Testing软件测试网)urkAV;cj-_gT

51Testing软件测试网b5yi|J-H%E!C

&l}6S8~-\,[h:s7?0SQL>51Testing软件测试网6ZG!s5i2HS?

51Testing软件测试网N K0b cQ5m g4g

上述查询结果说明表已经闪回恢复,闪回点之后的数据全部丢失。51Testing软件测试网0}_)W%I1Z

51Testing软件测试网 YSf,qr]%z

51Testing软件测试网Jz[:NVl

b.基于SCN号闪回51Testing软件测试网 W!|i3|*kxz

步骤1 获取当前SCN51Testing软件测试网#i+c8~ ]{3Brr#d

51Testing软件测试网6d7NcV } ]]a^gU {

SQL> select current_scn from v$database;

z$oOZj0

T@8J:@TX5jI0

"_~B And0

Ns;Z2f.Y8P0CURRENT_SCN51Testing软件测试网{)K f;f8^$nB&vK

"c+[~Z)U{D} d'f0-----------

+j/HC_.l3R0

&`0uv*O(x~!@1u g;h05815970

T:{S4p7t0W0

#K9PU2xw051Testing软件测试网:_d$v$D`6Iy!E

51Testing软件测试网 k+{fsra*Ug

步骤2 删除mmsg用户下的scn_test表

@c)k {,g6w o/[0

o_t)j"mk0SQL> connect mmsg/mmsg@sdp51Testing软件测试网8cabg"Y+cP8K

51Testing软件测试网\&pV7D"`6?6X

Connected.51Testing软件测试网m*a#Ko*rq'pl

51Testing软件测试网/uy[WI

SQL> drop table scn_test;51Testing软件测试网lW#xHOxpC @

fm-T!p |.cMR5}D#{051Testing软件测试网C%I1XB_qwc

$w"E\]A~5C l8n8l+{0Table dropped.51Testing软件测试网0Ok9N)[ d

m*S8v(}L uu051Testing软件测试网q7g!U3l8sa@

*hBK6pj\0SQL> commit;

|^(a&JunqJr051Testing软件测试网$H cU F#w*R'Kqb0E

51Testing软件测试网V5A#v/Zf+}}mpkt

51Testing软件测试网.j k.kt6QE

Commit complete.51Testing软件测试网+B C)f7kb.H

51Testing软件测试网E%r!t7r`au

5Sm(bV(k051Testing软件测试网cL8Ps X

51Testing软件测试网^&_ypg!hE

(U7|!xd ue\jC,u0步骤3 手动执行检查点51Testing软件测试网&Rm` Z7S\\ a)\$A

2g@/sbe-R(H}nC0SQL> alter system checkpoint;

6c p4{B G sC!|0

5[#wI$oP,W0

/We!d$o_,UR051Testing软件测试网4uQ n6Y ~U Y

System altered.

U9?x5{u A051Testing软件测试网0OZn'y`

/Zg$f-_wt0

X%a4X8t4R8sc F0SQL>51Testing软件测试网_vX`4\ w(b0Bp#K

7]P"r"B-E"UY5?6p051Testing软件测试网+L I}s\(v1u

51Testing软件测试网/]m,k ]iCV6PP

步骤4 实施闪回

:_D/U8b*u*z7Q0

:j0Qa*w!kC&b.W0SQL> shutdown immediate51Testing软件测试网Gva8c r]a0o Y

\%K/^8hP8L"PH8X V1o t2\_0Database closed.

sg4{K:?051Testing软件测试网};\}e$xh qd

Database dismounted.

rI8@1O6~ {$U051Testing软件测试网2Z,o%WO?*\

ORACLE instance shut down.51Testing软件测试网4_`EI8a/t6[

51Testing软件测试网q*m6_.E?

SQL> startup mount51Testing软件测试网t(Wsa` a,]

51Testing软件测试网9O!Nt.eQdX

ORACLE instance started.

\`aH4tk'jt051Testing软件测试网bY*z3K7yt2zg,W

51Testing软件测试网dj-B2gEI

e'IY@-H/zy%_z+W0Total System Global Area 8284340224 bytes

,SL_q,UC zS051Testing软件测试网z OG9asA

Fixed Size 2145944 bytes51Testing软件测试网#v `r c"o

eyC!U5o.?No,g0Variable Size 6375342440 bytes51Testing软件测试网{3mLBf {/a

c4Wu.tQRW/c0Database Buffers 1879048192 bytes51Testing软件测试网rJh-nny8VBko{3o

/I!u rx/pc[0Redo Buffers 27803648 bytes

(N r6c7x0o'S2[0

l4kj3z4o$\0w8f/Fr(Y B"O0Database mounted.

.A4Z(@WH k*Tx051Testing软件测试网-TS*t}h\.U R

SQL> flashback database to scn 5815970;51Testing软件测试网1ryhf\cx(o.gw

51Testing软件测试网 |K7Mfv)sFF:VjA

51Testing软件测试网j-|bIL}

51Testing软件测试网l ?l.N4XT8}

Flashback complete.51Testing软件测试网3Z2Qx ~0i;LI*}3IJ6t

NG%b'S az051Testing软件测试网5tt4jKVB+[^V

-@;r'PL0RfQ0SQL> alter database open resetlogs;51Testing软件测试网-wm8T*F4ef9@9J

k!g4^*wXb/g051Testing软件测试网5}9@GI;w8O X

!l lb+Z7^6d0Database altered.51Testing软件测试网1P)INB+BrC{3v

51Testing软件测试网$sa d#OPhu,H

51Testing软件测试网/le"BBW%dVg

51Testing软件测试网^Vz[(x6a5j:K5H9{ Db

SQL>

t nhO(IeL.QL051Testing软件测试网J W:Q+U ?d0n

51Testing软件测试网0vQcc!EO ys1[6t

"a)^~ @6c!s$W:P"nEZp0步骤5 查询闪回结果51Testing软件测试网}Fi^7G'b

51Testing软件测试网ue:do Q

SQL> connect mmsg/mmsg@sdp51Testing软件测试网Z!@+K-FbmSd H~

51Testing软件测试网/{2t:H)Nt1k UBH ]

Connected.

|7lm%`,P"@j,L"V5q051Testing软件测试网h7g6uO O(Av G

SQL> select count(0) from scn_test;

t/E8p}{!XtO051Testing软件测试网}5m5RFn2KF3r

51Testing软件测试网&?1Ezr8E)C

0K%u&l8IY*j0COUNT(0)51Testing软件测试网$iS(o,V+q3~ w

,vn:V.E Oh$k9P%P0----------

,yE s%Y*_0

lA8YsEE(v02

:k6K-fU?#m+^a M0

"A,Zb Z6q4~0

$bw-kTdY051Testing软件测试网5W#^b0n+A

SQL>

)^|se,qa/^:R7|051Testing软件测试网,U#\[G(R

nIdHc"Y0

3B Z'Xz$D:YIKF051Testing软件测试网W \?i_

c.基于时点闪回

"`;b2P:X-@I,t0步骤1 创建测试表51Testing软件测试网%o7@l \2L5_

v!K1c(c2P YT0SQL> create table test(id int,describe varchar2(20));

UBF?{"]o0

7m"~+D.V*XW0

SI5bIA'h4kW/k051Testing软件测试网7U}E4wR5ma

Table created.

y6ht9b2v T v-^-{u|0

b fxFT!P:g9|1@051Testing软件测试网 S2jj#HD"m

a m/WK${ cc0SQL> insert into test values(1,'ABC');51Testing软件测试网)N y&[(h%t'~k

H@#d1?&X0[.? ?0

eJ1w7kk-c4q051Testing软件测试网1U OU8x&I0^ N#Mk

1 row created.

Ua\zH)g051Testing软件测试网 [0O s*r0g e

51Testing软件测试网TZt-h*ui

'J$N^3g1crbrYW0SQL> insert into test values(2,'DEF');

7} At/UCB"w0

'?h.w(AEaY051Testing软件测试网N7U0I+LZlw

51Testing软件测试网K+g9KLs$`{

1 row created.51Testing软件测试网YBH$_$aH$K

h OlJ1T&_G gQ"l051Testing软件测试网R#F%sex[m

g0`$nkpy"{f&d0SQL> commit;51Testing软件测试网:h&lx{7Q+OM `

51Testing软件测试网kG6yR*S?VXg

%{Y,J8GaI0

;r6QU&Et0Commit complete.

jK-TPP:e051Testing软件测试网y7~VIiU+[d

SQL> select * from test;

cWr$Ew rn051Testing软件测试网Q4C,K4|2?}0e!I3P+k

51Testing软件测试网*`Qa5HUr|0Z

51Testing软件测试网 ` q} Z"a(?&LQ

ID DESCRIBE51Testing软件测试网$W!u'cP `@Q e+{x

51Testing软件测试网m!|&r)q tuq3p

---------- --------------------51Testing软件测试网/_Ai9NZM6Z+T

1OgbQ\,I01 ABC51Testing软件测试网6W!A-U4m9l,o*T ` D

a$Dn'g;B8|,W2O02 DEF

^3L6g/g]5|(M%pj051Testing软件测试网IyRC/J/KZSq8Z\Z

L8|c EE$b1fy0

Z r EW'}.h0SQL>

f$y ~&d5z9B {0

0R U o"N2_T}"M051Testing软件测试网'K"t {9~k;s`'Cb

51Testing软件测试网Y'C XK/hK-X,Z

步骤2 创建闪回点51Testing软件测试网Q?x4k&CT!@t

51Testing软件测试网/[-iZ1V.|oR0q

oracle@mmsc101:~> sqlplus / as sysdba

7G1J&H(LtPmB0

9NdOmfK&L051Testing软件测试网*V.H*l[)@]8p

51Testing软件测试网({lJ/|I:`%]d-r}

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:54:11 201251Testing软件测试网 c^zZN

9vs6F v8r Tu8C]0

n#Tgb8mrIV+W051Testing软件测试网Ho&Qz4l-l"n

Copyright (c) 1982, 2007, Oracle. All rights reserved.51Testing软件测试网O7AZ%L8?b6D$S

QI h"I3Vad0

&Ni?R@o9u-f(YR051Testing软件测试网r.G1h%e,f\

&p.W)c9SA2_)k0

"} D%EGD0Connected to:

o,@ FR j.wQq051Testing软件测试网&Op5~ JLpT,On0M _

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production

-eYw@CGl051Testing软件测试网YMs`F$v(E$}]

With the Partitioning, OLAP, Data Mining and Real Application Testing options

'W_3m3z[ S051Testing软件测试网0^ Um9l K.{;mJ0c

51Testing软件测试网 y;DY%F2W9TRc

51Testing软件测试网!Z yD-M3JC&J+A8~

SQL> create restore point wyz_test;51Testing软件测试网*qo`(}:OO l

isy0dZ,a051Testing软件测试网 gb,w9G E;y

4Cb1{/q1F0Restore point created.

9H_8|:ts#|X|%{t0

rv-i L{(ic^,N051Testing软件测试网 HO"C2L7nvg"S H

51Testing软件测试网`#n+T+l]g

SQL>

f-ht iaryh0

-Ly!P7C"ZXqj051Testing软件测试网$P/a&De}0NY

51Testing软件测试网-Z0j"GN `8K ?&dq:]-{

'vk5n'd0tUdU0

,XO1xjh!C{0步骤3 再次插入记录

'mZ_{b;L}051Testing软件测试网TT)TkG dz `%D8~j

SQL> insert into test values(3,'GHI');51Testing软件测试网:iz$N/E.{C_z]7H

51Testing软件测试网 QA$?0oxv

51Testing软件测试网"Cdy.A)m(y5`

51Testing软件测试网8e4B$yy2_hoqr7v

1 row created.51Testing软件测试网 q#s r"kt S

O a\ a&B1u:p6aC0

5w/u;V&? N051Testing软件测试网7{ntF w{

SQL> commit;51Testing软件测试网v"j!k G8G

51Testing软件测试网 Q7J C-Jm j#A

7kI&mGX7DX]051Testing软件测试网([*Z4g&D [;vVC_4?7I

Commit complete.

2GN-\&J w0Q,{_{0

[ r.Omk d051Testing软件测试网}.HfR ZN ?

F*X&F&a'JX0SQL> select * from test;51Testing软件测试网{XVN`!p

Dk1u;JfgI_051Testing软件测试网Jjo"^5Z)p`$T

51Testing软件测试网0r(S@jk

ID DESCRIBE51Testing软件测试网$dcYaR,o)bM

"Q5IgY8I x0---------- --------------------

2isi,Za$piM051Testing软件测试网0B Ts2K2z

1 ABC

tz k dQ4v+I0

6uuE0cq|B02 DEF

8x"L"^w b+o051Testing软件测试网 ^ jN aN wo.i

3 GHI51Testing软件测试网C*{1TH'j m

51Testing软件测试网{ `4E0XE%a f1Y

)] {r9n6~6n0j0

@E@~E~d0SQL>

aC dj~0

lU&[3jtCr051Testing软件测试网GOY QMG

C;M-`c~"vD%O&jo051Testing软件测试网8P/DZA/Q+q W.T,G|

51Testing软件测试网C4H SB[ j5NFcn

步骤4闪回实施

}l/Z@t@9E0

E%Yw PY x0SQL> shutdown immediate51Testing软件测试网m8bp+jD9L(F4lL

51Testing软件测试网GR.lA%MGj C u

Database closed.

x&OI$[%HyM0

(_@O\T0Database dismounted.

)X9kb3BdW \051Testing软件测试网Zf3bF)wl]V

ORACLE instance shut down.51Testing软件测试网I3XXMq2j~,Y

51Testing软件测试网1tAj5|8z:T9a

SQL> startup mount

f*wElu P|qn3rU0

-F4e;pe oy1|K"l-m0ORACLE instance started.

#c] Hygdz/g,MFK051Testing软件测试网 Cs9l{0M:T3Q'F;v3n]

{OkW(M({N051Testing软件测试网3~x2?#eUz4Z h

Total System Global Area 8284340224 bytes

,|"U9E,?GKg051Testing软件测试网t;s,g)Y,m%q z

Fixed Size 2145944 bytes51Testing软件测试网)])c sfW JaN Z+w

\B gg]uiIO0Variable Size 6375342440 bytes51Testing软件测试网 FY p1f_{

&Uzh`3[bbDv7m\0Database Buffers 1879048192 bytes

fQ |w(`V,ZC2`6_d051Testing软件测试网Y3l [)G+@'I!OW.e G

Redo Buffers 27803648 bytes

5?S+tx'c o0

.w5t/?RT3@'`&\0Database mounted.51Testing软件测试网EW6?Q,MA

V5qRAx{kQ0SQL> flashback database to restore point wyz_test;51Testing软件测试网c-| u&V+Ea;l

51Testing软件测试网d-qH^Fk&_

+Y9K&]/F N;a(h4g2l0

d Vn_0X0Flashback complete.51Testing软件测试网Kz#\)t p

51Testing软件测试网jn"z)X+yVj2je

51Testing软件测试网!Z7L4_sno-[E9x

7o#n0Pz'z0SQL> alter database open resetlogs;51Testing软件测试网o(cJ.^2u-W5o

51Testing软件测试网Fh2o|+t$q&J_x

51Testing软件测试网9d;}1MaL~ cq

51Testing软件测试网C)b*A7p yg4o

Database altered.

+J3x4t#krR(h0

)Z_c[oi0

C eI]-r X Y4N+_0

JFVvJP i0SQL>51Testing软件测试网gNW(P%C5BE*e

3t0v2k5]Xq051Testing软件测试网_ E D/}$Y'j X

y"`\;an.r V0步骤5 查看闪回结果51Testing软件测试网Qp Z4OI5z+~+V/]2\h

51Testing软件测试网0DQn%Y%JRo,p

SQL> connect mmsg/mmsg@sdp

C%\%Ydro Wf051Testing软件测试网CU vKM,u

Connected.51Testing软件测试网 D R[8P&Fw

KYq$bw7`%m#_e4t0SQL> select * from test;51Testing软件测试网7X7QV VR*`+NVW

;T9FCP Qx{.vI0

uI%s,h$I.H)d\0

5EM(^GT)~0ID DESCRIBE

#zsC'\rE5d0

&h};}&C'bR3ib;E0---------- --------------------

s]6uhsH*m3{0

UJA)W_k}5n01 ABC51Testing软件测试网Kh7O zkQ

N@ C8wz.z"i|02 DEF

+\ZE4J"ht \0

C;Sm)|;J.l(]051Testing软件测试网f mB,i.a

51Testing软件测试网$? ^b/\/MF

SQL>

*Z:q(](|,_A$e051Testing软件测试网A2X2L"d(p4r&j0q

j"ft]0p"GC051Testing软件测试网iJEn:AN1jW

说明:

"|%e R~@OP:H0

1PO;B4` y9[,i%L~Z0闪回点是全局的,不区分用户,即在某个point后,不同用户做了不同的操作,只有闪回到该point后,该point后的不同用户的操作都将丢失。

Oh$c+i+F'V+p1Zom051Testing软件测试网?#Bh;L^

3M/M"c!Tg A0使用RMAN进行flashback database 使用RMAN进行闪回数据库的几种常用办法51Testing软件测试网J tvZ3hz A@^$rx

RMAN> flashback database to scn=918987;

s9Z|,nt+n(G:a ^r0

;L0h/{3q llKh051Testing软件测试网:@5vK(?(zv"{E uZ

FM:M(lY` N+K@'~0RMAN> flashback database to sequence=85 thread=1;

%H,xNNt0

S0R%vJ Nxl051Testing软件测试网r9\ kPt~ C

a.基于时间戳闪回51Testing软件测试网No4`2zY@V'A+s

步骤1 创建测试表

8TQZ&[(@6dU051Testing软件测试网]5J N/yh-aku

oracle@mmsc101:~> sqlplus / as sysdba51Testing软件测试网b5eo)w'UF

51Testing软件测试网5y$D @hkj

51Testing软件测试网W{!SL+y? d

51Testing软件测试网Ah b vx

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 19:02:24 2012

QN+|%yq/o:q0

k-opUNN])V051Testing软件测试网)ov3jd4P

-F o%X"A3k0udh0Copyright (c) 1982, 2007, Oracle. All rights reserved.

z+`T%Z~051Testing软件测试网n(Dli^:h3Xs

51Testing软件测试网 X!Y$PN7[o G

51Testing软件测试网t D7H$\k

;iA;v@B@G0

8i-R,a,d)FK0Connected to:51Testing软件测试网4~e b7Cw2CT)Y

51Testing软件测试网 L%u+\o5a

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production51Testing软件测试网+pP A)n!Y6e

H*i+uW6d0With the Partitioning, OLAP, Data Mining and Real Application Testing options51Testing软件测试网8tvM8N t

y T_l~U051Testing软件测试网 n!@ z3KC'V])W%h*I

7zO6VTJW0SQL> create table mmsg.tmp as select * from mmsg.modules;51Testing软件测试网 IHl/o(ptv5]

51Testing软件测试网 EH:C;f)w

`#?Yo,DF5g2|0

~RY,v5PgF0Table created.

7v;M~Kg7|;x1? i;kB0

[\5nf lV1`8i051Testing软件测试网ci m!V{+a$`j ^

51Testing软件测试网bp._:i*H0p ALj

SQL> select count(0) from mmsg.tmp;51Testing软件测试网1fWP rE!G

2o*h2X2`8iy051Testing软件测试网2Tn"FDj|a

51Testing软件测试网:H b Wv4P8U'\)F-}

COUNT(0)

*@y[OLU ADXF051Testing软件测试网w.lTcT}

----------51Testing软件测试网.IZO8sf%C5Yws[

5~-q#` D8K.\Og$vCc3B018

,L0u9b)_L l;w)f4Sg0

~)YV1l*g051Testing软件测试网d]8g Vn6[*t'q"L}(|

]6Y2A"N M)}V0步骤2 获取数据库当前时间51Testing软件测试网6DI5B7z0P*\6o1vb._"G

51Testing软件测试网6k(w9Ta/A*v

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') tm from dual;51Testing软件测试网fd7@!{,g!f1g

51Testing软件测试网{lI[GG~&N

t"k9H(}/Omk;k051Testing软件测试网_i iy@ci^

TM

E,cV"ak a051Testing软件测试网.zfaV\d;F.hK

-------------------

6Z&rvl J,k&B9w$Gg&W051Testing软件测试网(o&R2gqiv[?;Y

2012-02-09 19:03:14

5x+`k1^ h0

](q1? \C8a't6sO$O0

2r7b6P-VYB {0

x;@tpy;K-jCui:e9{0步骤3 删除测试表

"O`$J L[t0

&zj$g8|{'@+oz+?`0SQL> drop table mmsg.tmp;

/vWOh]Dc`F%Rk051Testing软件测试网}hM&eE|q(DE

#AH v!?!~G'k$h;q&dl051Testing软件测试网'Q4{F)h$i{\

Table dropped.51Testing软件测试网H%j6P3l| gA*N tH'{

51Testing软件测试网 p zz6X gE?

4p;O/d xC#Y1U0

$E q? h'yH T0g0SQL> commit;51Testing软件测试网;S$Va |9C+j6[T

I7[)YC&WQ [051Testing软件测试网:L h%T3u1S0g Wx O {9g

x%vEu8Z7Zx0Commit complete.51Testing软件测试网Lu%@+I/]9II

51Testing软件测试网mD'F? v(z:nRg] i3~|

b]7?,t;{s|051Testing软件测试网 `qdxe2x};~&z

步骤4 闪回实践51Testing软件测试网y0[ zYN]F

oqC0Q:Qj8B0SQL> shutdown immediate51Testing软件测试网J H`2y kCg

51Testing软件测试网zKihN

Database closed.51Testing软件测试网To*G_"Au

51Testing软件测试网x8VN;h/J"m)z%O

Database dismounted.

!vCj9GV*V0

#W,NO(e9k.@F3Y/X0ORACLE instance shut down.

v}"ag(M$js051Testing软件测试网JG$r{s:A0yw0w-a,ga

SQL> startup mount51Testing软件测试网JESKeFC3U!E Wl^

51Testing软件测试网/?+N"_`+@:~

ORACLE instance started.51Testing软件测试网J Q&Wq*JE6X

51Testing软件测试网] d|G M.il

|']esr j j"a051Testing软件测试网C8MI F5L,?`;u E+M

Total System Global Area 8284340224 bytes51Testing软件测试网]5Q-q%I"h8\2b

;r$Q!Lu Dd0Fixed Size 2145944 bytes51Testing软件测试网QJ*n(vG-V(t6V|

51Testing软件测试网%@n?*M1?$g%z f3_)yKH2n

Variable Size 6375342440 bytes

q9o)ml+o051Testing软件测试网&Y*Y/B n)iY~0J

Database Buffers 1879048192 bytes

t^P\['Z0

4}.JEZ$^F7l`0Redo Buffers 27803648 bytes

6OI#]#S{+l0

"_BP:l)p#E&_0Database mounted.51Testing软件测试网 ?m{9wwM,@

51Testing软件测试网(w;J[*c2K3G

SQL>

;[^;G9a T!Y^ a1|0

4T:e#\r4b u+t051Testing软件测试网YYI5S(^ZP'Z D;K

51Testing软件测试网v y4sa&I3`

oracle@mmsc101:~/product/11g/bin> ./rman target/51Testing软件测试网,t9HW(aXvZ.n

Mq5uxK051Testing软件测试网:SQK fwr9k7G&A

z4ua!F7z9X0Recovery Manager: Release 11.1.0.6.0 - Production on Thu Feb 9 19:05:03 2012

^-z!i-V3H0

c)g_+a'Q"U8Y:\051Testing软件测试网N8y o)`q}?

[fF#W'U{3o0{0Copyright (c) 1982, 2007, Oracle. All rights reserved.

'V;s\@ e(h s1j+i051Testing软件测试网yPVR)|

51Testing软件测试网$K(pp5{1@^8p Lr

51Testing软件测试网GrUMA4K @S

connected to target database: SDP (DBID=2998391018, not open)

zr ^,gs7Oz:ei-S051Testing软件测试网|9bwZ5e

oK9s'h,?5`k5E {4D0

_*Y5C%v^M_$\ |0RMAN> flashback database to time="to_date('2012-02-09 19:03:14','yyyy-mm-dd hh24:mi:ss')";

v.o,}Z5]rru.T1c051Testing软件测试网2GV9~"W^ d

51Testing软件测试网5G1p3Pe#tCv

51Testing软件测试网S:|jdw.r h

Starting flashback at 02/09/2012 19:05:0951Testing软件测试网5d bH_eM

51Testing软件测试网LC.A)D"k!Q

using target database control file instead of recovery catalog

i ?\5?(h051Testing软件测试网 a9}w d+H

allocated channel: ORA_DISK_1

-BXj \'j*xf6] m z0

+H'E*c6TX:Dh8x0channel ORA_DISK_1: SID=1086 device type=DISK

;x0]H3gv&_ O,@051Testing软件测试网3p/l+rhc#T*e6RbAL

D8eu+~h G4e0

3p C)kR6_'l$U$xq0

Y Tsc~z5q?Iy051Testing软件测试网4_*cE1eH Y&q

starting media recovery

$z4w#C] |}vi!w051Testing软件测试网8n3FZUc7U

media recovery complete, elapsed time: 00:00:03

!Cl5O RR,mj y0

3YR$t%b4|n051Testing软件测试网4[3c` o j*v?1b/`

+UcI*gL%uTp0Finished flashback at 02/09/2012 19:05:14

/d"YI$vM2u051Testing软件测试网,jL+UM)v6{

&FG`q2hS;X7R2iV0

?:I4v NWWwp0RMAN>

Xhh QW*e3D8[0

1{#g-o3\*V%Z0

9q8]cj.il1G051Testing软件测试网#i-~&th9bq

51Testing软件测试网6u s ^P2B-~7`e:Be!L

:z*Zo [7wY PI!V0oracle@mmsc101:~> sqlplus / as sysdba

q z.A(yo%U'| s:y051Testing软件测试网Ul^L Se'i

51Testing软件测试网k,l/l0I-A G

Lo p\q0Ds0SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 19:05:36 2012

H1xF?;m051Testing软件测试网([ nq M"alS*s(x

51Testing软件测试网Z c B7t#[.r|;Y5A

51Testing软件测试网/Xf]@J$aAIR u@

Copyright (c) 1982, 2007, Oracle. All rights reserved.

YKT_o,^{ O6{?051Testing软件测试网 u[)G(qM{*pD%F

#[/[iuvwr]051Testing软件测试网;n-R"T J0|)QO

Dea8e.v Y"iv0

2r.n'r,C!~'\]_ A3Y&p0Connected to:

T3\,\2C%g,H1j051Testing软件测试网P)sB%T9s j t

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production51Testing软件测试网3xPei+k?8D%s5YD~)}V

51Testing软件测试网)W(~z,SD)a

With the Partitioning, OLAP, Data Mining and Real Application Testing options

GV`%W:M([aWW0

e? k I/x3sY0

%O+m/C,T1yu U0

n A/HB h@0SQL> alter database open resetlogs;51Testing软件测试网 b ]1^ p@P O~8i(d

51Testing软件测试网;g7E*C#@ cu

` p_1GoM]0

9\"yW|4s3X0Database altered.51Testing软件测试网O@%aSyVv5Z

D{ @.f/uoQ Y'~0

U/z!C } N)U KHb$O"k051Testing软件测试网#mIhu9j:_L'Vf9q

步骤5 查看闪回结果51Testing软件测试网#J.Ys3y'YlD

51Testing软件测试网 C&QFm},Qo.o`1x9~

SQL> select count(0) from mmsg.tmp;

4BLJ ?J:v8o F!C051Testing软件测试网1b7SN/^-I~

_Y&},uB0Wcja6le051Testing软件测试网`qE"~wAVU

COUNT(0)

0O-ak3dA5n0

(^H&d s,qYl(]!fc0----------

Ob;O ^$a7~b0

hyr T7nH018

,VC&c,Y4hZ7Q0

r8VnB7@}f0

8f{Q%VX;|r4vn051Testing软件测试网!@r&Kl2rS

SQL>51Testing软件测试网7q2c+t$|7Pu

51Testing软件测试网8Q] jj-X0f2t G,V~

0rl%XTvP0b.基于SCN闪回

Ol]*\+U(aE5e5a ]'`051Testing软件测试网(y0~MTz%pFqg~

c.基于sequence闪回

I W-l `A-h/bz O0

;pk7X~S [6I j7g051Testing软件测试网viqbyk

说明:51Testing软件测试网2Bl(M n+k M"u

q[k R3p^ jB0RMAN闪回操作和sqlplus闪回类似,命令可参考sqlplus的操作。51Testing软件测试网V G@ K` yZ

H+i-sm_{H5Q%ty051Testing软件测试网v#rHRbow/Pm`

51Testing软件测试网mC\:z:H?tm

51Testing软件测试网%bsVyM

闪回表51Testing软件测试网o O;vnC4I0qZ(B'U5G

就是将表里的数据推回到过去的某个时间点,是利用undo表空间里记录的数据被改变前的值,如果闪回表所需要的undo数据,由于保留的时间超过了初始化参数undo_retention所指定的值,从而导致该undo数据块被其他事务覆盖,就不能恢复到指定的时间点了。

/Il.Pb-F5rgfT0

K ftdi.D8P051Testing软件测试网[ [)mi#v:T4[H!F

Mf^:g'}WP3\e0闪回表的局限:当前的时间点到要闪回到的时间点之间不允许有ddl操作,否则闪回无法成功。51Testing软件测试网K,vr)y E

51Testing软件测试网l1~;ct+}&ZufDj

i1{Q-a @#FP c5c051Testing软件测试网w^ YNuJ

示例:51Testing软件测试网c+u2V_*Rze!E%H[:R

n d.d{-{+|Q4p0SQL> select count(0) from mmsg.tmp;

\.`[$J `:bBEvh0

v+i7gd$_g4s/Q3V0

Y#j~;h#E^0

"g9l1sV,{ q`I1Q j+R3q0COUNT(0)51Testing软件测试网y%q-u@$]FSa/M0O7U

i4lS+}~ARhQ0----------51Testing软件测试网xd@!{AJ0@X

51Testing软件测试网oM*?Yec

1851Testing软件测试网J AAF,au.gX

B.[+OnT!| }[0

9B4m|(k6ymn#Y051Testing软件测试网C h3s8Mfl,[Kru Q

SQL> drop table mmsg.tmp;

1`n)g)@X051Testing软件测试网H1h g1\-jncN(U l

5|5F[0W qDf0[-E EG0

_7A(I\5LH0Table dropped.

*V C LO7[9g0

:yfq!y.O6f*tua0

6YY _'k*C.nF]CA0

[R(Y k J*}0SQL> flashback table mmsg.tmp to before drop;

a8k]GN {)D t051Testing软件测试网pL'Yb A

? O6E,[j2x'h v0

*@lum P0Flashback complete.

S~@J:z5R0

1_D:`4Y4tR2ugqgC051Testing软件测试网:Ut-Rh4l

51Testing软件测试网"qb)J{~ MW

SQL> select count(0) from mmsg.tmp;

:HFW"]x ^P5Z y6?1t;A`0

t!NS2AR.I0

[!rV+e5bI/r\M051Testing软件测试网m\FQ dr&em,L$`

COUNT(0)

*x3mR4W&k O of1S051Testing软件测试网|D~ G;k

----------

*CGSYX f;G051Testing软件测试网ZL&NVl^"d ER

1851Testing软件测试网ImM E3_ h6W

51Testing软件测试网!\1@Mg#CC }q I+Z/D

+a*m.L-kZ051Testing软件测试网 nHNj(pi

SQL>

i/IC$p!]q+s:rX0

W|2j#zpCI0

I5@2k&r X051Testing软件测试网I7BW6a2Vb6X,]5ns

说明:

R4y;O;tnC9b051Testing软件测试网/j.T/t(Ukt"va+V

闪回表,需要在数据库启用回收站条件下才能进行表的闪回,否则报错:

7fdk4Vu.ov?;?051Testing软件测试网!j6F3q'C%|\L#I6p

SQL> FLASHBACK TABLE mmsg.TEST TO BEFORE DROP;

%T1bZ:F?'u7`0

#e;VnF:_4Tg b0FLASHBACK TABLE mmsg.TEST TO BEFORE DROP

X{j)JI3e h051Testing软件测试网*j wJBLd1R

*

%a+N[Fw&Lb0\0F {051Testing软件测试网'MTB6u7O w

ERROR at line 1:

tE gBT m0

PEv'VPt0ORA-38305: object not in RECYCLE BIN

W;?.J2v3t9j051Testing软件测试网U%o Z/fF%\J!J$j l

av|9sUCA"xB"R051Testing软件测试网7yKL M5^ lz

2l!f#`s%z\L0闪回版本查询

Paq1j-@5h0[%Sg V:`0所谓版本指的是每次事务所引起的数据行的变化的情况,每一次变化就是一个版本。闪回版本查询使用的undo表空间里记录的undo数据。

6e%}U"I$qf8[ k0

p#f j1O.P051Testing软件测试网Ug jmPm9T}

F/h;B]N0示例:51Testing软件测试网7_2zC.i9C)? m

51Testing软件测试网 _/T4U9Xp!aP I

1、创建测试表,并插入数据;

e:n3N Hag,U6h051Testing软件测试网POU a*n$Z

2、查询表中数据总量;

#~ WK#s-X%jdo051Testing软件测试网#`5{AB8SQO+l a9w,@

51Testing软件测试网/l5@ld;[&jx)x

x(`+_ [mv%x03、drop 表中某个记录,查询表中总量;

9M$TU,}Dt$\0

Vc)~X NVr_0

*I1EFY^051Testing软件测试网Uk q:H+L"V

4、查看对应的该表中的闪回版本信息51Testing软件测试网 Sf)gP7lI:K@uz

51Testing软件测试网StgMb%X7gy

select versions_starttime, versions_endtime, versions_xid,
_ u3Wo,j6f'` J0versions_operation, moduleid
JnE8NM,Cc0from modules versions between timestamp minvalue and maxvalue
:g w[3H0E6d1u0order by VERSIONS_STARTTIME51Testing软件测试网3k:MPhI U^
51Testing软件测试网E)UR|Uttxb}

`*D#\&cs.E&F0

2x]a-R%b'O-`5nYF0说明:51Testing软件测试网0~kXQ$Y

~3DN X%E.m F#o7f0其中modules为测试表的表名称。

g ]D{1l051Testing软件测试网N$aCe3][

{F8{D"i1I%D^6F0闪回事务查询51Testing软件测试网Qs3o4p!W:N)YV8mt

闪回事务查询提供的是一个视图,flashback_transaction_query,利用这个视图,可以显示哪些事务引起了数据的变化,并为此提供了撤销事务的SQL语句。51Testing软件测试网z*T.T3P#cc G-SH

H:a*}$i)N G/z0闪回事务查询利用的是undo表空间的undo数据51Testing软件测试网9G&]g-|#};GE})i'n

51Testing软件测试网F$U5M FQag?$P0QR

*ff|1v*H+@6x051Testing软件测试网 o K!y(tP1]1d,I1u

示例:51Testing软件测试网2tc)@8f V,`

5U!l1i3@6de01、dba用户登录数据库,查询视图信息;51Testing软件测试网x:]WxD

e(km\m,_0select * from flashback_transaction_query where table_owner='MMSG';

G_g.PW;T7G0

G%jr.sImN051Testing软件测试网R1I&tH&F h(q:A

51Testing软件测试网?iF3F7m@/H] Y

2、查找对应的闪回事务,确定闪回操作时间点,执行UNDO_SQL字段提供的回滚语句进行闪回操作。51Testing软件测试网y SkX ~

-\'_ t3P6W1m ti0

,Z)lmV"G&j'S8?5i'`~0闪回查询51Testing软件测试网N n8Od-@&L"X*A

查询过去某个时刻表的数据的情况,一旦确认某个时刻的数据满足我们的需求以后,可以根据这个时间执行闪回表。51Testing软件测试网y'H3s5|8L"f$y p

&|,hZ6b#_r0

o(\/V8x*f%I*g+Q2w0附录查看闪回区使用情况51Testing软件测试网A!X]:{.H^*mo

SQL> select name,space_limit/1024/1024 sp_limt,space_used/1024/1024 sp_usd,51Testing软件测试网gGVg-tBua

DyDb d k02 space_reclaimable/1024/1024 sp_recl,51Testing软件测试网 a)n8k4y~,}A

51Testing软件测试网!_2xDrR(o;caB%x&G

3 number_of_files num_fils from v$recovery_file_dest;51Testing软件测试网8J-e S}ME%K

2dg+IBAHX0

T/n*Uh?051Testing软件测试网|[,[7C y@ l

NAME

$j9h#U\Ge0

C5[2nU~3W0--------------------------------------------------------------------------------

1O-K!exb051Testing软件测试网-y.EKy7_\

SP_LIMT SP_USD SP_RECL NUM_FILS51Testing软件测试网 vm]RS'J |%A~Ce

Xs%{)c @lzC0---------- ---------- ---------- ----------

;_[q-Z'y6anuRx051Testing软件测试网O~i S"M N}

/opt/oracle/flash_recovery

!@||u8pJk J051Testing软件测试网!|#@l,\*PM

2048 918.15918 0 1251Testing软件测试网d-[ w J h7];s

51Testing软件测试网k Kfe0\)?

51Testing软件测试网hAx8Vcg7HB7~

51Testing软件测试网;K6\ N BH4D)e Gh

51Testing软件测试网 i`3T%p"T

Y{VI7z8w0SQL>51Testing软件测试网5}5]q^.m

@/_9h,N9ca|i051Testing软件测试网Z:A&uw%X+s

Ke`2\2N [9C051Testing软件测试网z9Iw(Fj!p(W r

将某些表空间排除在闪回之外51Testing软件测试网XW(AW!UP%gPeS

SQL> alter tablespace MMSG flashback off;

ZwJKGe6F0

f0~3ZfW0

@T`$@,~4l%s0

%@[H#ZS n0SQL> select name,flashback_on from v$tablespace where ts#=4;

2w z l({U ua4r0

8L&@1fYF~ ?$zI051Testing软件测试网DX5{8cIp

)Wz1sj*Hp{0NAME FLA51Testing软件测试网@MLb'i

51Testing软件测试网\_(A+[OR^Y

.CcAhM xl,C0

pxu.r6t9j7u0--------------- ---51Testing软件测试网/Sl J*{ y[v

-R[ q/K$qX+oS`K0

B*g4e7R!SG2h,]N051Testing软件测试网C s{0zad

MMSG NO

y sB$E c\2W0

xuLh4i@051Testing软件测试网h Xa[%AB_!S.sxM

51Testing软件测试网9a0m~S-y-w}W?

说明:51Testing软件测试网j.R{@8cHa

6IU[7D xw(lY0如果需要对上述表空间启用闪回功能,则需要在mount模式下对该表空间进行开启该功能。

X7]|5NT@051Testing软件测试网(D1\i(I7D7}k WW%l

w)x,uP q)zU0

TAG:

 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 110044
  • 日志数: 89
  • 图片数: 1
  • 文件数: 15
  • 建立时间: 2013-03-01
  • 更新时间: 2018-08-23

RSS订阅

Open Toolbar