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

redo日志文件学习笔记

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-9-18 10:07:17 | 显示全部楼层 |阅读模式
于redo日志文件,今天因为要做redo日志的在线迁移,所以特意做了个简单的总结。1 h! i0 G3 B, y
( r! o9 Y6 J2 c/ [& s9 n
1. 如果要把redo的切换信息显示到alert日志中,需要设置个参数。6 X6 w6 a( F8 y0 k5 I
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production# m$ f5 a; X, I; A1 {  x7 O9 z) F
With the Partitioning, OLAP, Data Mining and Real Application Testing options
/ M' X( J/ ^. l; l% r" `4 z+ rSQL> show parameter check
6 V% y# w. ^- W; ONAME                                 TYPE        VALUE
# F6 G, d. P% W0 ?( C9 ^------------------------------------ ----------- ------------------------------
  [8 h2 j& {( F+ K1 ^! ~db_block_checking                    string      FALSE
1 Y# i! R, @4 P# W+ F7 `db_block_checksum                    string      TYPICAL
9 m" b1 ?( Q  Z$ Glog_checkpoint_interval              integer     00 [% L5 i6 q0 G9 Z" d3 \% W
log_checkpoint_timeout               integer     1800
+ N/ f+ Y% p  u- I; n3 U5 Dlog_checkpoints_to_alert             boolean     FALSE
' M$ h: e  e2 }! |  ]+ y, z

' O1 P; A4 t. ^" F, C! u) `) E' i- KSQL> alter system set log_checkpoints_to_alert=true;
* P* G) S3 J, w4 OSystem altered.
/ G1 O7 l8 G& S; w
9 s# B7 N0 ~* A2.查看redo的情况,current表示当前所属的redo日志组。
5 i+ B' `# @5 Y/ ~" n. O7 _SQL> select group#,status from v$log;
' ?* o; v( L4 m) o' h' [    GROUP# STATUS
) A% ^9 Y% r; ?6 C* k8 z7 \( i, r' Y---------- ----------------  V+ h; m' i" T
         1 INACTIVE
* M8 G7 J! i% P/ a  O         2 INACTIVE/ {1 q& i% O# H( ~: _
         3 INACTIVE+ _0 ^; a4 [  k/ ]
         4 CURRENT' i: f8 K! b4 C4 S8 c

& _& N' x/ r9 G2 L5 V, r3.强制切换日志,使用switch logfile,切换后,current日志组切换到了第一组,刚刚的日志组4变成了active状态。  表示dbwr还没有把脏数据写入数据文件。
" ~6 j6 @0 `2 `! D$ G- X( z* [$ d2 X需要出发dbwr来写入,或者等待一会儿。   
- n- W( g+ c% H& ?8 y    alert日志内容如下;   
* N- c7 t+ C* q# A  h/ I; @, q5 z8 d+ l
--alter system switch logfile;
% B6 K6 _& @' B1 }4 XMon Mar 24 18:16:46 2014
: X# g& y3 a8 @7 C0 P: h* xBeginning log switch checkpoint up to RBA [0xb1d.2.10], SCN: 105831356041567 {/ Z8 C! F2 V& s
Thread 1 advanced to log sequence 2845 (LGWR switch)& V3 u8 n4 n! Z+ v8 D
  Current log# 1 seq# 2845 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A1/redo/redo01A.log$ d4 a8 b! x2 |3 m8 k
  Current log# 1 seq# 2845 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B1/redo/redo01B.log
: w$ A5 i3 R* ~( e! Z0 J' XMon Mar 24 18:16:46 20144 [2 E: k) {6 Y) e5 F( m
Archived Log entry 2844 added for thread 1 sequence 2844 ID 0x4a0d6000 dest 1:
& f. [5 P% ^6 |
" Z  {0 f9 J' Q+ wSQL> select group#,status from v$log;1 ]+ R9 T+ V+ {; J! f% o! w
    GROUP# STATUS( v9 [8 @: ?+ I$ k
---------- ----------------
1 U9 \) c' D; f( B5 L         1 CURRENT
" w  Y" S9 G* Y; E, _         2 INACTIVE4 T! c' q7 `' U% v7 ?( b9 m
         3 INACTIVE* B5 J) |( a1 G+ a3 h
         4 ACTIVE
9 C* n. K, t5 |( N: \8 a( P0 V5 X( n& O
4.再强制切换一次日志,日志组继续切换,可以看到有两个日志组成了active,
, J; F# f* M1 X9 ^' k    alert日志内容如下;   % n7 D; {+ I" ~

0 `: q8 w! U" T5 f--alter system switch logfile;
3 s* ]  I% u3 w& H8 U/ v" H/ X! ZMon Mar 24 18:17:35 2014
$ S4 p$ {. i1 T: j! HBeginning log switch checkpoint up to RBA [0xb1e.2.10], SCN: 10583135604180
( b0 m% ^. W! }9 ]0 mThread 1 advanced to log sequence 2846 (LGWR switch)/ }" w" i' u! W9 K7 Z4 G* x
  Current log# 3 seq# 2846 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A3/redo/redo03A.log3 w' A2 u& Q+ ?; Y6 W
  Current log# 3 seq# 2846 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B3/redo/redo03B.log/ T% f3 A* e9 l0 s
Mon Mar 24 18:17:35 2014; H9 J9 m- {; C- k4 U( e5 h5 j% T/ o
Archived Log entry 2845 added for thread 1 sequence 2845 ID 0x4a0d6000 dest 1:
- T  B5 f2 g( W+ r1 t; T$ V
, p+ B' R& q4 q+ QSQL> select group#,status from v$log;
' L. _) U: l+ F7 L& }    GROUP# STATUS
' z2 P. I" f) w( }---------- ----------------: W9 |2 R* c8 W$ j& i
         1 ACTIVE+ p* ?* v6 y5 X$ e
         2 INACTIVE2 c( M/ j7 }  E; h" a4 j
         3 CURRENT
& t5 u& n$ R0 |         4 ACTIVE
$ O0 @3 r; B4 ]+ c
' x; a6 O- X7 F' r) V( J. F5.如果进行全量检查点,强制dbwr写入数据文件,可以出发全量检查点。% M5 V) \8 X$ f6 d" R+ ]5 i
    alert日志内容如下:

& j$ H; m6 |# {) @3 n8 A0 e, B$ L--alter system checkpoint;0 R8 s7 F* z, a9 X# O0 D8 F
Mon Mar 24 18:18:48 2014- ]/ K6 u0 ^" E8 l, G1 H7 b
Beginning global checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229, x% \( J# I& e- `2 `8 f
Completed checkpoint up to RBA [0xb1e.4c.10], SCN: 10583135604229  t8 i% h4 J6 D' l$ v9 H1 A
Completed checkpoint up to RBA [0xb1e.2.10], SCN: 105831356041805 _' m: \' {7 N( ?" k" ?
Completed checkpoint up to RBA [0xb1d.2.10], SCN: 10583135604156
( `& @8 Q0 W& @# S4 W' g
  I! Q7 G2 k7 Q$ R7 qSQL>  select group#,status from v$log;
: n7 S6 j# j) ?, w0 B6 j* @  {; O    GROUP# STATUS
6 g" A( B1 L& A4 L2 i& b; S---------- ----------------% `: ^! N$ t8 l/ d+ ^7 h* m
         1 INACTIVE1 x: F9 _# M) P$ @0 ?7 ^
         2 INACTIVE2 F  s$ S0 j& I7 r
         3 CURRENT0 p" t1 d. i2 F
         4 INACTIVE/ L) j- C! }5 v9 Y
; D5 y& O& X0 O  G
6.过了一会儿,可以看到日志中会出现增量检查点,增量检查点的优先级比全量的要低。1 V9 t( M  t4 c8 _2 y0 ?6 _" q
Mon Mar 24 18:19:22 2014
5 g& K5 [0 D2 L* `+ H4 D5 X9 vIncremental checkpoint up to RBA [0xb1e.4c.0], current log tail at RBA [0xb1e.5f.0]
* {4 q7 F* X5 @8 v# k
& b/ p) S# r$ v! e9 W7.触发日志归档! I$ T# k2 s9 v8 p5 P: H
--alter system archive log current;% x% T) [4 D6 ?" m
Mon Mar 24 18:20:51 2014
4 E2 l1 E1 I% p- _" jALTER SYSTEM ARCHIVE LOG
0 S; r( |! }5 E" ]4 A1 cMon Mar 24 18:20:51 2014; O( `6 C- x2 Z8 A
Beginning log switch checkpoint up to RBA [0xb1f.2.10], SCN: 105831356044435 F5 t3 g( T" S1 Q1 Q! t) m
Thread 1 advanced to log sequence 2847 (LGWR switch)
+ j3 K2 @9 ^9 ^0 n% W$ M3 |0 M  Current log# 2 seq# 2847 mem# 0: /dbccbsPT1/oracle/PETCUS1/oracnt01/redolog_A2/redo/redo02A.log
7 f; P1 J& {$ J4 e: Z9 L0 P  u  Current log# 2 seq# 2847 mem# 1: /dbccbsPT1/oracle/PETCUS1/oracnt02/redolog_B2/redo/redo02B.log
3 f% K4 U5 m' v8 z& WArchived Log entry 2846 added for thread 1 sequence 2846 ID 0x4a0d6000 dest 1:- w( t) V) c+ ~

# W' v" C% W0 F" w1 R0 I, A3 uSQL> select group#,status from v$log;
7 k( }  q) h  @& R/ {5 w! l    GROUP# STATUS
$ d& Q( C% D+ p+ z% a. a---------- ----------------
% W$ _0 _, o6 V3 }         1 INACTIVE& x* l  Y. W  l& i, f7 Y2 a
         2 CURRENT
5 ~# ~( d6 L' }         3 ACTIVE
' Y6 m+ M+ k. t7 ~0 Q8 W2 Y' ^         4 INACTIVE
8 {* c. y& `' Q6 t9 D# B% b: y7 ]3 @$ j5 o# s6 V2 n
和alter system switch logfile的差别在于,对于日志组3,执行alter system archive log current和alter system switch logfile会有所不同( L1 a# O/ s% _* F3 p3 E4 I  f! E
   GROUP#    THREAD#  SEQUENCE#    MEMBERS    SIZE_MB ARC STATUS: }( ]& X% T9 J1 \6 N: k: x
---------- ---------- ---------- ---------- ---------- --- ----------------
* Y9 ?, o( e, T+ u; `2 m  A         1          1        685          2           2048                 YES     ACTIVE2 C7 o8 ^4 ~4 C6 G* [3 F, `
         2          1        686          2           2048                 YES     ACTIVE" ?6 R1 o. g0 F+ N" S" ?. A
         3          1        687          2       2048 NO  ACTIVE
. X7 i9 Z8 G7 w0 N! d8 ?         4          1        688          2           2048                 NO      CURRENT: e! N5 r& y5 M5 ^4 F' C

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2018-9-18 10:11:15 | 显示全部楼层
我的数据库是win2000+ORACLE8i
' q! s( W5 ]% d9 d6 Y/ ~" E# Y在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗,是日志写太频繁,还是checkpoint 太小。等等。先谢了。0 @; K) m. S5 J# y) t! H% A
Thread 1 advanced to log sequence 41390
1 p9 w4 {' @: Y  P7 g' T" k  Current log# 2 seq# 41390 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG
8 ~) H* t+ W8 l5 ?2 q4 BSun Apr 20 17:46:49 2003# _: |' Z% a' V, {; [8 T
Thread 1 advanced to log sequence 413914 ]& N) r* t' k
  Current log# 3 seq# 41391 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG
. K. D# G- b! x! B" |Sun Apr 20 17:47:28 2003
$ C- b. r0 N5 yThread 1 advanced to log sequence 41392. \5 k8 \  g9 B/ I0 E
  Current log# 1 seq# 41392 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO01.LOG
3 Q8 L! U8 X6 O, M+ R% J' g( CSun Apr 20 17:48:03 20031 X( l1 }+ y' e5 q
Thread 1 advanced to log sequence 41393
  _. }) W0 X2 X' v6 ?6 A6 D  Current log# 2 seq# 41393 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO02.LOG5 V$ _* Y, X7 I' o7 q/ J
Sun Apr 20 18:00:34 2003( ~' U* @. X' w7 a; f" G. W
Thread 1 advanced to log sequence 413940 V& r4 l0 V  Y* l
  Current log# 3 seq# 41394 mem# 0: D:\ORACLE\ORADATA\ORCL\REDO03.LOG
9 d  }8 s2 Z1 f& E; q4 i- _Sun Apr 20 18:01:06 2003$ Z. w  A4 a4 O( S. v2 e3 Q
Thread 1 advanced to log sequence 41395. ?' O* r3 R4 `7 p) m9 i
  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:116 n: d# n% E" Z+ w  @
我的数据库是win2000+ORACLE8i
4 W$ R% D9 N. e5 Y9 c3 w# B在alert.ora下都出现以下的提示。是log_buffer 或checkpoint  有关系的吗, ...
! _2 B3 _2 Z: t0 C% `# g6 b

+ }& J. m; @% E4 K' T2 P) o- F2 M( r
[B]你的log切换太快了,增大你的redolog的大小 [/B]* {3 l& a' C) L
! K! q, d; J1 ^
  A5 {6 Y, z. @- d/ i' v* m
我也是把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:00 , Processed in 0.016674 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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