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

redo日志文件学习笔记

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-9-18 10:07:17 | 显示全部楼层 |阅读模式
于redo日志文件,今天因为要做redo日志的在线迁移,所以特意做了个简单的总结。* b) [. ^8 z/ P. O& J

7 |: i" @& e5 ~* v- t1. 如果要把redo的切换信息显示到alert日志中,需要设置个参数。8 V7 g, E- c; ?; o
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production! C" w$ g3 r0 i* N+ p: ]+ `9 j
With the Partitioning, OLAP, Data Mining and Real Application Testing options% p4 U5 m1 s& |
SQL> show parameter check! M1 p2 W6 n$ |8 v
NAME                                 TYPE        VALUE
' c2 M  E% |6 V5 X/ _------------------------------------ ----------- ------------------------------! F$ s- r# N$ o! h! \& \
db_block_checking                    string      FALSE
1 \' S9 G& t& L5 f- c& sdb_block_checksum                    string      TYPICAL
: F1 E7 w$ K8 S0 Q% Blog_checkpoint_interval              integer     00 c# x  I* G5 {3 Z9 [( F
log_checkpoint_timeout               integer     1800
" j, R/ b* Z: S2 H) blog_checkpoints_to_alert             boolean     FALSE
7 w/ ^; t: h" q# w  }

! O: \- a- @, ^SQL> alter system set log_checkpoints_to_alert=true;
' B. D' b9 v( B% A5 ESystem altered.
& @  i( `. W4 F  r( h; C; H& P0 X9 K$ u/ \3 h% p0 `4 U
2.查看redo的情况,current表示当前所属的redo日志组。) G* ]8 [6 {! G8 K' W  c! i' N
SQL> select group#,status from v$log;: \# c  s6 b4 `! `! U% s
    GROUP# STATUS( A% A5 {; [8 {' M- R0 K% X  L
---------- ----------------
% R4 A& B8 T  a+ ?! d7 J         1 INACTIVE( W7 ^9 ~" h4 m4 f8 F0 ^1 W! c
         2 INACTIVE
  P( L$ T2 i% n) K% s3 P0 r         3 INACTIVE
% b7 f6 _+ D5 o! Q% @; G         4 CURRENT
+ T8 I4 A- q+ h( P& B0 {+ ~/ s; I
! D- f+ l0 B. a$ w, `# H/ D1 t1 r3.强制切换日志,使用switch logfile,切换后,current日志组切换到了第一组,刚刚的日志组4变成了active状态。  表示dbwr还没有把脏数据写入数据文件。+ a8 \- l8 K* j. L, V- R! a5 p
需要出发dbwr来写入,或者等待一会儿。   
7 c' |, B: \2 S. @; B- S    alert日志内容如下;   
+ g& ^4 o3 d: x5 x/ R9 H' [' v
--alter system switch logfile;% o( a- @' ]+ f" u' E
Mon Mar 24 18:16:46 2014+ P- ]. k4 l# u# x" E
Beginning log switch checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156' B/ W7 z# N! ?
Thread 1 advanced to log sequence 2845 (LGWR switch)7 R$ c1 x( z2 A) E, V
  Current log# 1 seq# 2845 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A1/redo/redo01A.log
! W- i& G) `3 b  v$ b3 G* z  Current log# 1 seq# 2845 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B1/redo/redo01B.log% T1 C8 c0 Y1 n) I. T6 T
Mon Mar 24 18:16:46 2014$ }! Y+ @, X1 F$ B
Archived Log entry 2844 added for thread 1 sequence 2844 ID 0x4a0d6000 dest 1:: x, l- Q' Q  f% N
5 B% o% t0 ~6 @  g& y+ y
SQL> select group#,status from v$log;# C: z' M, W9 A/ y
    GROUP# STATUS
6 w5 I1 F: l8 U. ?6 D---------- ----------------
& n3 k) Y  M% b7 w4 j         1 CURRENT
' ~; N* Z2 n. F0 p% J7 H- K         2 INACTIVE2 k% F; g/ F9 w6 W# @
         3 INACTIVE7 h( J( y6 t& C0 C
         4 ACTIVE6 G! r* d# S% c0 Y9 t  y- o2 C

1 L' H0 n0 n4 J( g% f4.再强制切换一次日志,日志组继续切换,可以看到有两个日志组成了active,. d3 U8 P! z: M8 k. y
    alert日志内容如下;   
, v% K5 J1 H, r# P& O* H% p: h
9 A2 ^- J2 J, K- P5 Q+ s% T--alter system switch logfile;% c: r, h- n8 B+ |0 R
Mon Mar 24 18:17:35 2014  j. y% E0 H1 w
Beginning log switch checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
/ W1 d7 S3 N$ K% ]8 d9 U& p/ C9 h8 C! AThread 1 advanced to log sequence 2846 (LGWR switch)7 z+ S! h4 ~& K+ F! ?0 T
  Current log# 3 seq# 2846 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A3/redo/redo03A.log
; N! q1 e) w8 r" p6 V5 i9 Z$ {  Current log# 3 seq# 2846 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B3/redo/redo03B.log
) P' T) @8 Z8 I# ]+ y6 N" ?Mon Mar 24 18:17:35 2014
/ X2 }- K. ~* h: U8 ZArchived Log entry 2845 added for thread 1 sequence 2845 ID 0x4a0d6000 dest 1:
! P% F! O. C4 O" Q; s8 s$ y+ i! x$ a  P- Y7 ~2 l
SQL> select group#,status from v$log;4 d# f0 h" ~! E7 }: M
    GROUP# STATUS9 r/ a/ v6 y) ^6 p- w
---------- ----------------8 c( A' n( J" A. f1 G# }5 I1 B
         1 ACTIVE
5 D  B( R- w1 T, \& R3 f: I$ K: h         2 INACTIVE: [* o- ?9 J" X6 A) o9 K. G
         3 CURRENT
+ r/ m' o6 f( j# L) ^: A# Y         4 ACTIVE
: U* l9 ]9 a% b
1 Y5 q; b! O/ g, r, L9 l0 f; c5.如果进行全量检查点,强制dbwr写入数据文件,可以出发全量检查点。* y" }+ t/ m3 K  [$ y1 L( ~
    alert日志内容如下:

) a9 B0 r/ y3 k0 ~0 j--alter system checkpoint;; z8 Y1 y9 b) v2 L9 _$ o
Mon Mar 24 18:18:48 2014. j9 y: {/ W3 S0 M+ T& u% Q
Beginning global checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229
' z9 r/ U: F6 [5 M3 a6 ^Completed checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229% a7 C# i7 x; s/ X6 s
Completed checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
$ S2 X" c* Z/ D* O/ w' nCompleted checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156& ~; b' m: P( {# s2 s1 d. O9 J
$ ?: n. t- X* A* h$ Y
SQL>  select group#,status from v$log;* u2 \  L& h/ G, H! b2 l
    GROUP# STATUS; [* t  H' O6 o' Y
---------- ----------------
) F6 A: j& ?# L         1 INACTIVE# N+ `( g& |- }- m# u; C3 y
         2 INACTIVE
2 V5 W( D& v: ?9 K( R' x" j. K         3 CURRENT
; B! Q, u, J" `0 l( ^' T         4 INACTIVE
% k& q9 ]% D5 ]4 w9 T" F8 P; G+ [# M7 ^. ~
6.过了一会儿,可以看到日志中会出现增量检查点,增量检查点的优先级比全量的要低。# ~( G. X# P6 G+ s3 H! m
Mon Mar 24 18:19:22 2014
1 `7 q- \3 m+ }1 ]  X4 RIncremental checkpoint up to RBA [0xb1e.4c.0], current log tail at RBA [0xb1e.5f.0]
! O- v4 j2 e& j  g
! e: a; `4 ^* L: W/ ^7.触发日志归档
$ f: V/ C- ~- X  o' m9 L- M--alter system archive log current;$ I4 ~0 I5 O1 q
Mon Mar 24 18:20:51 2014' k! L) {. a# B! x
ALTER SYSTEM ARCHIVE LOG
" ^' e$ |% h1 A1 DMon Mar 24 18:20:51 2014
7 y+ @" Z! s9 @9 \Beginning log switch checkpoint up to RBA [0xb1f.2.10], SCN: 10583135604443& Y5 z' b; n$ n* a, Z
Thread 1 advanced to log sequence 2847 (LGWR switch)9 s2 S+ s% x* @+ p! ^" Y
  Current log# 2 seq# 2847 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A2/redo/redo02A.log
" V- \' X! G7 y" Y) Z2 X  Current log# 2 seq# 2847 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B2/redo/redo02B.log
6 j; R9 J% h7 Q/ yArchived Log entry 2846 added for thread 1 sequence 2846 ID 0x4a0d6000 dest 1:5 E0 w. R$ \( h* q( z( x- X

9 w* t0 x- Q( G, @' p) CSQL> select group#,status from v$log;, s1 {8 `7 b! q9 m
    GROUP# STATUS' j# ]2 I; v( _, D; G* b
---------- ----------------
% ], t4 F- L5 M1 u* A4 L. @         1 INACTIVE
6 Q( W5 o/ t) U4 C% i         2 CURRENT$ B+ E) X5 l& ^! Y) f3 n; o) x
         3 ACTIVE9 w& g/ [& `* K8 B6 c
         4 INACTIVE
. R' {" b+ h& |* V  O) z+ O, S& C' R. m, k9 _+ \1 s
和alter system switch logfile的差别在于,对于日志组3,执行alter system archive log current和alter system switch logfile会有所不同
7 I/ _7 k  U1 K; \   GROUP#    THREAD#  SEQUENCE#    MEMBERS    SIZE_MB ARC STATUS
6 M( `$ e3 V2 O---------- ---------- ---------- ---------- ---------- --- ----------------- E: l5 M/ u( U9 A. L: V! x2 b
         1          1        685          2           2048                 YES     ACTIVE
4 h& w4 S1 o6 s) _9 k" k         2          1        686          2           2048                 YES     ACTIVE
; m( ~& T2 H5 U0 {0 G0 X6 ]         3          1        687          2       2048 NO  ACTIVE- T4 ~, Y1 [% V+ S" [4 y
         4          1        688          2           2048                 NO      CURRENT" Y; c8 d$ @$ E' y1 h, N* H

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-18 10:11:15 | 显示全部楼层
我的数据库是win2000+ORACLE8i
5 Y6 U" T$ ^( \在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗,是日志写太频繁,还是checkpoint 太小。等等。先谢了。5 b4 w: o/ j; U+ Z
Thread 1 advanced to log sequence 41390. t8 k1 W6 h1 E
  Current log# 2 seq# 41390 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG
0 ]' h6 ~, D/ Y2 JSun Apr 20 17:46:49 2003
. `+ X% U8 w7 a& j, w# s2 cThread 1 advanced to log sequence 41391' |: _1 y& O& A+ S9 g# P
  Current log# 3 seq# 41391 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG1 R7 ^( v5 N7 t
Sun Apr 20 17:47:28 2003
9 e7 D8 T: b2 WThread 1 advanced to log sequence 41392- K" S8 z9 O: b
  Current log# 1 seq# 41392 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG1 W7 h$ X( n" ~/ c
Sun Apr 20 17:48:03 2003
! `; G7 w; Y5 I7 iThread 1 advanced to log sequence 41393( M- z1 `8 `' S+ d2 D7 k
  Current log# 2 seq# 41393 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG
+ i  Y/ I( b) c; m  j4 ASun Apr 20 18:00:34 20033 _" y+ n5 W. _% p) `- y
Thread 1 advanced to log sequence 413942 i: _% ~9 n4 u
  Current log# 3 seq# 41394 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG
) M2 Z% a' K# a' ?1 _Sun Apr 20 18:01:06 2003
. {: W, B; B' b( M0 m* SThread 1 advanced to log sequence 41395
/ d( W, N& [2 ^  Current log# 1 seq# 41395 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-18 10:11:42 | 显示全部楼层
admin 发表于 2018-9-18 02:11; v7 h3 @7 ]5 z  j8 T% C( j
我的数据库是win2000+ORACLE8i / _. \! v- i9 T5 e! t- P% x3 w  p
在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗, ...

' V; w  i$ z' ?! F9 p  x  N6 s1 [7 N
0 F" i3 R7 f# O/ C" p
[B]你的log切换太快了,增大你的redolog的大小 [/B]5 h9 G0 [% ~+ c. m3 d

7 b5 p! s  R, @6 g2 s
# |$ k; h# k+ z+ x1 c0 P% x我也是把checkpoint 时间加长和把redo log 增大的。不过遇到一个小问题,redo log 大小设置不对时,会导自数据库STARTUP不起来,说REDO LOG的大小不对,你能不能告诉我REDO LOG 大小有什么标准,我不是指优化方面的,就是指纯大小来讲。还是我的8.1.7.0.0有补丁要打,才能解决这问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 23:59 , Processed in 0.044936 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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