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

redo日志文件学习笔记

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-9-18 10:07:17 | 显示全部楼层 |阅读模式
于redo日志文件,今天因为要做redo日志的在线迁移,所以特意做了个简单的总结。
- V. \# k# e3 Y3 c/ y3 q* z, t& x' g  t5 a
1. 如果要把redo的切换信息显示到alert日志中,需要设置个参数。
; r% c) d" T! X! ?/ O, YOracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production9 s$ W0 H, @+ W$ X6 D- L
With the Partitioning, OLAP, Data Mining and Real Application Testing options
8 @% R  k( _: M8 @" P- o. dSQL> show parameter check; e, J# z1 j; `2 U, G3 M4 a
NAME                                 TYPE        VALUE
$ ~1 q6 f; i. r6 Z------------------------------------ ----------- ------------------------------4 V# [1 i( E/ U: }7 y2 {2 e
db_block_checking                    string      FALSE" U# |7 Q0 b1 n0 e3 z& b0 c
db_block_checksum                    string      TYPICAL
  |( F3 e" w+ y$ }: Y/ d  `% @log_checkpoint_interval              integer     0
$ w! K/ h% s3 I5 k& }log_checkpoint_timeout               integer     1800
/ ^4 A( m; R2 Z  B6 ^2 I# \log_checkpoints_to_alert             boolean     FALSE( t1 o* d- e* w. g! p
$ S- Z" Z' W) F  _# Q" c( a  P" x; N
SQL> alter system set log_checkpoints_to_alert=true;
, u; s1 `4 y  a) y1 G5 _System altered.
3 w3 T- B6 `) i8 w2 e, o6 `/ n2 Q/ s* D
2.查看redo的情况,current表示当前所属的redo日志组。1 [! L6 m, {& P1 k% O& ^
SQL> select group#,status from v$log;" i( f7 V  Z! W3 j+ o' L8 @! g
    GROUP# STATUS
8 T  E" M- J# e" z* f& [---------- ----------------' C/ }7 b  [2 j5 a4 Y- A4 `1 w
         1 INACTIVE
1 l  D7 D- ~" x7 v6 a         2 INACTIVE
1 W3 g$ j, H7 n* _. v         3 INACTIVE
5 ]8 d8 ]3 i! n) j. J         4 CURRENT3 Y, b  ~$ E9 J
6 P5 t* ~4 G# l8 N
3.强制切换日志,使用switch logfile,切换后,current日志组切换到了第一组,刚刚的日志组4变成了active状态。  表示dbwr还没有把脏数据写入数据文件。
( i/ u% p/ L) \$ M需要出发dbwr来写入,或者等待一会儿。    2 n- N, j$ U$ B" k7 X, |8 z, d
    alert日志内容如下;   

$ t$ r  B2 }8 d, f8 H: @--alter system switch logfile;3 j7 o+ \: K3 C: E% |/ G
Mon Mar 24 18:16:46 2014$ I; O+ [9 y- W0 G$ P2 x
Beginning log switch checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156$ Q* G# ]& m2 W% z# p$ f0 [9 y
Thread 1 advanced to log sequence 2845 (LGWR switch)
7 [' f( R- U, I+ o  Current log# 1 seq# 2845 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A1/redo/redo01A.log) O' Q, X1 Q/ s3 |
  Current log# 1 seq# 2845 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B1/redo/redo01B.log  k4 i7 k8 t, \0 V4 }5 A
Mon Mar 24 18:16:46 2014
) {7 v. p; J3 z" l! f) K% O% QArchived Log entry 2844 added for thread 1 sequence 2844 ID 0x4a0d6000 dest 1:+ D1 \2 d* ?' {6 S

0 {  E, v% @: mSQL> select group#,status from v$log;0 T" {0 ~( ?* I5 p
    GROUP# STATUS
2 W5 l# d2 i2 `" I9 \5 ~- v---------- ----------------
7 @/ d9 n5 K4 |         1 CURRENT5 j/ \) X5 Z6 r- U( G" G4 B- J4 N
         2 INACTIVE2 X. ]5 @8 O% b0 }$ J
         3 INACTIVE
0 D+ e( [' `0 H7 j         4 ACTIVE# Q; k4 T) V, P
4 _5 }% W2 ^3 q; Y
4.再强制切换一次日志,日志组继续切换,可以看到有两个日志组成了active,
& }5 x  \) N% Y1 Q: B( d    alert日志内容如下;   / T/ J% f, ~- _7 X% M
) K3 q2 b7 _1 f8 f- g2 H
--alter system switch logfile;% W6 Q; q: `& S/ C* x
Mon Mar 24 18:17:35 2014
, i& V6 C& m. H8 b2 aBeginning log switch checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
1 j/ w6 N$ [6 F) f* kThread 1 advanced to log sequence 2846 (LGWR switch)! I" {( ?. E: P4 I. G, c- o. {
  Current log# 3 seq# 2846 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A3/redo/redo03A.log
3 Y2 m) n( ]  b$ V  Current log# 3 seq# 2846 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B3/redo/redo03B.log
- i6 D( d# Y4 S6 x0 m' i! l' [Mon Mar 24 18:17:35 2014! ]; E% w5 k: c5 q8 c
Archived Log entry 2845 added for thread 1 sequence 2845 ID 0x4a0d6000 dest 1:9 D, Z& [% R5 z8 d. p

2 w, K- z- }5 O* R" l: `! tSQL> select group#,status from v$log;$ h! A; k  p; H: @% Z' F
    GROUP# STATUS* a& c2 L& u" q6 _. n! H
---------- ----------------
2 n# W, U9 q$ [4 Y' e" c         1 ACTIVE& B/ }& s7 N" i
         2 INACTIVE
! L% [, Y) }. V+ p7 }         3 CURRENT7 i( N# X9 U4 _9 Y) j2 ~( h
         4 ACTIVE1 p0 ^- w) |, R0 a
: o6 p* S4 O3 p3 Y! |# B
5.如果进行全量检查点,强制dbwr写入数据文件,可以出发全量检查点。
0 ~! B* z. H+ A2 Y# i/ H1 i    alert日志内容如下:
9 E  v& d% L! B4 e  W7 D/ j6 B, m9 a
--alter system checkpoint;
9 ]0 g. j$ K0 r9 w5 M7 Y5 TMon Mar 24 18:18:48 2014+ r5 Q5 T" [* X* t' r/ W' s+ u* N
Beginning global checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229/ R0 }, Y1 B* V6 C
Completed checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229
  ]& U% e& L7 d# Z$ aCompleted checkpoint up to RBA [0xb1e.2.10], SCN: 105831356041805 b  e( I: w7 i2 j  Q) e
Completed checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156* n- m7 q1 `! N3 `) ~, e

, m6 \0 S9 H: z# M1 A+ p2 eSQL>  select group#,status from v$log;$ Y, n6 X2 Q, g2 x, C
    GROUP# STATUS1 @6 [5 f! O7 E/ w& x% R9 Y' k
---------- ----------------
9 f* Y8 o4 S+ t7 B5 ?         1 INACTIVE
, Z1 L- F: |8 p         2 INACTIVE
( {8 p0 K& x; q7 G9 @+ P1 I         3 CURRENT# D0 I, Q. Y+ _4 b" b7 Z
         4 INACTIVE4 t; w7 K+ w9 _1 Z3 |4 v/ D' d

& w) h7 d0 I; Q7 K) s6.过了一会儿,可以看到日志中会出现增量检查点,增量检查点的优先级比全量的要低。0 A5 p+ P5 E- l- y! ^
Mon Mar 24 18:19:22 2014; T; F0 @: t0 A7 @5 p7 d# [
Incremental checkpoint up to RBA [0xb1e.4c.0], current log tail at RBA [0xb1e.5f.0]% S% ~9 \' W$ X. F9 I* n% a$ K0 m
& L7 G% }# h1 e* l' q
7.触发日志归档1 G  L! q/ r  _: u6 Y  B
--alter system archive log current;' V" Q% g1 |1 O! t' o
Mon Mar 24 18:20:51 2014
3 w0 B. J$ b, n3 g; B. ~ALTER SYSTEM ARCHIVE LOG
8 E' n2 X0 e5 {Mon Mar 24 18:20:51 2014% V$ G# l: G, V* f  b
Beginning log switch checkpoint up to RBA [0xb1f.2.10], SCN: 10583135604443
8 u' i; @1 Z1 y, x6 y3 lThread 1 advanced to log sequence 2847 (LGWR switch)7 c; }% q8 J; y7 d) e9 N' {: L
  Current log# 2 seq# 2847 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A2/redo/redo02A.log
5 Q/ J- j+ {7 H: \- R9 r  Current log# 2 seq# 2847 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B2/redo/redo02B.log0 u4 ^, j  `; G. C: M# g: V9 i
Archived Log entry 2846 added for thread 1 sequence 2846 ID 0x4a0d6000 dest 1:: T5 j9 E" s! Q7 y  i! R2 m

! o6 T5 t! M( {/ f; NSQL> select group#,status from v$log;% q; ~7 t6 c. K5 V: U
    GROUP# STATUS  V9 v) ~: i+ {: `6 M4 B
---------- ----------------
/ c0 y7 o8 H, i         1 INACTIVE
" X$ |) I; t! k+ N/ T         2 CURRENT
3 j. y: w9 w2 C         3 ACTIVE: N4 g! F! Z1 p# _4 R% |
         4 INACTIVE
, ]" J, z9 W- D3 y# U6 M
# y# ?8 l9 H* u# p+ v' k( M和alter system switch logfile的差别在于,对于日志组3,执行alter system archive log current和alter system switch logfile会有所不同* K: n- `- U) K+ E0 {
   GROUP#    THREAD#  SEQUENCE#    MEMBERS    SIZE_MB ARC STATUS: f- g! f0 G" y) h* x, I: d5 A2 ^  z8 B7 [
---------- ---------- ---------- ---------- ---------- --- ----------------
' C$ i' H. R, M         1          1        685          2           2048                 YES     ACTIVE9 w# F% {; L1 U3 t* v3 {: P9 P
         2          1        686          2           2048                 YES     ACTIVE
; V" @. C7 B; o         3          1        687          2       2048 NO  ACTIVE/ ~" ?9 A/ c9 t8 t
         4          1        688          2           2048                 NO      CURRENT% {- }. H2 X' w9 P: ]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-18 10:11:15 | 显示全部楼层
我的数据库是win2000+ORACLE8i   ]& H8 y2 `5 z) p" f5 `0 v
在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗,是日志写太频繁,还是checkpoint 太小。等等。先谢了。
# K% Y+ E" W  }5 Z" fThread 1 advanced to log sequence 41390
# ?: W( C0 C/ C  Current log# 2 seq# 41390 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG" J  g( {1 B1 m+ ]6 ]5 d- ~5 C
Sun Apr 20 17:46:49 2003
; e# _+ ]& Y  o  C% aThread 1 advanced to log sequence 41391! t2 u5 j; C8 B; r: L
  Current log# 3 seq# 41391 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG& y9 t+ o# @4 T
Sun Apr 20 17:47:28 2003% u, z/ J' n/ C
Thread 1 advanced to log sequence 41392
5 L/ u0 ^* Y- a( M# ]' ]2 s  Current log# 1 seq# 41392 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG
$ z' y& U. I2 A: KSun Apr 20 17:48:03 2003
3 Y! H% l9 s0 QThread 1 advanced to log sequence 41393  @3 b$ u2 q% L6 N: ?2 c
  Current log# 2 seq# 41393 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG
. |( Z1 ]4 W; O! D* l) |Sun Apr 20 18:00:34 2003
9 d( K: h/ ~% @2 d! cThread 1 advanced to log sequence 41394
- ?2 H2 ]- b) I& H( ?; l" ^  Current log# 3 seq# 41394 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG
8 p+ F  k, B' S" O" _" R8 FSun Apr 20 18:01:06 2003
. l) N4 ]/ A* rThread 1 advanced to log sequence 41395
. ^: @! c1 k/ Z/ p5 v% l  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( E+ y/ E5 M0 i, j
我的数据库是win2000+ORACLE8i
& Q+ h  i; a2 Q1 G' U2 @* a/ o在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗, ...
, h/ ~8 O) G, c7 o

0 T1 e! A" }: h3 O: b/ R* g
; N8 ~5 y7 \" [: p6 {[B]你的log切换太快了,增大你的redolog的大小 [/B]
* D# J# q+ J5 j+ k( @
2 L  V% h0 e9 k# s2 A! f! q7 S: O. Y: r2 I) ]7 Z0 }
我也是把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.063568 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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