找回密码
 注册
查看: 4430|回复: 2

redo日志文件学习笔记

[复制链接]

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
发表于 2018-9-18 10:07:17 | 显示全部楼层 |阅读模式
于redo日志文件,今天因为要做redo日志的在线迁移,所以特意做了个简单的总结。
3 [" e8 d4 w* f
0 J( c3 V# l4 P5 ~4 C% H) h/ N1. 如果要把redo的切换信息显示到alert日志中,需要设置个参数。0 i  j! x6 S: M- _- [
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production% d- q* t, |5 m: ~/ Y
With the Partitioning, OLAP, Data Mining and Real Application Testing options+ H% U2 S9 @  ]8 j, p
SQL> show parameter check
7 t0 @8 a/ M* B) ~0 M) B' Y3 P' f" p" u) ?NAME                                 TYPE        VALUE
4 {& w7 j$ X8 c5 O: k- x* E------------------------------------ ----------- ------------------------------
& Q7 U0 O4 ^0 ^$ k' Q7 G6 |db_block_checking                    string      FALSE
2 @; e( l; i  e# z: ]) R& mdb_block_checksum                    string      TYPICAL
9 b) k+ b9 k# v# W9 k* xlog_checkpoint_interval              integer     01 G9 g4 v6 F+ |" f) Y* [
log_checkpoint_timeout               integer     1800
* _( x. l; _  j2 B- O3 l" Flog_checkpoints_to_alert             boolean     FALSE
0 W8 [. t& l- o0 s" \  \6 {
! p3 d9 p( W) D8 I
SQL> alter system set log_checkpoints_to_alert=true;6 |! K2 @- {* M, z  t
System altered." x) N# b) j3 F# Y1 D* G
: P8 b7 K0 _% k
2.查看redo的情况,current表示当前所属的redo日志组。: s+ G  t8 w3 R1 x0 t! z" N+ W
SQL> select group#,status from v$log;# f7 R- v2 R5 t/ A; t% p3 S
    GROUP# STATUS! o' M: d3 {0 k. y; {
---------- ----------------1 Q; M: _4 N/ o; b
         1 INACTIVE- ~& ?1 u* V+ ?5 K4 M
         2 INACTIVE
1 C  u6 v) ]+ j  y         3 INACTIVE
2 s- b! \( y- g$ |! l/ l- `         4 CURRENT4 V+ F) {# g) }: w
6 H& A; u* |/ @- A1 H8 o! ]8 {
3.强制切换日志,使用switch logfile,切换后,current日志组切换到了第一组,刚刚的日志组4变成了active状态。  表示dbwr还没有把脏数据写入数据文件。
3 F' u& N/ ]& H: D( n, t$ J需要出发dbwr来写入,或者等待一会儿。   
  G( J5 b3 x7 G8 {  h9 P' k    alert日志内容如下;   
" `5 C9 z- X) g- B3 a2 x6 ^
--alter system switch logfile;
; I  b- ]' n* B* y; Q. @Mon Mar 24 18:16:46 2014, K, m% }# W, O4 S; C
Beginning log switch checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156
) l6 K! E) `. hThread 1 advanced to log sequence 2845 (LGWR switch)
- A5 p! g6 L- r1 }7 g# o  Current log# 1 seq# 2845 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A1/redo/redo01A.log) Z4 Q' H# Y# q- z: m! J, l
  Current log# 1 seq# 2845 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B1/redo/redo01B.log. |) ^9 P. e; h  s$ F0 j6 g
Mon Mar 24 18:16:46 2014
  A. [& v, E4 H2 q0 \) ~2 pArchived Log entry 2844 added for thread 1 sequence 2844 ID 0x4a0d6000 dest 1:
: J' L4 h6 h- b% G% M/ N2 C7 i5 X6 G  n3 f2 J  F0 l
SQL> select group#,status from v$log;
, M+ a1 V- m& b4 S    GROUP# STATUS2 r+ J" F, E; ~
---------- ----------------' \) v1 M) M% I5 G, p2 I! J
         1 CURRENT
0 l8 R7 i+ w/ G7 _0 ?         2 INACTIVE
0 Z, q. }, D4 s: V( M8 `' C1 [/ ]         3 INACTIVE9 N& {' ?+ \. x: T
         4 ACTIVE8 j3 R9 b" q  g  V$ L5 v& d
& S& M: Q8 y) W# p& `( @
4.再强制切换一次日志,日志组继续切换,可以看到有两个日志组成了active,
3 d" ~( o: R/ L. A" P9 [    alert日志内容如下;   
3 P4 p0 r  Y, \2 E# I$ _6 b! i5 r4 Q, B8 u( c! O" e2 J$ ]
--alter system switch logfile;6 D4 b  O) A5 u3 v7 }8 ~  q
Mon Mar 24 18:17:35 20145 n7 M' G+ \6 E. W3 J
Beginning log switch checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
* o! [! E3 a& F/ n" l5 lThread 1 advanced to log sequence 2846 (LGWR switch)
) e3 e# ?* A# `1 g3 u. @- A4 P8 i- ~  Current log# 3 seq# 2846 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A3/redo/redo03A.log
" b9 j( T% N, o8 o4 K  Current log# 3 seq# 2846 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B3/redo/redo03B.log
" _: d8 _, H# |! aMon Mar 24 18:17:35 2014, [, W4 ^( Z& s  s" T+ T$ B" W
Archived Log entry 2845 added for thread 1 sequence 2845 ID 0x4a0d6000 dest 1:
- o$ s  D( g2 \: k2 r  u4 b3 i! p" ~% G) `7 y% y
SQL> select group#,status from v$log;4 q. k' w8 X! X: I
    GROUP# STATUS/ n1 G" w4 p6 E6 L8 J9 X) U
---------- ----------------4 x8 p9 q& k6 W. r
         1 ACTIVE* ~' j: a& a+ T: n& {) C1 b
         2 INACTIVE
0 y+ r" x  C' x5 {; B/ c1 U; G         3 CURRENT; d  b/ l  k2 |! F: D: P
         4 ACTIVE" I9 g" i  l- T( b

' I. p+ A  G; U& o; L4 p! @+ P6 W# p5.如果进行全量检查点,强制dbwr写入数据文件,可以出发全量检查点。4 y: ~) x9 D3 I" p1 ~
    alert日志内容如下:
. d* U, ]  H5 X5 b  m
--alter system checkpoint;
& V+ h5 _# m" A/ w1 R% W: JMon Mar 24 18:18:48 2014
1 T. B' A. t4 r+ ?3 _0 r; BBeginning global checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229
! p  I% |4 I6 x- F: K7 ^! eCompleted checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229
. D) V. R$ e4 |# l7 S* LCompleted checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
7 o4 S: w0 O, S* }( j: S+ _, ~Completed checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156$ m% S5 K$ n! p% h

8 L) J/ h; O7 n- |SQL>  select group#,status from v$log;  W$ y9 `- V$ f
    GROUP# STATUS8 K, `# {- Q3 i; G7 X5 A  J
---------- ----------------) |" x# g2 C- _9 ^
         1 INACTIVE; I9 g! B! M6 _) y: l8 X% W' ]
         2 INACTIVE
8 U! \; R- Q9 _8 x  A, p& i         3 CURRENT
1 V: i1 Q1 R/ B* t! L/ j. H         4 INACTIVE) F) e( E5 P# r" e1 ]

" o1 `+ \& C+ s4 G! E6.过了一会儿,可以看到日志中会出现增量检查点,增量检查点的优先级比全量的要低。0 D0 c. e+ x& Y1 C4 k! J, J
Mon Mar 24 18:19:22 2014
2 Q% G/ @# D- |/ m5 u2 FIncremental checkpoint up to RBA [0xb1e.4c.0], current log tail at RBA [0xb1e.5f.0]1 G: H1 }( M: T. j/ m8 ~# l

3 D- d1 n$ ?3 W- [, q7.触发日志归档4 A4 g: p0 i* z6 g
--alter system archive log current;
; J7 E; ^& ^) B' a0 b, e8 pMon Mar 24 18:20:51 2014
9 V2 ]" \2 b4 p" k; b: |/ o! `5 B3 a2 sALTER SYSTEM ARCHIVE LOG
; H# P  _3 |# e. C6 C* X% hMon Mar 24 18:20:51 2014
4 K/ c" M+ d. ]8 S6 e) b4 k9 ABeginning log switch checkpoint up to RBA [0xb1f.2.10], SCN: 10583135604443- K, o7 }0 C6 X3 n& \' Q
Thread 1 advanced to log sequence 2847 (LGWR switch)6 Z7 G% w  ~! n' B4 k7 s' V& U
  Current log# 2 seq# 2847 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A2/redo/redo02A.log9 C8 Z4 ?% w; z  B: S( H' w
  Current log# 2 seq# 2847 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B2/redo/redo02B.log
& }, g9 v0 n. E( y  i0 S: L& H  WArchived Log entry 2846 added for thread 1 sequence 2846 ID 0x4a0d6000 dest 1:/ k* S' p/ Q9 @
, }  |$ N: Z  s7 o6 q
SQL> select group#,status from v$log;
1 Y; \0 l( W, t# L$ g    GROUP# STATUS# D5 ^3 ^) P1 o
---------- ----------------/ H6 m/ S( I( O5 @& ?3 a
         1 INACTIVE  B. I8 f. d9 p$ B3 w
         2 CURRENT
5 D: |0 o5 n* \  f2 ?' D         3 ACTIVE
% U1 x! f9 I. c0 T0 ~% k+ n         4 INACTIVE* n( q5 \0 T; K; D! r8 H3 d
! C2 U" P& Q; I: [7 y! j
和alter system switch logfile的差别在于,对于日志组3,执行alter system archive log current和alter system switch logfile会有所不同
2 j: C9 P$ O: M, I6 O5 P2 ]. S; Q   GROUP#    THREAD#  SEQUENCE#    MEMBERS    SIZE_MB ARC STATUS) G$ e+ @2 h- k, b# J5 U7 b+ Z
---------- ---------- ---------- ---------- ---------- --- ----------------! P4 `$ a3 K) s" K2 S9 ?
         1          1        685          2           2048                 YES     ACTIVE3 S4 f5 |* }( J* W4 K" x
         2          1        686          2           2048                 YES     ACTIVE
4 c3 P# H4 [* d$ d/ P/ b; r/ H         3          1        687          2       2048 NO  ACTIVE
7 t3 ^& E5 c3 m8 d. r; |         4          1        688          2           2048                 NO      CURRENT( G2 M4 B; X. X1 _: I4 f- J  c

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
 楼主| 发表于 2018-9-18 10:11:15 | 显示全部楼层
我的数据库是win2000+ORACLE8i # C5 o& b. E, O# ]( m
在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗,是日志写太频繁,还是checkpoint 太小。等等。先谢了。, w7 M2 s  z  N6 m& f/ t, J& G
Thread 1 advanced to log sequence 413904 r0 h3 ~) G9 j6 a
  Current log# 2 seq# 41390 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG, o6 a9 t2 U+ Z+ q* m% s* O
Sun Apr 20 17:46:49 2003
5 Z1 m+ ]" R1 F% \/ z# pThread 1 advanced to log sequence 41391' D- b% n# ?1 _2 a
  Current log# 3 seq# 41391 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG# q. u' k+ v1 \, I  f2 G
Sun Apr 20 17:47:28 2003
: y8 t$ }. J# T9 b( x, ^3 i' SThread 1 advanced to log sequence 41392
/ j7 Q. E: Q1 {$ S5 M3 V2 B  Current log# 1 seq# 41392 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG3 {0 a1 Z& g6 s$ ^' H( c0 A
Sun Apr 20 17:48:03 2003. j% R* z2 T; y: y8 a
Thread 1 advanced to log sequence 41393; y* P4 {" q' t) L# h) ]1 _* v
  Current log# 2 seq# 41393 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG6 e' h& H$ E2 g9 s# i6 d! l% |
Sun Apr 20 18:00:34 2003# P) e+ Q* T0 w9 n  E
Thread 1 advanced to log sequence 413949 H% m/ V/ h  y: B# Z
  Current log# 3 seq# 41394 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG2 N' P; b+ @, l0 J% f1 r. W9 i3 a5 z
Sun Apr 20 18:01:06 2003
) ?1 ]* d1 C) j1 m! V* ?Thread 1 advanced to log sequence 413957 ?! D% ?) b9 t3 {9 j: Q
  Current log# 1 seq# 41395 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
 楼主| 发表于 2018-9-18 10:11:42 | 显示全部楼层
admin 发表于 2018-9-18 02:11
" ~! h' }% A; h: G我的数据库是win2000+ORACLE8i 1 j- [, z  K" s' ?
在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗, ...

4 w  w( ?7 ~8 M8 z( E' r4 A( ?. J! {1 n9 L

  s1 g$ t8 x: e9 H4 g" O( x[B]你的log切换太快了,增大你的redolog的大小 [/B]/ A3 {8 R4 g: q( `  r0 ]9 P

4 A6 s1 @' R% t& B+ p; h' U9 a$ e* i. e
我也是把checkpoint 时间加长和把redo log 增大的。不过遇到一个小问题,redo log 大小设置不对时,会导自数据库STARTUP不起来,说REDO LOG的大小不对,你能不能告诉我REDO LOG 大小有什么标准,我不是指优化方面的,就是指纯大小来讲。还是我的8.1.7.0.0有补丁要打,才能解决这问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-11 22:56 , Processed in 0.020343 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表