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

oracle闪回特性

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

51Testing软件测试网)~ dg _5Xy(n1t.xW

"Zwo/?&RkE8ca0

k1\OtGt,~!o-I0

*\t8vJq&lE.S$u051Testing软件测试网y*d}v.vg7Cv

51Testing软件测试网2vRG.K{U'ZH6qS0au

(Q5L0~-r`oA.qa/nH051Testing软件测试网LK1M6y:E+H,M

51Testing软件测试网`!{G/W%X!Q7~n

k\]|(i+_Tt051Testing软件测试网8UP w9f#aeBm3_$X3}

CV?l:UM%j(x b0j!Jv W0

[ A6|SV%b051Testing软件测试网h!nP8n h/|[

$M"w.^%V } e V5h:~,N0

oa~g4i Q#SX@0

|$G1N0v"F,N0

8sh(g4iF051Testing软件测试网Y)]n Wnt#s

51Testing软件测试网v~ HsqZ

特性概述

EZ#`vr+YB2q0闪回技术通常用于快速、简单恢复数据库中出现的人为误操作等逻辑错误,即:闪回只对逻辑错误有意义,对数据块损坏和联机日志损坏必须采用介质恢复。51Testing软件测试网8S#TiK(]/IVW,g%AB

51Testing软件测试网I&B2`-q:^*Y

51Testing软件测试网$?3q$P;mD/A

闪回类型51Testing软件测试网$kCp4WA g!H

从闪回的方式可以将闪回分为:51Testing软件测试网T#{*RfU a4f9w+\X Y

ss{ d+_%F,S01、 基于数据库级别闪回;

Db Y3O'Md0

n!B`/R)t9Y;dk02、 表级别闪回;51Testing软件测试网Mdbm;lz-cq

51Testing软件测试网H!RSt O\

3、 事务级别闪回.51Testing软件测试网;m b}H }+t*gC

i2R+I:vQXcS0

(A6[IhV&Aa/E5t0

3r b5J#@]%r0根据闪回对数据的影响程度又可以分为:

&L1Mj4n'{d5k/A(N051Testing软件测试网bo._3^V#fb`T

1、 闪回恢复;51Testing软件测试网$md8dUa$~,_

BNU@.i3S{3T5O[7\02、 闪回查询。51Testing软件测试网+m6K8O"K!H/xM)qkY

51Testing软件测试网3RL2Dx xS&m;s;z

闪回恢复将修改数据,闪回点之后的数据将全部丢失。而闪回查询则可以查询数据被DML的不同版本,也可以在此基础之上确定是否进行恢复等。

_4z7_^(bP051Testing软件测试网K"P#`E fsm*Jv

51Testing软件测试网 hdI+Q'F+AE

如何启用闪回启用闪回前检查51Testing软件测试网`o u8Npv$S8Z

确认是否启用闪回功能51Testing软件测试网9X/K{)_t*B7[!w F

$T.DAk?*[xK0SQL> select flashback_on from v$database;51Testing软件测试网r!oDm%c&n5V

v6r"CZV1gU V3s@8I051Testing软件测试网3m^:r1d-k#h)R#P a

1v xbx r&K8H&G0FLASHBACK_ON51Testing软件测试网X|l X([b9?Q

qU@r/f Ma[T0------------------

0Sk_J}i`0SH-a;A0

gO4^Av_h[8F:U+BzE0NO

Fw-hg uUe9?0

t.cr xe7f*u0

sC `4L JV;g1p051Testing软件测试网l ^;h5^.l

SQL>51Testing软件测试网1]0P2Wtxh8v9x

51Testing软件测试网#u$K)AAo

)b-YK J4G.|v"_!U*C0

S s0s4LV)C0说明:

;^*u.`,bU/p[JqfA0

elj1nZkffx*N3U01、flashback_on取值为NO,说明尚未启用闪回功能,取值为YES则表示启用了闪回功能。51Testing软件测试网Y-PSZ d+r4g

W0u@ T8X.PbT\02、该参数仅能在数据库mount状态下修改。51Testing软件测试网Z4L BEa j vM s_

-l WOu-{9wC051Testing软件测试网^s4@*_/v xu

:}0V*y)I6J:c+q0确认当前日志归档模式51Testing软件测试网3H,S/j6uu"j

51Testing软件测试网#DAEAnF7QH y4Q;L?

SQL> archive log list

!s7nLs,XMHt|0

"O:ReYH d0Database log mode Archive Mode51Testing软件测试网yu``K6Pj%{g

51Testing软件测试网Z2FAW|0z

Automatic archival Enabled51Testing软件测试网x)} c0t'R

"IZ-NXZ5Y9JR/t0Archive destination /opt/oracle/product/11g/dbs/arch

3q2w$^&S8pzlBj0

7j)pIxt}0Oldest online log sequence 216

"\j9d:k^W+w0

};xxK%K%B5P0Next log sequence to archive 22051Testing软件测试网M4H8_ ]Y y0X*AQ

W4E OGB"`0Current log sequence 220

3F5V4@9v1Up%O jD0

KQ2X8?:my0SQL>

ou|I2?W'f&g051Testing软件测试网AR*X)?@

51Testing软件测试网%F5e-z#XMa&~y5a Vj

51Testing软件测试网{-Z)a0MW&ZL

说明:

&p,}D+ac$x051Testing软件测试网gE[*zwz!O

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

Ahv*r;n0i-K0

({&Xn e!{o+q0SQL> alter database flashback on;51Testing软件测试网u)DBP@rc#@

51Testing软件测试网"PgKax%e.e8]

alter database flashback on51Testing软件测试网1mP9}[3mTE8H

c7_%T;| [*aT8I-` l0*

X _0S-OYo1oJKa051Testing软件测试网 i,H)C5R.{ZGj

ERROR at line 1:51Testing软件测试网"e'UFLf.ie{

51Testing软件测试网GZ-X'IzC

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.51Testing软件测试网B`X"}9s Kw#c

n P7d9v)qLx0ORA-38707: Media recovery is not enabled.51Testing软件测试网2Jea aA+fr

51Testing软件测试网 YQg)f+@m+Z

51Testing软件测试网eg5m(` xb

51Testing软件测试网_6u2mVb,`

oracle@mmsc101:~> oerr ora 38706

;M;v g_|.Xf7e8]9y0

3f)`F?9L&S-z#L#B%[!F038706, 00000, "Cannot turn on FLASHBACK DATABASE logging."

T]F8} z/k051Testing软件测试网&z6v5We*[;R

// *Cause: An ALTER DATABASE FLASHBACK ON command failed.

4l(}2t-UJ0

aT wz5s^ F T-[0// Other messages in the alert log describe the problem.

,C*aV/`L0

Lx"[7EOtC0// *Action: Fix the problem and retry.

0W:j ?1fg;k'V051Testing软件测试网/U:ca/[x _ U v

oracle@mmsc101:~> oerr ora 38707

7aMo G_@*^:C(~051Testing软件测试网+Q{xUx s.O

38707, 00000, "Media recovery is not enabled."

$xX(p9zq*^?fh0\0

6T:z_eA a0// *Cause: An ALTER DATABASE FLASHBACK ON command failed because media

chmka#{el o0

_E\ Y{0// recovery was not enabled.51Testing软件测试网(`.l\\0D"g

51Testing软件测试网z&H\}AF%K

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

sK^G f` y#]8Q0

U0X5cNo:^j%l0// command and then retry the command.

6vcuW\:k!t0

4`D2[f"j$IaN051Testing软件测试网kX*]W,C \'W

`'m-Z O z8O0

-}/Cx)M'l4T051Testing软件测试网"f RD@E'B5Y

检查/修改恢复区设置51Testing软件测试网U \ Y2q-C{w-jT

51Testing软件测试网7B\O9c_Mg

E}"E$_D&U2C dG@051Testing软件测试网,ER:eN6pP;NS3~SI

SQL> show parameter db_recovery_file_dest51Testing软件测试网,cTe!Xx(h

IkN%X O7D1j5H051Testing软件测试网]j/sU"k N gz!s

51Testing软件测试网_7AO7R:o2kp

NAME TYPE VALUE

0e |W~ i%N051Testing软件测试网"W Wv0PQ,`

------------------------------------ ----------- ------------------------------51Testing软件测试网0fqI!UN[{

M3B J Y@1i8oM"f7?9J v$e0db_recovery_file_dest string51Testing软件测试网!zm7[(uK8Tt

S+y8ne{4o+K0db_recovery_file_dest_size big integer 0

Y(c%mc/_5@/wN051Testing软件测试网wo7e Hn

SQL>

W0zY _5M2SL7? G0

+_DRI r+}L?0

7@&n$}]g0

D.v"{9v#QG PA0说明:

yLJy*uM"vd;oo051Testing软件测试网0] Q,A8k`\T*]q

上述查询结果展示db_recovery_file_dest取值为空,则表示没有配置闪回区域,启用闪回后需要设置该值,string类型的串。51Testing软件测试网L3VKh {oQ*Y

3wq*Z8MDj5WG051Testing软件测试网!g)`C_mma

51Testing软件测试网"H7vz.pLB T

检查/修改闪回时间设置51Testing软件测试网QJ$YCN

51Testing软件测试网 Ow,A%vi;V L_

SQL> show parameter db_flashback_retention_target

\2a+av9k K MB0

5DN i!U ^0ni0

q[z\`&o'BO051Testing软件测试网@5[qd|l7l-Dsr

NAME TYPE VALUE

H)Gy uM"}051Testing软件测试网?3te5` B.H-SBp

------------------------------------ ----------- ------------------------------51Testing软件测试网]:X Q:r G){X.H#Uu

9Y[F:EqJ0db_flashback_retention_target integer 1440

I*u1N4t5xp051Testing软件测试网:VA$l_ v6A

SQL>51Testing软件测试网3oXJ9e cK

51Testing软件测试网_1cG*j0\

#wjY"~8x#xAi0

tM"vcb0说明:

`|E~n.UB#e2e0

^p'C4RY?(lq#l01、db_flashback_retention_target单位为分钟,表示能恢复数据的时间长短,默认值为1440(24*60);51Testing软件测试网7G"Z5pq9Te`

xeXOYT02、如果想调整这个参数的取值,可以使用如下语句进行调整:

-S,}'~%r4@-m051Testing软件测试网YdMK/Cp

alter system set db_flashback_retention_target=1440;51Testing软件测试网tq2x`/f [{*N

3W(mf%Pb6L051Testing软件测试网wpQ,_'^fn E

51Testing软件测试网2W1E0lRp,]q.Z*@

"aK$j6{ W9xBt0

Oj RR9Y0检查闪回区域大小51Testing软件测试网-f^'^L*AThTK

51Testing软件测试网 x@u|J5q[

SQL> show parameter DB_RECOVERY_FILE_DEST_SIZE

,p${"WJe0

@ O @9nA-UN;a051Testing软件测试网$R hYA*C-Q

51Testing软件测试网y*~5E+\:GI

NAME TYPE VALUE

/P,H*g%pA^:D051Testing软件测试网z @~|1@G:r0V

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

2L9d5g$^ L"M { NvB:K0

:U r1v4`$e(ul%q^!sfb'k0db_recovery_file_dest_size big integer 0

Ss q&R)rQ [8['[V/R051Testing软件测试网'@7RQ5Dn0o]

H8](RJ}1K2o:~051Testing软件测试网9C'v[6FkW6p*g'V n

说明:

^ W}(RQ0V%j0

|j*nK8MV;c;m0db_recovery_file_dest_size参数单位为G;

Gmz2\dg051Testing软件测试网eGA%~l-|p

ym)H!_4P051Testing软件测试网[ SF@+Nac8sq4v

51Testing软件测试网.Wzg5h;z7ov L)T

启用闪回

$F3[7jz3b A2wP0说明:

:]ct/x6Ua)U051Testing软件测试网J%O+XB _J6} x

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

'Y"Ii8x5JtX[0

[0l9~^3BD&E4[x0步骤1 手工创建闪回数据存放路径

-Ug0_|-@)testing软件测试网%D1e NaHv:Z0M?I_{

在/opt/oracle/目录下创建flash_recovery目录。51Testing软件测试网Kg ?v.Ny

$b m sxjomH6cG }0步骤2 修改闪回数据存放路径51Testing软件测试网:w2zrR p-PzdGIE

51Testing软件测试网y,Fy2sv

SQL> alter system set db_recovery_file_dest_size = 2048M scope=both;

v \ \0h(PMf051Testing软件测试网{!LBX;x5yS1XJ!U0`:x;d

!h MX R*oyZ0b0

^ [{0kl0System altered.

*j i)nl;n/f@8D M9m0

/i+u`D9];@051Testing软件测试网C {;e/r5{.P

W OB F gF!@.n?W[x0SQL>

I*H e n6|dg-I`5]0

Q2{5| C/u0

I4U2o!KKiX0G,t0

~Xvu3LD8C nx)R0步骤3 重新启动数据库到Mount状态

Zm y'[R GQ'`.M051Testing软件测试网A[j&S_Z

SQL> shutdown immediate

7R$YF9y6Jg9r/G051Testing软件测试网1DbH}V&L RTx

Database closed.51Testing软件测试网@ r8l$j:tU-o6tE

S|;~4FEB0Database dismounted.

c4} WI"x'z[051Testing软件测试网.G#j:M,l6m6J

ORACLE instance shut down.

N E ra3d&z5u}051Testing软件测试网 jX*f)Ru?/@X

Database mounted.

6{0U+D]2RZL051Testing软件测试网G x%aB n!M

SQL> startup mount51Testing软件测试网K8t|'^ Dc(E

3Mp'h7U.] j0ORACLE instance started.

;s&K)J+J ke0

'KuA8F&V E0

W.dE6zTP#U7^0

0r I a?v.E N0Total System Global Area 8284340224 bytes51Testing软件测试网'[6~yU\J9Ss6}!FjV`

:? [_6]%jh-v0Fixed Size 2145944 bytes51Testing软件测试网gDNy1i g

51Testing软件测试网*WDAx'b!P

Variable Size 6375342440 bytes51Testing软件测试网!\eZg-i,NF0L,D

51Testing软件测试网!m3~*Lp`

Database Buffers 1879048192 bytes51Testing软件测试网3Jw9\;RBQ1_Z2i1W

51Testing软件测试网b+s fJ C/S-d

Redo Buffers 27803648 bytes51Testing软件测试网 T%a:kD$Z&~gi

51Testing软件测试网c3CHan)j A@Iu

Database mounted.

+?Z4q~!H051Testing软件测试网2P"Rw Fv0pxSU

SQL>

e*T!{$J-{(Y'sA0

k4f0R9|}:G1cuY+[.[C0

!sW s3{'bVQ#\{;Y-@051Testing软件测试网AWc:h*U

步骤4 启动flashback database选项

~5ybikY0

8?f(U{ V/^r~B0SQL> alter system set db_recovery_file_dest='/opt/oracle/flash_recovery' scope=both;

.d!zL'P Rv2K*T051Testing软件测试网5s$U$Z4rY6g

51Testing软件测试网K#h6d r,XsNx@

2f Wj/j&d&xRG0System altered.51Testing软件测试网v0mm8ir:EqP7e

51Testing软件测试网*|{(y-i2pRZ

SQL> alter database flashback on;51Testing软件测试网)y'NwZG

h0A-\ h h}J0

pQ,V Jx*H}051Testing软件测试网MD S DkB

Database altered.51Testing软件测试网2bz&t&x/?;[u;r`

yBe7y ]p051Testing软件测试网 tA,? W2E^v M

|!R_r Llz2G0SQL> alter database open;

W{3OAMLhV051Testing软件测试网'rr9H(c6R}8vg

51Testing软件测试网6MU+b9b!J\UE'@ H9Z

51Testing软件测试网 Dg$Y"InI2L~ N$W

Database altered.51Testing软件测试网9rJ3B%x q5\~

6y-\P6V(`$X4e0

8h M.A.apprz0

em`"[NC0SQL>

unX_[ Odp0

s0J;i3S;e*sPlk)Z051Testing软件测试网V@7\"\)L W

51Testing软件测试网3T U3N^!?"X6~#N

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

'~ U5OI"_fV a m051Testing软件测试网zE'E)l/`1j)X]k8F

SQL> ho ps -ef | grep rvwr51Testing软件测试网w+K/n{-u hP

51Testing软件测试网xd6CVS)J ]

oracle 23486 1 0 17:09 ? 00:00:00 ora_rvwr_sdp51Testing软件测试网a!~|8UHs)v

51Testing软件测试网/Wa(~+?GB

oracle 1634 14984 0 17:26 pts/6 00:00:00 /bin/bash -c ps -ef | grep rvwr51Testing软件测试网 Hy:@r fcn

51Testing软件测试网HRp7u"Z$W,J

oracle 1636 1634 0 17:26 pts/6 00:00:00 grep rvwr51Testing软件测试网.?PGJ3]7N6P

\:fL1O"J9i$ww6I0

(C$b{LRH:R051Testing软件测试网"SgsOs,sX.\y

SQL>

Q6l!qj3Z@9[,s0

y!RB{m{0

r6K!L/M j6W0闪回数据库(flashback database)概述 flashback database的特性51Testing软件测试网EJ k?3^6p BqiT

flashback data1base闪回到过去的某一时刻,闪回点之后的工作全部丢失。使用resetlogs创建新的场景并打开数据库(一旦resetlogs之后,将不能再flashback至resetlogs之前的时间点)。51Testing软件测试网FA(K*Z3M'~~a

2EI@WTB0常用的场景:truncate table、多表发生意外错误等。

]!F-NslI0

m7kaE-I0

5^ Cft&xJ*|N0flashback database的组成

!E w qt?R:tB Lq0闪回缓冲区:当启用flashback database,则sga中会开辟一块新区域作为闪回缓冲区,大小由系统分配;51Testing软件测试网@9hye/M$TiGM

51Testing软件测试网(o$^.vh8O8sh

启用新的rvwr进程:rvwr进程将闪回缓冲区的内容写入到闪回日志中。51Testing软件测试网w6jl"|"Z.MSgXB

(Zt'{Z3o'w;O0

E6~l[hX-`9ix0闪回日志与联机重做日志的区别

Wt1m ]#i*x0闪回日志不同于联机重做日志,闪回日志在联机重做日志基础之上生成,是完整51Testing软件测试网W9D}0_\h_S,j

2j%\Q w`hZ0数据块映像的日志。联机日志则是变化的日志。闪回日志不能复用,也不能归档。51Testing软件测试网WX1kM;T}*xz c

51Testing软件测试网\!FQ Y#?1D+f1}BR

闪回日志使用循环写方式。51Testing软件测试网^m4hFP#X`

va?O:[` L0简单的讲,就是:联机日志会记录改变前后的值,而闪回日志只记录改变前的值。51Testing软件测试网EM2w YC9R~4w

1ZO6pV1O }I0H051Testing软件测试网7i7^pruuq

闪回数据库的实现机理51Testing软件测试网 Md^ YF;HO/S X

buffer cache<-->flashback cache<-->rvwr<-->闪回日志【日志只记录修改前的旧值】

H M b0s_9Yz"j051Testing软件测试网WBP R@-A'\d pi

51Testing软件测试网e |6v#aE$e,i&Z"X

闪回database的配置 1 查看闪回数据量、时间等相关信息51Testing软件测试网_th(J3v

--下面查看闪回区分配的大小为大约32M,闪回1440分钟(24小时)以内的数据则需要46M左右的空间51Testing软件测试网9F)M"Os W8Wx

,a&Z%r!_hlvf0SQL> select oldest_flashback_scn old_flhbck_scn,oldest_flashback_time old_flhbck_tim,51Testing软件测试网+dmBv/k#X0eV8[

51Testing软件测试网0J`9O&?/?Nc,F+N

2 retention_target rete_trgt,flashback_size/1024/1024 flhbck_siz,

c`4Dn T2y a*@051Testing软件测试网 wPj%E_ O

3 estimated_flashback_size/1024/1024 est_flhbck_size

r(s#V%CO*Z1` s;T0

"j,J]w_rnt}t(~W04 from v$flashback_database_log;51Testing软件测试网%`3G([|v5ca'U-L4La

51Testing软件测试网Xqz9aA]H*E

Ye_Vj6y L|0

9Ywc7Z1i {e%[0OLD_FLHBCK_SCN OLD_FLHBCK_TIM RETE_TRGT FLHBCK_SIZ EST_FLHBCK_SIZE

g;~2V ^&v-W0

2huL5KW0-------------- ------------------- ---------- ---------- ---------------51Testing软件测试网&h M&C vUY#iqf6X

M"hk Et05813199 02/09/2012 17:09:06 1440 32.0078125 46.2890625

!Z4tr/Z!rm.|;e2z3vD(W0

9B5^(l P4jkH051Testing软件测试网^3AfoL

51Testing软件测试网'J:q+v#~g ~@g

SQL>

|Kw%Ty*T h(t-N051Testing软件测试网 Nhwl)`c

51Testing软件测试网"U8u5W@r2IN:x*A1t

z} ^-TkK ~2H&`0说明:

3y,| p.~c051Testing软件测试网(|.\AJ)S\

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

GU Opk3K/@051Testing软件测试网oE2q$b5I7s

#tfz"jF kl02 查看闪回51Testing软件测试网Zu~)]VTpS(r*I_

SQL> set wrap off51Testing软件测试网M"]2okS,fZxm'Q

J]X-G~)X8ht0SQL> select * from v$flashback_database_stat;51Testing软件测试网(].Eae'v5^ Y

? PO:WKK8K0truncating (as requested) before column ESTIMATED_FLASHBACK_SIZE51Testing软件测试网 e/y(U0mP3V x){0aG

#t(KQ d,S$FE]"N0

,^"\ m-F'p051Testing软件测试网(|9C.N!W['`8b

Lq Y-of8X `Z0

%y%Wx @ Y#}u0BEGIN_TIME END_TIME FLASHBACK_DATA DB_DATA REDO_DATA

Om:kZ0O0

$brR!]KbS*Q7c3]A0------------------- ------------------- -------------- ---------- ----------51Testing软件测试网i@2R"U[ LcC#^

-i0fLh.Fj a002/09/2012 17:09:06 02/09/2012 17:57:12 1351680 1466368 326144

7E$p$UTs0

gMnMh2C f0

[/~S Z"c8dV-U%N0

si9P)bK#x|-T$_0SQL>

O%HFmVx$B_@e051Testing软件测试网HP4vL K(} ~y?

3_"]1k1QHS$G03 查看闪回中sga分配的空间大小

6EO&T;l ~{C)Q&G0SQL> select * from v$sgastat where name like 'flashback%';51Testing软件测试网2P$GMHi$K

51Testing软件测试网Y,\C.R-kX#@ ^

51Testing软件测试网'~8`&znh:k

'kfez }Uv0POOL NAME BYTES

-{ vXy8uLl"d-C&?051Testing软件测试网6`Fh#d8thd

------------ -------------------------- ----------51Testing软件测试网X&x:s9}0z-R

~ p H q$w0shared pool flashback generation buff 3355443251Testing软件测试网5?p8T,k8A]0P.K.c2z3J

51Testing软件测试网4OC:dm,[ r9g0Q

shared pool flashback_marker_cache_si 920051Testing软件测试网8@kTc_-V"b%s"T

F1fB$U#SeYgg0

%T)n qp+w:_T$f%V0

x5L(_3?p9aF0SQL>51Testing软件测试网9Y Cdh&I7\'G

51Testing软件测试网 wZ}z Hq;K

yd u Xk]04 查看生成的闪回日志

-kel/K0@Dp["]j;M0SQL> ho ls -hlt $ORACLE_BASE/flash_recovery/SDP/flashback

$og!|PZx9y`9T051Testing软件测试网,jcI4yV&{,{G

total 33M

2T r]-[Q\S?&V0

2Z{ wVI {)M$HR M0-rw-r----- 1 oracle oinstall 33M 2012-02-09 17:59 o1_mf_7m739k3t_.flb51Testing软件测试网9FT]{"T(F2YR`B

51Testing软件测试网K!yDt0UQCD.o iB

"W \.}?8TGS9bA051Testing软件测试网?Id Nr&bap

SQL>51Testing软件测试网 {8?%c s'e m&id K \v

51Testing软件测试网!c&E\ R9B`,G n

51Testing软件测试网/R|.{$pUe+~

U9D%b6T3D051Testing软件测试网 ~8U#]R.b

使用flashback闪回数据库实践

t&Y+Uwfi;j0前提条件:归档日志可用。51Testing软件测试网5zk;y9ah.A6J3_7e'Q

51Testing软件测试网9Dp5F.Ae~ [

?#n(u&E0cw0

Km.KQh-I+H'a0步骤1 关闭数据库51Testing软件测试网;l h{Q$R1Jq

1_R:sap6nJ0步骤2 启动数据库到mount状态

g4o'n2v9j&N+}"t0

!ls6C9xc.\-Yh ~NJQ0步骤3 闪回至某个时间点、scn或log sequence number51Testing软件测试网L0X^|]

;\zJ9k!P,zV"H0步骤4 使用resetlogs打开数据库

gD^X;T5]/AB_051Testing软件测试网U&i:],O(P Fr

/Qv#}$F.^c0使用sqlplus闪回数据库 sqlplus几种常用的闪回数据库方法

l(uXIUz0基于SCN闪回51Testing软件测试网 d2W7~8`4|{

yD)?XeC0FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] SCN <system_change_number>

eWQ`%xd{XsI P051Testing软件测试网 O s{v"] }*K

51Testing软件测试网;H f4q0w3t,M

_a%O0g"aFt0基于时间戳闪回

4Vwi7I&\#q t1Lj:a051Testing软件测试网4n5kmVre

FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] TIMESTMP <system_timestamp_value>51Testing软件测试网Sq5j[sd K

M^$f j4TO~}b051Testing软件测试网k9\0V T1h

51Testing软件测试网;|:K;[/~?~

基于时点闪回

"h7Z~%L6X;|Uk$^0

wIjUe8j%U&S0FLASHBACK [STANDBY] DATABASE [<database_name>] TO [BEFORE] RESTORE POINT <restore_point_name>51Testing软件测试网_ v)j,I_3X0`*E

eW/MPE+QNX}-T;ly051Testing软件测试网"i7F^.J,] U`

51Testing软件测试网8p#D wBt

如下面的示例:

bfp F]0

d8[U(Xm'w%Jw0SQL> flashback database to timestamp('2010-10-24 13:04:30','yyyy-mm-dd hh24:mi:ss');51Testing软件测试网EF'Y \,v;o

:j8[f8O1?;`7PQ&bM1F5M{051Testing软件测试网#c;P;[/E d(n

51Testing软件测试网#k.g2?beO dwnq

SQL> flashback database to scn 5813199;51Testing软件测试网t,w(}4} Mz\j(`

51Testing软件测试网iu_4q)d'H

51Testing软件测试网e7QG*TG R

#^wS-Rpr(f_0SQL> flashback database ro restore point wyz_test;51Testing软件测试网OTf;zl)g i

51Testing软件测试网i l7ht1Xi

51Testing软件测试网,jW o$vD*r-mTm?

R9|-x'Hw/k]gJEW051Testing软件测试网5w2Z(t[&@3q1A

a.基于时间戳闪回51Testing软件测试网!HN~1y-}1a(NX

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

1D D*T8_ MEm}0

kN;H8k dFZ qpL*K0oracle@mmsc101:~> sqlplus mmsg/mmsg@sdp51Testing软件测试网:ay0}1R)~8x

51Testing软件测试网;rbn$?z

51Testing软件测试网4PjIz-x(~

S EG7li%Q8x+j_wM.S#t0SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:14:31 201251Testing软件测试网D(b ?/^ a[F+EX}

51Testing软件测试网7Z(g'\j1R0DT

|~2~:b]7_8[n051Testing软件测试网8~U(A~6Pk!rtDbo3Y9S

Copyright (c) 1982, 2007, Oracle. All rights reserved.51Testing软件测试网s([y.RH2iH:Y6M1P

51Testing软件测试网A n,?i {c:G `

51Testing软件测试网%Lj9| d*u\Y{ j

51Testing软件测试网O xD7p/_d

51Testing软件测试网&axZc|` p

51Testing软件测试网O#NA H\,L({xL ?T

Connected to:51Testing软件测试网7zRu0a1^(p%D!wg

9S*aQTyN:e'c0Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production51Testing软件测试网$K.|#D+hJ

51Testing软件测试网1y,f+Nv!^7w2e

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

x6ea#X ^(k0

{)Q!Y Ix$A0SQL> create table scn_test(id int);51Testing软件测试网Z}'h(Gg|S EY#\N

51Testing软件测试网&GB9G$K"I%o

SU/I5S mr2U0}051Testing软件测试网J(T2\:j;F(]&_4d

Table created.51Testing软件测试网6fj!v;yqe

av6[:f+|jA:{$Q0

M%x_z.F{z051Testing软件测试网k\G?t1n'q"_'a

SQL> insert into scn_test values(1);

_WJ"g"|1xM%H\eG0

6U-x/T&BK051Testing软件测试网'm1I8AK@

51Testing软件测试网[x0n"]+t2_&L*zR

1 row created.51Testing软件测试网_*a9B+p/r7lZ3pe [(JG

v:F uP5j&L*c051Testing软件测试网V+~Hq"E#L4T p h1H.C,g

$CsG C l(DgK:Z I0SQL> insert into scn_test values(2);

3k {9Pb~.yl0

R-Z4y7ht2E*@d051Testing软件测试网.Ti!?:CF

51Testing软件测试网)u L$xtu}ut

1 row created.

6b*d2MA!P5x.y_+H;n0

6j[I$\t(El0

MFG:}6S5Y d \J"t0

,[4X8{E0r0w)@$FnJ3}0SQL> commit;

*g}G r0[PD|W jh051Testing软件测试网9idE8d9i'WG*G.?6H

51Testing软件测试网&h`^;HJ7jB1a

+L,N4Q `8Kb)dZ0Commit complete.51Testing软件测试网 h-Ti/m_-Vm x

51Testing软件测试网!f&u0i Dze

5p0{Q.T@Biy$x051Testing软件测试网/X%J9KfjLd

SQL> select count(0) from scn_test;51Testing软件测试网!l*jC'N}ilZ

51Testing软件测试网5BQ k.t@3Duy,] Z

51Testing软件测试网l&d)KqN?5xO b6Q

51Testing软件测试网.yW&C1U-U G

COUNT(0)

O"l^)XD2d0

I9{8Ng1?/YP`0----------

K*a9W:G~0Ua OO051Testing软件测试网&] oJQ}(U MH

251Testing软件测试网V@,q7q4v,p

]R^i)W||051Testing软件测试网L!{P{7BzK'g.[

C}9v7g1_l&Y#H]*_!q~0SQL>51Testing软件测试网"X%MZsm

GMd"i ok0Y0说明:51Testing软件测试网Ql{&EcM

4fZq ?3W0上述测试表中有两个记录。51Testing软件测试网ro G2C |:Rg

51Testing软件测试网 IH;n-w:c5Vk

#y_7aA!j6C0

3_EqRAM0步骤2、获取系统当前时间51Testing软件测试网7O3J+|tc/q)Rr

MY F'W%GgL0SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') time from dual;

9\/E9e)}]$zk4{ l0

&|xI,C%TS6Z {m051Testing软件测试网6\S9NDi/z-u.lD~

k9?A4`+Y&p0TIME51Testing软件测试网$@-`i.uvW ry

51Testing软件测试网vO8P z){[C

---------------------------------------------------------51Testing软件测试网$h,beS X [Fob

51Testing软件测试网E] E)DKZD

2012-02-09 18:39:30

:BU-B*V.n(K051Testing软件测试网2Ft#AZ2`2jI [z

'TVyt]3p D;{p.Cs0

x1P_3qO9w0SQL>

|*hh3@[@#nc w0

pg xCR m)D0

XJ/p8j)`)@.]0

h8K4R s*o3b0步骤3、删除表scn_test51Testing软件测试网"N"s[1|7H,G$j_

51Testing软件测试网(^,BH{dy

SQL> drop table scn_test;51Testing软件测试网/`8G3n@9B4lq.sB#hU

)gTWxb^0

O,~1~ZX&X7d0

_&Q*QtO,]2b:?,E-p0Table dropped.

;P Z)^EEp%ga*J&]0

B mJq Y)K J,c1qa T051Testing软件测试网 A"b(Be^7j|V

51Testing软件测试网 s;Hm4ja3f!B

SQL> commit;51Testing软件测试网-O-}[}ud hzpv

g2c/M,V*E|7@!V)Y[0

zdX6t;KJM051Testing软件测试网8xp(W v,q/x QE

Commit complete.

P7y^v:kL&Z0

LiW&J o^`CsI051Testing软件测试网B'oN0Xb

TG,[q@#\ de0SQL>

LY-Ho&z:xU0

2Y&YbI+iO051Testing软件测试网m'e4Y"FmZ

@j Fs5jBr4V051Testing软件测试网^1\9}bf

W f8T9Chi!kS0步骤4、新创建表tmp51Testing软件测试网"?ET,t8_h{0rUF

)\.y@[RkyBT,z$F0SQL> create table tmp as select * from modules;

:hZV2DN F}eW051Testing软件测试网3^1p!v8i'@%z

;\*n$N^:|] i&m0

+} vw[6^`n0Table created.51Testing软件测试网ZMS&w.Z T5A*M7_

51Testing软件测试网RCx0p/{nnj

+Vg[}6]0

l5}~ h5N'Xi9Jq0SQL> commit;51Testing软件测试网&\2_&Z{!j(D+[aQ

[#g%X"p5d)^051Testing软件测试网LN&K*O cEW?

51Testing软件测试网3]4Z4G1J2YVr9E

Commit complete.

^)iB:po%O?8V0

){{T`$|.|u m0

c'w'o h)kW CK{C1n051Testing软件测试网L ~u;m0` sx

SQL>

;XO:t Ja-WDd `^0

KT9J)f d0说明:51Testing软件测试网%Gr.F,B6or*P

B#x6lx#{ O0目的是为了验证闪回后这张表不存在。51Testing软件测试网5n7KRCt

51Testing软件测试网KJ3T.K)r q.Dd

51Testing软件测试网)I ?,Z g p UO6R x

51Testing软件测试网U'B{} C2[:G;a

51Testing软件测试网s.UKT b]5DX

51Testing软件测试网"yz5x9J&l0s

步骤5、启动数据库到mount状态51Testing软件测试网-n1U4zmD

51Testing软件测试网7YjdK |(nv/B t]

oracle@mmsc101:~> sqlplus / as sysdba51Testing软件测试网 R%`yc3H0^ d5|

h7z6q.H:a051Testing软件测试网&rLq9~ J

51Testing软件测试网z%b7M7ovhs)U^

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:24:49 2012

.vgynXU0

'W2t U&m#_h051Testing软件测试网7dg a6x _DX7}BL&G

51Testing软件测试网m6S0|:NE4X-g)o

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

},j%ZmzcPjK051Testing软件测试网 x-B~/lP7e

&?-a+e4`]$E?T+d.M051Testing软件测试网"Gw l0k\2T|y

jr:V @`h'r051Testing软件测试网 fawr"x

Connected to:51Testing软件测试网9k,yS d*m9B"ht

51Testing软件测试网0?L x6O(RC,}6z@0X.q

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production51Testing软件测试网6pq ^)i.l6l

51Testing软件测试网4TF}-A x2RA$Q#Y

With the Partitioning, OLAP, Data Mining and Real Application Testing options51Testing软件测试网C L!TB0]!n[:o

51Testing软件测试网X|*I'U)N

51Testing软件测试网}J vDL

51Testing软件测试网-g H7twU^W zkZ

SQL> shutdown immediate

gA]"u8Y^g eY7I+H0

,}%mAJ#Bpb.e7{WrR0SQL> startup mount

:dwq2Z(a&Q5^FT?0

9l'J5]sr0

f[;G0P] U051Testing软件测试网UW$Oz)]1|3k

51Testing软件测试网c5k7DaQJ,w n;]z

51Testing软件测试网*g6n1\v%E{W;|5C D_

步骤6、dba用户实施闪回

(wK-w }3R051Testing软件测试网%~%qx}#x|

SQL> flashback database to_timestamp('2012-02-09 18:39:30','yyyy-mm-dd hh24:mi:ss');

|U BS{cnF7?051Testing软件测试网w,F[:Ql|\z,~

,j)K j4foK Q0

%w;\x.^+o*A E v0Flashback complete.51Testing软件测试网+g*W yF O

51Testing软件测试网+buG#W+X L[pfq

zZ_I9H S051Testing软件测试网&j F q{SW~

SQL> alter database open resetlogs;

i$tv1a"t| `0

_+`)?RU051Testing软件测试网/}j|6o c-qt

L'o?Zm0Database altered.51Testing软件测试网h5|*v J9ru7H8}l

51Testing软件测试网 ZNc`8j }f

cL vX5k'D:X051Testing软件测试网U|-s*v"Y.~oj

SQL>

3J9?/JN(C,](VU051Testing软件测试网 BE |zD8z+j'Cs+B]

0W ] g-M'S0

,?*l0b L3`(`Q0e0步骤7、闪回结果查看

;Wn K a ^Xn051Testing软件测试网 ?3G3KB2V;mMAU

SQL> connect mmsg/mmsg@sdp

.b'w#oYj`6q051Testing软件测试网;n({B7Ts9{#H)[T

Connected.

8v8l^w K qtq'D0

p#c-o6I;J x0SQL> select count(0) from scn_test;

_\(`c l~.Q9m7X0

mXr~&Zs;K1{051Testing软件测试网,b(U*o!xgl'vg0K

km aP5mn(D0COUNT(0)

%OK/rwK2l9@0

H*O;{+K_UCJ0----------51Testing软件测试网P`7|NZ_^A Y.~4i

51Testing软件测试网+{a7P_+Z$C8^C

2

9|e)}k3gbv3~ H0

0xSH1^N$b9^$@~051Testing软件测试网8[2yYV8g+d.G\c1S

2P_ M"n2m0SQL> select * from tmp;

-`$Y lk/C ^Z5F NoN051Testing软件测试网P)b.ua6`)e_

select * from tmp

+T dS3]5X'jcw051Testing软件测试网pwS{zI[(CxFM#|9UO

*

Ti/W2r h.YQ0

v'WV.ZpN~|$~$`0ERROR at line 1:

1cis'\;B0

u1l*If y$S#~'W;D$I0ORA-00942: table or view does not exist

/w8wj3s9Q051Testing软件测试网(p!S yw2nv r3ST

51Testing软件测试网.qu%D bu PJ~*U

%x;D#`eb D^g0

e|A0ro0

-K_'j5QJjjY0SQL>51Testing软件测试网I8_0GG _y-tkw1Z

51Testing软件测试网;a6\v:c"Pi{s_

上述查询结果说明表已经闪回恢复,闪回点之后的数据全部丢失。51Testing软件测试网 P'sk){.`0^*f

.QWP\ E4lLd051Testing软件测试网MO)l w6E2oZ

b.基于SCN号闪回

^U?G`$u0步骤1 获取当前SCN

O2[5s upt x5I0

4tcU kn0cMh0f_0SQL> select current_scn from v$database;

&~qdq k(D7jC0

#CK M?'p3Zcp}M0

WYZ:CFL051Testing软件测试网rISo7r7r

CURRENT_SCN

h e}gL,sW0

4rQ s"t,p$]B0-----------51Testing软件测试网V)|`?K m5AM

&o.Ks5pB+w_Z0581597051Testing软件测试网n:g/Xb2Y

W0ra)lX/^0

u ?/P1@ ^ jt0

{9P#_P$~dn0步骤2 删除mmsg用户下的scn_test表

}Y:f k6o Y)q6~:b"r051Testing软件测试网!D3C lYk nc/}.K

SQL> connect mmsg/mmsg@sdp51Testing软件测试网[ G&V#h],Yej

51Testing软件测试网 R5y*Gcs`7P

Connected.

l0f a']&U0

0B#fz!s\#G*b^5o0SQL> drop table scn_test;51Testing软件测试网7~/g!D0}*vqk\6z

n/og-B%Din4\ }0

;Y~.s n3zu0?q^051Testing软件测试网,p!zm'TT+vf

Table dropped.51Testing软件测试网e {!e^|1`+h

51Testing软件测试网%mo$?Z2C7x Dp#`G

IU[@mL)l(N4`5d0

#z8m(`z[^^XH'yDT0SQL> commit;

Q ~v+i0`!U.C051Testing软件测试网1vVlY0hB*n

51Testing软件测试网%bA m9F/kd

51Testing软件测试网:| x#MeDo

Commit complete.

)M,}:@]|%\0jd051Testing软件测试网,Uyn)J*u~!~

)b"e@5p K#m0

?"EN+g%e0

q2x7j;q abTN/yV f0

7j Z `"V_!a5k rQ0步骤3 手动执行检查点

x:L q;mon.F*Oegd0

-A-xKC"_7u#E?$D0SQL> alter system checkpoint;51Testing软件测试网h1UxeL Y _ I d

Gm G0~(?K0v8?0

?"Hp#SxM9@0

%Jk W@(|ZL%xqU0System altered.

'ZaX4gOY/r0

YUl SPog8V051Testing软件测试网iE cQ)E4Z"Y

m8b%[9^V@8h7~2V0SQL>

yM ~i3f/D#O I{S@0

r.n5O{@_5P051Testing软件测试网C8GprQ e hr

51Testing软件测试网8};x4mpm;n*W _

步骤4 实施闪回

^__!n%[X4\*lX8H5o B*G051Testing软件测试网XO'k2|3}9F

SQL> shutdown immediate51Testing软件测试网z6G$j4U/o d3A&{q

~O/~O9}"p[ |.m0Database closed.51Testing软件测试网oN O{3Ea

51Testing软件测试网0af.JR7r:{ \ o;x;\Y

Database dismounted.

Fr P~qP051Testing软件测试网 v#x"v*N(a @0fD

ORACLE instance shut down.

NZ?#[,A S6S!O0R0

`S5fc5|H0SQL> startup mount

1J9LWn/WE051Testing软件测试网CI2`#cu[

ORACLE instance started.51Testing软件测试网J)KO(NO5o

s"M1Nf#Yy\Kwf0

7_5aV!K_ v r0

7p~2d!{9F&Q0Total System Global Area 8284340224 bytes51Testing软件测试网 w`~9Y{#o

;{ | f`5ZD'B eP)x v0Fixed Size 2145944 bytes

Mb UU b?"?!b#Y051Testing软件测试网Y!f1F(Us

Variable Size 6375342440 bytes

0B g(W,uju&{ ^R%y'_051Testing软件测试网1Xtfy5K1D*k4n.R

Database Buffers 1879048192 bytes51Testing软件测试网(Dw2Z}d

&E K/GO4xP9~0Redo Buffers 27803648 bytes51Testing软件测试网%R cP-f4]@

51Testing软件测试网2j|J4g5i(qC'V duc

Database mounted.

4m/F ]Mq b ?0

8K't,aQV6x&ac H,Z-@%[0SQL> flashback database to scn 5815970;51Testing软件测试网t)j,n,cLNR5T"QE

)v)f%q&i3bvi,~,N$KR0

(r;d@)?F#c051Testing软件测试网1Q&F8N{0E Fl1w^e u

Flashback complete.51Testing软件测试网g3Sn%N8?u

51Testing软件测试网Ce};K9l Ex

X%CVx+aD d0

Y-K dZ(WZ!jr@0SQL> alter database open resetlogs;

3RPx9xKk`{051Testing软件测试网2xwz!V tI vl)Q

_ ii&L.o8e\NK)_0

EkpA7L$X'tZ)a]0Database altered.

1Q+A1z4kl%G3Y$Jc051Testing软件测试网H8d;N2je)W

cqkK G#N7~1K051Testing软件测试网V$C2F3k\t X!xN$k

SQL>51Testing软件测试网 NP8u/r:t~4f1C"U

51Testing软件测试网@twI r O:loo

51Testing软件测试网0^| RNrG)f:pA%N

:aT oC6p0O#s0步骤5 查询闪回结果

j dX-]yd_t0

M GKRPpKz1\0SQL> connect mmsg/mmsg@sdp51Testing软件测试网e0UA[Oppv7H

"Q(m swsx?0Connected.51Testing软件测试网4p,lX8^ `:pN,C3f

,`cYGL)~0D{0SQL> select count(0) from scn_test;

.u YCNHs/Q N051Testing软件测试网{*K5ZE3_M)o%~

_}9Q+luL:j:Y0

C-{yw4mE2T5n h0COUNT(0)

*qt2S+E A,R0

$m"\&?y%VpI0----------51Testing软件测试网,v1Dk(JW

51Testing软件测试网1iB-urux

2

zrmxc$af+Y051Testing软件测试网L Dr~%RM~ n

51Testing软件测试网,j+x4s5V#u}\

(]SLOq%]v\0SQL>51Testing软件测试网y,v(h(x9W8OO

dr2rE(L051Testing软件测试网@6A)|2v*?y @O C

VmgbH[;u}051Testing软件测试网}ofV)aTPt

c.基于时点闪回

O%NWb^ Pl0步骤1 创建测试表51Testing软件测试网b:` e:Hvh)Um

dE,Un G(h0SQL> create table test(id int,describe varchar2(20));51Testing软件测试网3ubO"M UZP1C

51Testing软件测试网2[*E5\ Kl

ft C)XO G051Testing软件测试网k E2M,K`{'dsC2c T

Table created.

)bQM!M_`0

j `{B@051Testing软件测试网!I,g PXZd

"y m.]P^L:o0SQL> insert into test values(1,'ABC');51Testing软件测试网#d/t3o P d&j^

51Testing软件测试网-XyY5?/J7Wm

K [cz9]uc+P#L0

PC%p"Y7J||7b-v }01 row created.51Testing软件测试网%T@3t(G!l!^.}.|'Ap ^6_

51Testing软件测试网 n R7pE Tr+X

51Testing软件测试网m-Zn'_3b^

51Testing软件测试网JU1X#\(h0H'R

SQL> insert into test values(2,'DEF');

vqYQ|el~a051Testing软件测试网`5ju&QO} N]

#nZU F ~-Hz%LL?_0

Y-wc-l@"FyE01 row created.

"_M\~`y'{0

!pM[.Ixui051Testing软件测试网D\(vb z)HN"G

51Testing软件测试网 e'KO)hB,R*rc*?#c

SQL> commit;

}B#g2{ bm~0

1kF#?P)B051Testing软件测试网4c:Dw"F(h#z/{v"YW#d r

51Testing软件测试网&zX})w1q{9a

Commit complete.

/j'`Z6S;PW2`051Testing软件测试网7G#vjAt7u$~.W

SQL> select * from test;51Testing软件测试网fS]K1MGsP

51Testing软件测试网 b(OtL)f9X1H;{/g

I"r{cH051Testing软件测试网5H4vCJJkb

ID DESCRIBE51Testing软件测试网5J,jX}m$nOaC

zF+rm0|&o(~9V~+|@0---------- --------------------

"F|u,lE*l&D^0

;h*`I8F1To i6@01 ABC

vZ&OR#q051Testing软件测试网1yVu R!b$E#O

2 DEF

3S1]$jcN:O v0oo051Testing软件测试网2IK(AW[[-U/z

g e {i7t ]F"j0

_a3f a1D Gb9z@0SQL>51Testing软件测试网5fU!Ur3xV

8[R/yt1EpCpS I$N0

C Aen N;J P0

|)ClrWXH0步骤2 创建闪回点51Testing软件测试网,\Rs&x w

51Testing软件测试网y6g o8o2Ww?9e

oracle@mmsc101:~> sqlplus / as sysdba

+{ b&D,@o9t$w0

0^-z Mv+]|z"M051Testing软件测试网bWajw"W`~

51Testing软件测试网/_M I0or c6u

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 18:54:11 2012

EG#Fxn f0

])tX:n*G x Y;uN Q/k051Testing软件测试网L et6C*o:x rK7@

"R'E'z"X,g^Z%e0Copyright (c) 1982, 2007, Oracle. All rights reserved.51Testing软件测试网@1L'BM/u0M/p)b Je

2DkK#E-?051Testing软件测试网O/{ Rahjl(\

k*}2T K%JB$g0

_WR,V9gf051Testing软件测试网7R}FTUN_

Connected to:

@ U*E;MN AO0

U?qs1IU!A0Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production

D$v"|2OMZ0

VV R,Nt9|a0With the Partitioning, OLAP, Data Mining and Real Application Testing options51Testing软件测试网 Iww/Hri o'?Q

51Testing软件测试网7y$U%J,m |;n]

51Testing软件测试网7`r#f+cdL

51Testing软件测试网 m7@&F7l \5q&O

SQL> create restore point wyz_test;

-[t pbN }051Testing软件测试网/@'Q*p J+cr7U |:Do

A0Rs V g:q;iY051Testing软件测试网Qsfd{3x2a+E/GB

Restore point created.

MH4rCQtm?C051Testing软件测试网L.El:r,h)Foj(\m

!|$x2|-m `8P"uj%^051Testing软件测试网T%v a;nf.bmk

SQL>51Testing软件测试网]#piL5n0c3r flz

I6z G:CS_K%J0

o$L)NPvR5fR0

#L@|7x'{g+CP1t051Testing软件测试网{Uoz,@5XM

-XM7oZ ~F Yhw0步骤3 再次插入记录51Testing软件测试网;E%utP2T H\}

{5r5|-Qwww0SQL> insert into test values(3,'GHI');

"IMl|#V9s0

FO[&{ H051Testing软件测试网 d4w/]$b$d|^j5?~

HgJ${4]h#B4|01 row created.

y'uN$R\'m|6zOO051Testing软件测试网rQ7hv+Ku

51Testing软件测试网4~[ N+~Fz8j+~

51Testing软件测试网7N~&m*O r-f^+}9fDZP

SQL> commit;51Testing软件测试网![?.V8?3@ Er9dX

51Testing软件测试网B U,`Qu}k-I

51Testing软件测试网[4ZG0Ho3v|

X1f1d`2o0Commit complete.

2uN2[r;H-x Z051Testing软件测试网ZBz2PEr:B7C

51Testing软件测试网JM*}$`%o

51Testing软件测试网S]Zbmu7e

SQL> select * from test;

?*lnNid|0

,w!UI@n7lFX9h]051Testing软件测试网&Xo~ Pr

51Testing软件测试网{$fH~?+_"au

ID DESCRIBE51Testing软件测试网FZ2r+[$uR&x;c

okr{:G%v4um0---------- --------------------51Testing软件测试网b-Ndf1\} o

51Testing软件测试网Ol7wv2Eq/gUV

1 ABC

cdx LHB)h0

~3p/O/Nq0RLa.hW02 DEF51Testing软件测试网(|&iVU ns bj s

51Testing软件测试网9CtJvj,vy-H

3 GHI

d.OEP&P8Lf0

wQ8\"du*Io ?c0

V1P Z6Nl*v {j0

q Mp w-|%L0SQL>51Testing软件测试网{7r9AU3sC

51Testing软件测试网6p1J!_#{*b'O

51Testing软件测试网q na*{#T

51Testing软件测试网"R'e;~C~hk&YO

k)hw{6u4zQ.Q v)lh051Testing软件测试网?!n+Qi~2{

步骤4闪回实施

-E2r&yq5p051Testing软件测试网"\4d*[+d vZa

SQL> shutdown immediate51Testing软件测试网F};h!w7f]c

51Testing软件测试网A!lr:Aw or

Database closed.51Testing软件测试网WYzjrB@C1_I

%Q e gN2S:j0Database dismounted.

n|.Zi-X+J"B7k G051Testing软件测试网 w*DL#S.a k

ORACLE instance shut down.51Testing软件测试网"^E)}4{X

/a~}nrv} m0SQL> startup mount51Testing软件测试网6f4IlU_wK

W#xse Z3P)?o9K0ORACLE instance started.

&`,q$^x](o%@051Testing软件测试网7`a|e!G+jO^D@G9[

51Testing软件测试网#N-_ \khJ

51Testing软件测试网7C gF^*@ y6U7NR

Total System Global Area 8284340224 bytes

,l-gXA'z%gq koP-y0

{5F&\;@ T}0Fixed Size 2145944 bytes51Testing软件测试网$GPncBE1bdO

;C'g{e0tc7q0Variable Size 6375342440 bytes51Testing软件测试网#Fd2]opqt Y+d$v2u

UMm2eyR c0j!_Y0Database Buffers 1879048192 bytes51Testing软件测试网 K$f6H}m{(q

%kn7x/Ly0Redo Buffers 27803648 bytes51Testing软件测试网%c5{%\|T9{R.nk7Zo*e

ch&n$T3\ b.V0Database mounted.51Testing软件测试网4x)deM#~m!E8V:HS

3q3gDau1C0SQL> flashback database to restore point wyz_test;51Testing软件测试网-uM6\~&U

51Testing软件测试网n/|Aoc9O

Y7_N2ei/w0

h7_ ~pk0Flashback complete.

T%p@`^SF,o/ic0

&~0c#U~1I"z-[-|n051Testing软件测试网PH+lRnWl

51Testing软件测试网\6U(`kM-]+^L

SQL> alter database open resetlogs;51Testing软件测试网DeKqg/y

51Testing软件测试网 z5r&wf NH^/}:a

]A+F1TX@ k"xg0

eR+c L6G#D0Database altered.51Testing软件测试网 [ `;XH'x5r,]'v"]`

z u.i5M {!w I'm0

4cHOy8k051Testing软件测试网:Q}#nM#d[

SQL>51Testing软件测试网&[7WXy oJ2T

q,q/uZy_y051Testing软件测试网eOi-M%]m

51Testing软件测试网 N`P g-UB0I9}9T

步骤5 查看闪回结果51Testing软件测试网0zV3f ?_.Xk%f {w

51Testing软件测试网kiN9tw LB`K'Fv0J

SQL> connect mmsg/mmsg@sdp

A)y5Am3T051Testing软件测试网2v5J|v]^1K)g

Connected.

2{Z+Olu!y:|!R o0

-} Wh&Kb0SQL> select * from test;51Testing软件测试网V'{.kXt!j

1Ja C}1E ur.}0

JmLm!T0

x1\y`V0ID DESCRIBE51Testing软件测试网/dh \-b_ Mz `

+F T[;s ] qfj(tL^)B0---------- --------------------

$uVf L?#w/V.?051Testing软件测试网v*rAp.u n

1 ABC51Testing软件测试网N AEiH3V;m.I

/F4vK)v!E4R3fF02 DEF

:Z3T o I4xZr0

S.{!e0xr? M;C051Testing软件测试网J1b }(l_ r o

]EaD"Z'FK0SQL>

"lt&AJZM(J051Testing软件测试网n%qb8oetwl:\

51Testing软件测试网9RMf1Guf2Nc/Jh;w

$K2U@)H0fG'y2s'z;e9y0说明:

a'CCiQ.IE0

A9qGVK!T0闪回点是全局的,不区分用户,即在某个point后,不同用户做了不同的操作,只有闪回到该point后,该point后的不同用户的操作都将丢失。

@0ayp|h!hxN d%Y0

~ tg v+VcN051Testing软件测试网1e,X\dO)j'h

使用RMAN进行flashback database 使用RMAN进行闪回数据库的几种常用办法

0R @8i3O+a0RMAN> flashback database to scn=918987;51Testing软件测试网"SA,~1i1hWrJ cu

51Testing软件测试网A7^%w FK;C1?A{W6@

y+kz.k~;z051Testing软件测试网#e$ac7MdP&a

RMAN> flashback database to sequence=85 thread=1;

^ n!~6O&w0

QAE%SM0

IgfFb0a.基于时间戳闪回

{ni,{q@S0步骤1 创建测试表

-v|} Xzhr051Testing软件测试网m8o?f"p`|.pwk

oracle@mmsc101:~> sqlplus / as sysdba

n w S;iOF0

D ^~5F:Kog0

%L&_F(uUD!J&H3|0

7z9e\ n&aP3D*Y0SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 19:02:24 201251Testing软件测试网(B1U"zs9t2tj:l

51Testing软件测试网#[J TuwN"fF-q

51Testing软件测试网'\m3_8{X P.vU6|"d

:R)Ji+KYfz q bg0Copyright (c) 1982, 2007, Oracle. All rights reserved.51Testing软件测试网^XmvA5Qi

4z1lAJAP} g051Testing软件测试网 Z/~J.\0|Q(DG)OS s

1s#u0wkK.I%E0

*l%od UIbI0

3D-Umc.Bi0Connected to:

n:d^nJZj;}SS"T+~051Testing软件测试网-{9aG"? \

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

\1W XQ$dc4P;d0

I&P-[,})r8@4O0With the Partitioning, OLAP, Data Mining and Real Application Testing options

d*U0Nka7| {T%P051Testing软件测试网 BFc;_lY4sG

C*W5L8lVQb b:w051Testing软件测试网.\%^4A a[(J#P$K

SQL> create table mmsg.tmp as select * from mmsg.modules;51Testing软件测试网.l:c+N-\&{3l-sB

51Testing软件测试网Q@Jh|d

0EbIhm+SZG051Testing软件测试网 fu h~I

Table created.

'ad5L j F0

t:C'{$[8G E oo7I051Testing软件测试网9A6s+wwGf1h

,lh ~(F(O6W$q0SQL> select count(0) from mmsg.tmp;51Testing软件测试网9_/U M2r,|hAK

t2hwgb_\8@/I ~051Testing软件测试网;X{-T;R)Y-V

51Testing软件测试网p0P WxH!AD

COUNT(0)

$lXb(Plc$ir0

7a P#GbID&Z0----------51Testing软件测试网3U2VT,jc r-^ ^

51Testing软件测试网&x}OJY9L

1851Testing软件测试网;Cx[k1^k

v+~|)R X4M0

\%MkV5yjgB051Testing软件测试网E!V;Q4BbUx

步骤2 获取数据库当前时间51Testing软件测试网@O `,S zdr t~6g2{gK

(|8D1e;{!R u,cm0SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') tm from dual;51Testing软件测试网-r9Z;VFp

MA#y%ym \Hl%b!q4z F.vdE051Testing软件测试网&Q5zPm:K4O"N#_

Cn c t2?_0TM

a1cI{1v+oK] c051Testing软件测试网+QG{0[|7c/q+C

-------------------51Testing软件测试网 } [NknZ&hVK ?

;J.q-reT02012-02-09 19:03:1451Testing软件测试网9\K!F!IXj

51Testing软件测试网-m k/tAj Xn

G F3P _*h BbD0

3]Z(D$FI9{/QU0步骤3 删除测试表

-}*b2Z ^r}!Ci051Testing软件测试网0C)HKeS7X0p#O

SQL> drop table mmsg.tmp;

5LQG]%^051Testing软件测试网 SP9leD@ls9~

51Testing软件测试网/E ^-WmV

51Testing软件测试网ptI2~Kt3N2i

Table dropped.

| ^\ iM x051Testing软件测试网V X8q&?y.{SA#m)?

u'G?9Gz4~9n051Testing软件测试网,JpZ7t@-cD6x @

SQL> commit;

[)z;[-_2r0q$ab051Testing软件测试网YJVq ~#w%T8_/V;N1V:A

(gd bP/r0

%y0E ^1zbkJ7z0Commit complete.51Testing软件测试网gJ RE&w h}

D&q*|dt\~3xY0

gH9rs:B&_9c-Z051Testing软件测试网!k5R{BH(L

步骤4 闪回实践51Testing软件测试网'[5Z7|?K!L%@

Y(] lWhcF(o3@0SQL> shutdown immediate51Testing软件测试网S}gb Dwx

@@9s)n;G4f,Zil0Database closed.51Testing软件测试网3t,a b J1e*w

51Testing软件测试网:p j1o#r^"b

Database dismounted.

$K1{M["u0

7\E,id5m\"K0ORACLE instance shut down.

1^'t7?b/iv_f0

)s&n&r Q5^0SQL> startup mount51Testing软件测试网seY-U0u)h

51Testing软件测试网jG m{:D%J

ORACLE instance started.

+p0]?QW0

@&p&f`XLC|051Testing软件测试网Ne0D*p2Z3CM:^

51Testing软件测试网e:^9uuPp-T g8f

Total System Global Area 8284340224 bytes

%A2Q#h.H%W#e051Testing软件测试网tm$? @(N?Vs

Fixed Size 2145944 bytes51Testing软件测试网;C ov6IV|9]

H/_]m B0f`0Variable Size 6375342440 bytes51Testing软件测试网mR;A}A6Q(Zx L%C I

)Q$P}:I[ K0Database Buffers 1879048192 bytes51Testing软件测试网7yJ e4v$]Wv%Zn

@[bV0T"AM"h0Redo Buffers 27803648 bytes

N1Y*}u@ X1m051Testing软件测试网6{"o qm,FLQ(I

Database mounted.

"_.cQ!x4^^w4u051Testing软件测试网X,j#h4Y-Q$r_

SQL>51Testing软件测试网?.h U-cM0U

-C.?j/X'`0

#f}6}le2v&x!O051Testing软件测试网R x"G ~;]P"f)CU*X

oracle@mmsc101:~/product/11g/bin> ./rman target/

e0r xok-v&^M(M9\0

Tr)i j}%j9Yz051Testing软件测试网 I A-n1g6q&no

51Testing软件测试网4aPWp7T:p

Recovery Manager: Release 11.1.0.6.0 - Production on Thu Feb 9 19:05:03 2012

(yJ H+J~3iV051Testing软件测试网c'nZNj1vc

51Testing软件测试网!B{ Oc#Oz8W

c K4w1wVn.ey)U w0Copyright (c) 1982, 2007, Oracle. All rights reserved.

zg:@ay7E;Hk s'f051Testing软件测试网[/}.J_3Z&?Tm

51Testing软件测试网 o\B},t#Cu

Er I&Z%d"]&I0connected to target database: SDP (DBID=2998391018, not open)51Testing软件测试网 w"k Ut(\J&n

J2p*G7A$aK;DkX5x0

MS!Q ELc"M Z0

6G3]5V4U"cVX0RMAN> flashback database to time="to_date('2012-02-09 19:03:14','yyyy-mm-dd hh24:mi:ss')";

O:\$u q$n(WZ_W051Testing软件测试网&k9b%Yx7{8lI

51Testing软件测试网 |(iIU3S

51Testing软件测试网 dybb3?L)g8u"h

Starting flashback at 02/09/2012 19:05:0951Testing软件测试网7R6H;o#^Dd r ^9aG6s

51Testing软件测试网$?b*vL VX%D F

using target database control file instead of recovery catalog51Testing软件测试网 d2d%xD+?L'P

[n4t+?7p/m^V5[;z)L0allocated channel: ORA_DISK_1

[[&i0Ci051Testing软件测试网D~.pd5Lz5V A(B

channel ORA_DISK_1: SID=1086 device type=DISK

#s,A%Q5ekU0

uOiY0K051Testing软件测试网JtH)H X9U

6\b$p-~2B]9y0

C:?Pfe2]051Testing软件测试网x#a0Vx]

starting media recovery

co"m~6KfC5L pnc}0

|#L^ cT~"Op I0media recovery complete, elapsed time: 00:00:0351Testing软件测试网x9KK Bg5uI

51Testing软件测试网)w#E3F8VQ C_G6B

51Testing软件测试网#K{S:Lf^vps

51Testing软件测试网q3u:uJ3f

Finished flashback at 02/09/2012 19:05:1451Testing软件测试网_Xc)e9s0O(rJj[3r.e

51Testing软件测试网8fP5e)Q}4t-I{I

51Testing软件测试网"I2RuX0pLN ~ ~

51Testing软件测试网)\8C&IFMT Ey

RMAN>

Mh&{3]+ry!I(E%pT051Testing软件测试网nv1{"]"YD-kN

\"srf u%ub051Testing软件测试网 _ i?bg9BV^Pq

Y4q3RL Q!w0

#F2i-FIw|,S[zP0oracle@mmsc101:~> sqlplus / as sysdba51Testing软件测试网{y \/e)b%_

51Testing软件测试网$qog7b}MgP

51Testing软件测试网{_@q!Qyq u5D

6Y [/[]m0SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 9 19:05:36 2012

uU Jv:k#O E|&^,VH!o0

.h B.d9ySX Ya D0L0

i W YK7L051Testing软件测试网 F0ls\;B.@(n

Copyright (c) 1982, 2007, Oracle. All rights reserved.51Testing软件测试网@y}{$g Gv`2KC

@4P|2V4L1ZK051Testing软件测试网0Ot[^F2t7A

51Testing软件测试网/WN"?Em#cs

51Testing软件测试网2Ef%i c b-e!^%t

;O:@ ~,WQ+r0Connected to:

%X_*XSl/\(l!c051Testing软件测试网` y go b3g

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

uR4qg4s(M0

p+l*C0q7\u r;CL0G0With the Partitioning, OLAP, Data Mining and Real Application Testing options51Testing软件测试网G/`#uQr:y4f ?

]O2X$_ v9_)B @w%K051Testing软件测试网0M?.e\8| iu

B BJr)k*]G0SQL> alter database open resetlogs;51Testing软件测试网+O!@!L Gc r2X"B

IJ6i,@N2t051Testing软件测试网c-tj4iXR

51Testing软件测试网? J(n7sV/TY%v1@ A

Database altered.

9DK}bo"~%s051Testing软件测试网q@ZJ;fF

h V9WSn-x*A0

%B E _pe G5R*x0步骤5 查看闪回结果

0f`-{8lp C U0

)P3u Kq%R"`H0SQL> select count(0) from mmsg.tmp;

bt)O9bn}B M%^]0

{x8AGsL9u(F;QZ$S7F2n g051Testing软件测试网C nB{ i z"t9G$]w

6R fG pb"q:{D:w5O0COUNT(0)

&g9wa^flKp0

]P7Q&{ WM LlD+x$s6p0----------

b'y _/P3_ yT051Testing软件测试网 u*r(aU~

1851Testing软件测试网,~6z \z7S

51Testing软件测试网X.W:i6N6i

51Testing软件测试网 ^!V%h3@ ^qhi

%TVmfE x {O0SQL>51Testing软件测试网0[ RB,Hys1d6I6^

D&?+v9fG1m0

AOB,fV!sC;ef0b.基于SCN闪回

'ltX%tY)bj)w0

At}R!D9noe:K8q0c.基于sequence闪回

~+IWJ8ync[Yg[G"x)m0

7I nd/Xq'\E%E0

tFSzJ"Ds/Q0说明:51Testing软件测试网\utFF:N'V+n

51Testing软件测试网d H/OB/K,K%\ u

RMAN闪回操作和sqlplus闪回类似,命令可参考sqlplus的操作。51Testing软件测试网&C3X]Z4vC

*G K p5s'{051Testing软件测试网1aW.M`J7NO @

;Gf/Qmk0es_'w051Testing软件测试网t[:N:pPHh0^,f!}F

闪回表

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

+G9MCe7_F051Testing软件测试网 w} OR%w q/F

8~2u|)N3KQ ?C051Testing软件测试网3M'?T@ _

闪回表的局限:当前的时间点到要闪回到的时间点之间不允许有ddl操作,否则闪回无法成功。51Testing软件测试网Y^;qV3t@/H

%O5yW5fs051Testing软件测试网6lW }#?\5F

51Testing软件测试网GI%SO{a3E/?

示例:51Testing软件测试网U+vGl4s q},M~

51Testing软件测试网^i5w/V!Nuu

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

$P\}UK5fJ"h0

Am7J:S4Ct/j0

p[S5n KEpm051Testing软件测试网8}TkMu m|

COUNT(0)

7K3ySlC0

Y|E5HgAA0----------

r)LG,z\%J*l7q0

+v*H {/A7l6V01851Testing软件测试网-Kn0p,@2M,Aw,frX

f?,cu)|b!^051Testing软件测试网QjWTwS.m'J$Z

51Testing软件测试网Q$erZb P z1m d+~7I h

SQL> drop table mmsg.tmp;

2?5t C*^2up`}1?#}/L051Testing软件测试网!}:M0kj`@

W?3K4Ft7p.d;K)u051Testing软件测试网dWB9M"}j

Table dropped.

UQ8l zOq2o/v0

$v3iG'~cl {D%}2^0

s4oUGr'a&O0

J%xkH-u0S;vMZ+\0SQL> flashback table mmsg.tmp to before drop;51Testing软件测试网9L j,`]SX

51Testing软件测试网0]6j7[a4v*w

X S g[O-?[8k0

O*XZX_0Flashback complete.

/vH/].U+q V8p/i051Testing软件测试网9h2s8`"K n1i:W;Y)}4|

51Testing软件测试网({!D ]/Io-\#W(xjJ

51Testing软件测试网^CWy,}

SQL> select count(0) from mmsg.tmp;51Testing软件测试网TY.?9z"e7]$g

ZJ,Hg?2g W0

J"y,L)CF e3Ju0

#`@+SV3D0COUNT(0)

~e;}+c[9k X.e1AtmS0

dD#u'h/G!k0----------

7?|2pH9py0se'M0

Q?P}4Q018

7B#XD:j)N0

mE`:h pz`\0@G x0

S3h1u L*^CH9o051Testing软件测试网E;KX;yb,]

SQL>

1L jY'av7it2}0

;Q1Y*}*]5Bd h j#C051Testing软件测试网.a/VZ A!w0Qj3a

51Testing软件测试网^AE.z ^*_'s

说明:

Pt"jGx+m5G%Kx051Testing软件测试网&I(MT'oX"F

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

d`#wg'wpV%Pb051Testing软件测试网 m;s+H j:`NJ1Pr

SQL> FLASHBACK TABLE mmsg.TEST TO BEFORE DROP;51Testing软件测试网KQ6\ `VH

&D#p C,q K3b#u-D |&r0FLASHBACK TABLE mmsg.TEST TO BEFORE DROP51Testing软件测试网(a Fx0djKR&VF

51Testing软件测试网 aGAW#s7Y

*51Testing软件测试网'Y7UWW&l

51Testing软件测试网/xl5V#xq-U

ERROR at line 1:

I}"M v+k9\ ipJ0

O!o.a(QhW2{ K0ORA-38305: object not in RECYCLE BIN51Testing软件测试网 Tj s7^p3E.A

51Testing软件测试网\ i#k6~ @

51Testing软件测试网tp5Kq*C&E+x

51Testing软件测试网Yt4} _/yc

51Testing软件测试网N9Q a6IA)^ Bjab

闪回版本查询

{Mq2x.W1dO5`0所谓版本指的是每次事务所引起的数据行的变化的情况,每一次变化就是一个版本。闪回版本查询使用的undo表空间里记录的undo数据。

RL*Ye7TU-aw051Testing软件测试网z2N:_R`&ta

51Testing软件测试网a2Vq)Be0J

51Testing软件测试网c3OP6W;gI

示例:51Testing软件测试网&Q xhB+{;hvmu

`d+_)m0\#r2m3s`01、创建测试表,并插入数据;51Testing软件测试网] d'x%BCa$|{9FX

!a gqHv#CX02、查询表中数据总量;51Testing软件测试网Sn*\4[4n

51Testing软件测试网l]~6gB

51Testing软件测试网SL TnK!A k7H

51Testing软件测试网9{r;o Mn y[ U'Xh1c

3、drop 表中某个记录,查询表中总量;

t2i'Je @!P051Testing软件测试网3hjsd[ ]S

|.Q+W\?G051Testing软件测试网1k:m Z"YW{q!}A&V6_

4、查看对应的该表中的闪回版本信息51Testing软件测试网'ycC]}(z`$Bs

51Testing软件测试网IKlu)o3|6d8\

select versions_starttime, versions_endtime, versions_xid,51Testing软件测试网 ][4E fy}R5s*Wz
versions_operation, moduleid
e.u"N2S,~%Q%H^+h:J A H)p0from modules versions between timestamp minvalue and maxvalue51Testing软件测试网*U-kA5v$E#mW;~)BT}
order by VERSIONS_STARTTIME
eT!L&pf(A0
*jtA m m+wv { a0

{J#Mq DR6g a\0

V9Ex$~,B(YE6?0说明:

te)Sk~e|-B051Testing软件测试网J@y$b,b,P

其中modules为测试表的表名称。51Testing软件测试网6dn @7l9S3^-Ys6}

51Testing软件测试网D] D,L0Xb5W jD ~

51Testing软件测试网)?#o8vq'~i m

闪回事务查询51Testing软件测试网fZtK!BkW

闪回事务查询提供的是一个视图,flashback_transaction_query,利用这个视图,可以显示哪些事务引起了数据的变化,并为此提供了撤销事务的SQL语句。

:t3iE|va2L:s0

Exl u&xHF(U0闪回事务查询利用的是undo表空间的undo数据51Testing软件测试网|{,~0vYV R!Z4}

NG9m_(z;M \,@0

R|C3V2M051Testing软件测试网y'cZ(j,yWK

示例:51Testing软件测试网[!^#Ibp6|

\a+MV!r Yd01、dba用户登录数据库,查询视图信息;

[E+Dq2lu(LKy051Testing软件测试网 k{)W2Nr

select * from flashback_transaction_query where table_owner='MMSG';51Testing软件测试网z.s)j grR-m(}

51Testing软件测试网fpg EmM3?.B b

51Testing软件测试网(b z@E-jq u y

Xkyfd x&d02、查找对应的闪回事务,确定闪回操作时间点,执行UNDO_SQL字段提供的回滚语句进行闪回操作。51Testing软件测试网b~%hOmRi

#y+MV9?td%Z051Testing软件测试网2z s| k F9l-H

闪回查询51Testing软件测试网b5``7b[:D(Kp

查询过去某个时刻表的数据的情况,一旦确认某个时刻的数据满足我们的需求以后,可以根据这个时间执行闪回表。51Testing软件测试网%CW KB zN3g

51Testing软件测试网t R1V`:]d0Nj%Q-}

51Testing软件测试网D!eQgco]0{2o

附录查看闪回区使用情况51Testing软件测试网8l\,K x:J9C

SQL> select name,space_limit/1024/1024 sp_limt,space_used/1024/1024 sp_usd,

W Y6mvc H"^4^n1g X Y0

YFD P&EQ3`/A+u e02 space_reclaimable/1024/1024 sp_recl,

[ AV1E0y2x)ar+|8{1w051Testing软件测试网+IC#S+pm5uo!q]

3 number_of_files num_fils from v$recovery_file_dest;51Testing软件测试网f2k%Tt:m!G_+b$c%V\

Uc y)eR3Os0

W3h&P"P4s0

UIp.ph&xaR0NAME51Testing软件测试网uYdB:m/|

gZw;m.l,]0--------------------------------------------------------------------------------51Testing软件测试网wCV Lm,Wf0d;h

#_ \ H'Y,H0SP_LIMT SP_USD SP_RECL NUM_FILS51Testing软件测试网9O w E#fZo IM\

5Pa,a1S{LS0---------- ---------- ---------- ----------

N{9pn9v6\ V051Testing软件测试网Mp2G4h$bNpI(V

/opt/oracle/flash_recovery

1ZS?'u c ye051Testing软件测试网f;Z$nn.j/b4S"U

2048 918.15918 0 1251Testing软件测试网;y9}&K/n$U)V T5m

51Testing软件测试网.{*M#rf qz;_-d

*kudl9no6?0

5^(B [;},p-MuZ1_ }Zr051Testing软件测试网$zg~"HK4{,j

%oVr5gx M0SQL>51Testing软件测试网*DQ,VV)t

51Testing软件测试网h@2mhaH$w

51Testing软件测试网1d(UD2fK7uI9d4d9D

51Testing软件测试网*y lGd dZdG,Z/Z3E

x g2^XR4M%f DR0将某些表空间排除在闪回之外51Testing软件测试网9JD)L|F

SQL> alter tablespace MMSG flashback off;51Testing软件测试网!dG1M0E.?T%Bv

51Testing软件测试网d&b/c:{0q*R6D

[w?^Y?Fyo6K0r051Testing软件测试网R6sU m&S D

SQL> select name,flashback_on from v$tablespace where ts#=4;

J;[|w2MU$s ~k051Testing软件测试网Q n&W!e1Qj6h T&`

51Testing软件测试网%i6|p2`%f[?t

51Testing软件测试网.k_A2wU+Y

NAME FLA

m~&\ff%f/?0

~*{!J6Q \j*}+^0

(i}"g3^ta,d;T0

NZJ6C'I7e$kUT0--------------- ---

,bX9y%N*u?#XXo[7|]*c051Testing软件测试网/qDF-lC(d(u?

51Testing软件测试网,n@atZ%K

51Testing软件测试网v9}n,N+B-\.i:H

MMSG NO

XK'r J%f|0

;^(]7e$@K-z d051Testing软件测试网0s j+@ T9EDx7V-\'IA

0a1P#`2A8C!aa5W0说明:

a9~$s1L;lWjL051Testing软件测试网p(X,I|7o |.r^,u

如果需要对上述表空间启用闪回功能,则需要在mount模式下对该表空间进行开启该功能。

jU+M8|9U,q051Testing软件测试网 n7fd/~"O3]I

ZfCca0

TAG:

 

评分:0

我来说两句

日历

« 2024-04-13  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 109185
  • 日志数: 89
  • 图片数: 1
  • 文件数: 15
  • 建立时间: 2013-03-01
  • 更新时间: 2018-08-23

RSS订阅

Open Toolbar