zoukankan      html  css  js  c++  java
  • Oracle数据库案例整理-Oracle系统执行时故障-Shared Pool内存不足导致数据库响应缓慢

    1.1       现象描写叙述

    数据库节点响应缓慢,部分用户业务受到影响。

    查看数据库告警日志,開始显示ORA-07445错误,然后是大量的ORA-04031错误和ORA-00600错误。

    检查数据库日志,数据库仍处于活动状态的信息例如以下:

    Sat Jul 17 07:51:52 2010
    Thread 1 advanced to log sequence 266272
      Current log# 2 seq# 266272 mem# 0: /dev/rlv_redo121
      Current log# 2 seq# 266272 mem# 1: /dev/rlv_redo122

    1.2       可能原因

    因为数据库用户业务繁忙,活动会话较多,占用了大量的Shared Pool内存。同一时候Shared Pool内部參数配置不合理导致产生大量的内存碎片。因此,导致部分进程无法申请到足够的Shared Pool内存,出现ORA-07445错误和ORA-04031错误。因为Shared Pool压力越来越大,最后还引发ORA-00600错误。

    1.3       处理步骤

    1. oracle用户登录数据库主机。
    2. sysdba用户连接数据库。

    % sqlplus /nolog

    SQL> conn /as sysdba;

    Connected.
    1. 提高Shared Pool的“reserved pool”比例。

    SQL> alter system set "_shared_pool_reserved_pct"=10 scope=spfile;

    1. 减少“reserved pool”的最小请求大小。

    SQL> alter system set "_shared_pool_reserved_min_alloc"=4000 scope=spfile;

    1. Shared Pool子池个数降低到两个。

    SQL> alter system set "_kghdsidx_count"=2 scope=spfile;

    1. 分别关闭主备节点数据库。

    SQL> shutdown immediate

    1. 分别在主备节点又一次启动数据库。

    SQL> startup

    1. 查询设置的參数。

    SQL> select a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value"

    from x$ksppi a, x$ksppcv b, x$ksppsv c

    where a.indx = b.indx and a.indx = c.indx and a.ksppinm = '_shared_pool_reserved_pct'; 

  • 相关阅读:
    Redis源代码分析(十三)--- redis-benchmark性能測试
    kvm中运行kvm
    umount.nfs device busy day virsh extend diskSpace, attachDisk
    ultravnc
    openNebula dubug
    maintenance ShellScripts
    virsh VMI deploy data serial xml
    cloud computing platform,virtual authentication encryption
    基于C 的libvirt 接口调用
    storage theory
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3940465.html
Copyright © 2011-2022 走看看