oracle dataguard延迟,dataguard延迟日志应用的问题

本帖最后由 lfree 于 2012-12-11 12:07 编辑

我管的dataguard使用recover managed standby database disconnect from session delay 720。

我发现一个问题,如果使用asm作为存储,会出现"大量“读取操作。

dd06a1abc3fb84da465ff4eff32374f6.gif

snap.jpg (10 KB, 下载次数: 43)

2012-12-11 12:04 上传

如果执行alter  database open read only ;,流量下降下来。我的存储使用IP存储。

我开始以为SGA设置不合理,检查发现:

SQL> show sga

Total System Global Area 2147483648 bytes

Fixed Size                  2085360 bytes

Variable Size             385879568 bytes

Database Buffers         1744830464 bytes

Redo Buffers               14688256 bytes

SQL> show parameter 32k

NAME                                 TYPE        VALUE

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

db_32k_cache_size                    big integer 256M

--应该是正常,也是db_32k_cache_size设置小一点,设置为512M。

recover managed standby database disconnect from session delay 720 ;

top -c 观察,隔一段时间出现在前面:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

19628 oracle    15   0 2221m  37m  16m S  1.0  0.9   0:00.67 ora_mrp0_icarestd

使用strace跟踪发现:

$ strace -p 19628 -t -e pread  -o /tmp/aa1

....

15:05:48 pread(17, "\25\302\0\0\260\3\0\0\35\312\23\0\377\377\1\4\212\245\0"..., 49152, 137101312) = 49152

15:05:48 pread(17, "\25\302\0\0\307\1\0\0\257\311\23\0\377\377\1\4\346\r\0"..., 16384, 126861312) = 16384

15:05:48 pread(18, "\25\302\0\0\310\1\0\0\260\311\23\0\377\377\1\4\303\r\0"..., 16384, 229507072) = 16384

15:05:53 pread(17, "\25\302\0\0\1\0\0\0\0\0\0\0\0\0\1\4\24\232\0\0\0\0\0\0"..., 16384, 125845504) = 16384

15:05:53 pread(17, "\25\302\0\0\1\0\0\0\0\0\0\0\0\0\1\4\24\232\0\0\0\0\0\0"..., 16384, 429932544) = 16384

....

lrwx------  1 oracle oinstall 64 Dec 10 15:07 17 -> /dev/raw/raw1

lrwx------  1 oracle oinstall 64 Dec 10 15:07 18 -> /dev/raw/raw2

$ cut -f1 -d' ' /tmp/aa1 | uniq -c

212 15:05:48

164 15:05:53

48 15:05:54

212 15:05:59

212 15:06:04

69 15:06:09

143 15:06:10

--基本上间隔5秒,读/dev/raw/raw[12].

--过滤^15:05:59。

$ grep '^15:05:59'  /tmp/aa1  | cut -f2 -d '=' > /tmp/aa2

$ wc -l /tmp/aa2

212 /tmp/aa2

--后面写入211个+,并且加入pq

$ cat /tmp/aa2 | dc

20267008

--读取了 20267008/1024/1024=19.328125M,分摊到5秒的时间内,确实正好4M上下。基本和流量图一致。

#  dstat -n -N eth1,eth0,total 1 100

--net/eth1----net/eth0---net/total-

recv  send: recv  send: recv  send

0     0 :   0     0 :   0     0

20M 5043k:2545k   64k:  22M 5108k

0     0 :   0     0 :   0     0

19k   81k:  24k 2168B:  44k   83k

0     0 :   0     0 :   0     0

5634B  108k:  60k 6982B:  66k  114k

0     0 :   0     0 :   0     0

20M  161k:  17k 2524B:  20M  164k

0     0 :   0     0 :   0     0

17k   37k: 958B  624B:  18k   38k

0     0 :   0     0 :   0     0

11M  109k:  29k 2232B:  11M  111k

0     0 :   0     0 :   0     0

9227k   89k:4685B  962B:9231k   90k

0     0 :   0     0 :   0     0

27k  297k: 144k   12k: 172k  309k

0     0 :   0     0 :   0     0

20M  254k:  82k 3384B:  20M  257k

0     0 :   0     0 :   0     0

18k   43k:3890B  962B:  22k   43k

0     0 :   0     0 :   0     0

--基本验证。

#  dstat -d -D sda,sdb,total 1 100

--dsk/sda-----dsk/sdb----dsk/total-

read  writ: read  writ: read  writ

252B   13k:6134B   11k:6387B   24k

0     0 :   0    59k:   0    59k

0     0 :  16k   37k:  16k   37k

0     0 :   0     0 :   0     0

0     0 :  19M  481k:  19M  481k

0   168k:  16k   62k:  16k  230k

0     0 :   0   108k:   0   108k

0     0 :   0    18k:   0    18k

0     0 :  16k   46k:  16k   46k

0     0 :  16M 9216B:  16M 9216B

0     0 :3568k   18k:3568k   18k

0     0 :  16k   58k:  16k   58k

0     0 :   0  4096B:   0  4096B

0     0 :   0    14k:   0    14k

0     0 :  16k   40k:  16k   40k

0     0 :  19M 5120B:  19M 5120B

0     0 :   0    40k:   0    40k

0     0 :  16k   47k:  16k   47k

0     0 :   0     0 :   0     0

0     0 :  12M  132k:  12M  132k

0     0 :  48M   32k:  48M   32k

0     0 :   0   168k:   0   168k

0     0 :   0    14k:   0    14k

0     0 :  16k  180k:  16k  180k

0    16k:   0  4096B:   0    20k

0     0 :5776k  153k:5776k  153k

0     0 :  14M   36k:  14M   36k

0     0 :   0  5120B:   0  5120B

0     0 :   0    78k:   0    78k

0     0 :  16k   80k:  16k   80k

0     0 :   0   176k:   0   176k

--问题是不知道mrp进程到底读取什么????

我在另外使用文件系统的dataguard上监测mrp进程,发现读取的控制文件。而且文件系统有缓存的,基本不存在读取磁盘操作。

这个是否以为延迟应用日志+asm这个方式有一些问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值