REDO状态长时间ACTIVE

来源:互联网 发布:厄米特矩阵是啥 编辑:程序博客网 时间:2024/05/01 14:26

环境:

DB:11.2.0.3 未开归档,SGA设置的12G
OS:OLE 6.3

硬件:HP DL585 G5,32G内存,SAS磁盘 RAID5(新磁盘)。

相关操作:9I升级到11G,使用IMP导数据,导入速度奇慢

现象:

SQL> select group#,THREAD#,bytes/1024/1024,members,status,archived from v$log;
    GROUP#    THREAD# BYTES/1024/1024    MEMBERS STATUS           ARC
---------- ---------- --------------- ---------- ---------------- ---
         1          1            1024          1 ACTIVE           NO
         2          1            1024          1 ACTIVE           NO
         3          1            1024          1 ACTIVE           NO
         4          1            1024          1 ACTIVE           NO
         5          1            1024          1 ACTIVE           NO
         6          1            1024          1 CURRENT          NO

导数据前,我将REDO,UNDO,临时表空间都调整大了不少,速度依然慢,而且出现上面这种情况,从上可以看出DBWR进程写跟不上。

解决步骤:

1、首先检查磁盘IO问题,

iostat  -dx 3 10

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
cciss/c0d0      337.00      1069.33      3028.00       3208       9084
dm-0              0.00         0.00         0.00          0          0

 

[root@jjdb ~]# sar -d 3 10
Linux 2.6.39-200.24.1.el6uek.x86_64 (jjdb)      2013年07月14日  _x86_64_        (16 CPU)

10时08分08秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm    %util
10时08分11秒  dev104-0    355.18  17014.05  30169.90    132.84     12.81     36.38      2.82   100.33    ----处于高负载的情况,但上面写入却很慢

 

2、在看DBWR进程繁忙程度

ps -ef  |grep dbw,找出进程号

top 查看进程占用的资源,下面是按CPU资源排列,看不到DBWR进程,说明DBWR进程占用CPU资源极少。

top - 10:11:52 up 1 day, 17:22,  6 users,  load average: 11.05, 11.00, 10.83
Tasks: 293 total,   1 running, 292 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.4%us,  0.2%sy,  0.0%ni, 68.8%id, 28.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  33013152k total, 32820704k used,   192448k free,     4560k buffers
Swap: 16515068k total,   286432k used, 16228636k free, 30793220k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                        
28080 oracle    20   0 12.9g 4.9g 4.8g D 19.2 15.5 103:35.98 oracle                                                         
22119 oracle    20   0 12.9g 6.6g 6.6g S  9.6 20.8 271:05.95 oracle                                                         
22118 oracle    20   0  168m 106m 2632 D  5.6  0.3 183:03.67 imp                                                            
30919 root      20   0 15208 1244  816 R  1.0  0.0   0:00.18 top                                                            
20634 oracle    20   0 12.9g 3.7g 3.7g D  0.7 11.7   1:25.95 oracle                                                         
20640 oracle    20   0 12.9g 4.5g 4.5g D  0.7 14.3   1:48.63 oracle 

 

3、查看数据库DBWR进程数

SQL> show parameter db_writer_processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes                  integer     2

 

4、最后决定增加DBWR进程数,重启数据库,再进行导入,速度明显提升了不少。

iostat  -dx 3 10

Device:            tps    kB_read/s          kB_wrtn/s    kB_read    kB_wrtn
cciss/c0d0      328.67     10529.33     15216.00      31588      45648 

原创粉丝点击