服务器 频道

SGA大小在os上限制导致数据库无法启动实例

  【IT168 服务器学院】 以前只是知道ORACLE SGA在不同的平台上都有大小限制,需要手工解除这个限制,但是由于一直没有把SGA调整得太大,所以一直没有碰到过,但是一旦真得让我碰上了,竟有些不知所措,搞了半天才想起来是这个原因!

    故障日期:2005.8.12

    故障现象:早晨数据库无法启动。错误如下:

    SVRMGR> startup nomount
    ORA-27123: unable to attach to shared memory segment
    SVR4 Error: 22: Invalid argument
    Additional information: 1
    Additional information: 41203

    SVRMGR>

    故障处理:为了保证系统尽快投入使用,暂时还原以前的参数文件

    故障分析:昨天为了优化数据库,我修改了shared_pool_size和db_block_buffer,当时把db_block_buffer加大了,shared_pool_size调小了,但是总的来说sga是调大了,现在提示shared memory 错误,看来是shared_pool_size的大小有问题

    实验如下:

    当时Database Buffers  是1474560000 bytes,几乎等于1.38G, shared_pool_size当时摄制的是600M,这样再加上其它的内存分配,总的已经超过了2G;后来把shared_pool_size调整为550M就没问题了,此时

    SVRMGR> startup nomount

    ORACLE instance started.

    Total System Global Area                       2123047072 bytes

    Fixed Size                                          73888 bytes

    Variable Size                                   637911040 bytes

    Database Buffers                               1474560000 bytes

    Redo Buffers                                     10502144 bytes

    SVRMGR>

    SGA=2123047072 bytes=1.977G

    看来Solaris下oracle sga的限制为2G,以后需要想办法调整这个限制

0
相关文章