ORA-04031 unable to allocate string bytes of shared memory ("string","string","string","string")Cause: More shared memory is needed than was allocated in the shared pool.Action: If the shared pool is out of memory, either use the DBMS_SHARED_POOL package to pin large packages, reduce your use of shared memory, or increase the amount of available shared memory by increasing the value of the initialization parameters SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large pool is out of memory, increase the initialization parameter LARGE_POOL_SIZE. 增大init.ora文件中的shared_pool_size的值
重新启动数据库

解决方案 »

  1.   

    你是不是用了mts模式的,如果是,在初始参数文件中注释掉这些相关参数。
    mts问题多多
      

  2.   

    sqlnet.ora中  
    把SQLNET.AUTHENTICATION_SERVICES=  (NTS)注释掉试试
    如果不行,还是需要修改你的SGA的配置,与你机器的内存大小,mts有关,
    如果可能,你可以贴出你的init.ora文件
      

  3.   

    ##############################################################################
    # Copyright (c) 1991, 2001 by Oracle Corporation
    ##############################################################################
     
    ###########################################
    # MTS
    ###########################################
    dispatchers="(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)", "(protocol=TCP)"
     
    ###########################################
    # 其他
    ###########################################
    compatible=9.0.0
    db_name=oraJava
     
    ###########################################
    # 分布式, 复制和快照
    ###########################################
    db_domain=""
    remote_login_passwordfile=EXCLUSIVE
     
    ###########################################
    # 排序, 散列联接, 位图索引1048576
    ###########################################
    hash_area_size=1048576
    sort_area_size=1048576
     
    ###########################################
    # 文件配置
    ###########################################
    control_files=("D:\oracle\oradata\oraJava\CONTROL01.CTL", "D:\oracle\oradata\oraJava\CONTROL02.CTL", "D:\oracle\oradata\oraJava\CONTROL03.CTL")
     
    ###########################################
    # 池
    ###########################################
    shared_pool_reserved_size=5242880 
    java_pool_size=52428800
    large_pool_size=9316352
    shared_pool_size=102428800
    ###########################################
    # 游标和库高速缓存
    ###########################################
    open_cursors=600
     
    ###########################################
    # 系统管理的撤销和回退段
    ###########################################
    undo_management=AUTO
    undo_retention=10800
    undo_tablespace=UNDOTBS
     
    ###########################################
    # 网络注册
    ###########################################
    instance_name=oraJava
     
    ###########################################
    # 诊断和统计
    ###########################################
    background_dump_dest=D:\oracle\admin\oraJava\bdump
    core_dump_dest=D:\oracle\admin\oraJava\cdump
    timed_statistics=TRUE
    user_dump_dest=D:\oracle\admin\oraJava\udump
     
    ###########################################
    # 进程和会话
    ###########################################
    processes=4096
     
    ###########################################
    # 重做日志和恢复
    ###########################################
    fast_start_mttr_target=300
     
    ###########################################
    # 高速缓存和 I/O
    ###########################################
    db_block_size=8192
    db_cache_size=33554432
      

  4.   

    We speak in english!
    Do you know?
    Can I help you?
      

  5.   

    help me!
    hemp me!thank!!!
      

  6.   

    调试后又出现如下错误
    ORA-04030: 在尝试分配 57856 字节 (hash-join subh,kllcqas:kllsltba) 时进程内存不足init.ora为
    ------------------------------------------------------------------
    ##############################################################################
    # Copyright (c) 1991, 2001 by Oracle Corporation
    ##############################################################################
     
    ###########################################
    # MTS
    ###########################################
    dispatchers="(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
     
    ###########################################
    # 其他
    ###########################################
    compatible=9.0.0
    db_name=oraJava
     
    ###########################################
    # 分布式, 复制和快照
    ###########################################
    db_domain=""
    remote_login_passwordfile=EXCLUSIVE
     
    ###########################################
    # 排序, 散列联接, 位图索引
    ###########################################
    hash_area_size=1048576
    sort_area_size=1048576
     
    ###########################################
    # 文件配置
    ###########################################
    control_files=("D:\oracle\oradata\oraJava\CONTROL01.CTL", "D:\oracle\oradata\oraJava\CONTROL02.CTL", "D:\oracle\oradata\oraJava\CONTROL03.CTL") ###########################################
    # 池
    ###########################################
    java_pool_size=33554432
    shared_pool_size=33554432
     
    ###########################################
    # 游标和库高速缓存
    ###########################################
    open_cursors=300
     
    ###########################################
    # 系统管理的撤销和回退段
    ###########################################
    undo_management=AUTO
    undo_retention=10800
    undo_tablespace=UNDOTBS
     
    ###########################################
    # 网络注册
    ###########################################
    instance_name=test
     
    ###########################################
    # 诊断和统计
    ###########################################
    background_dump_dest=D:\oracle\admin\oraJava\bdump
    core_dump_dest=D:\oracle\admin\oraJava\cdump
    timed_statistics=TRUE
    user_dump_dest=D:\oracle\admin\oraJava\udump
     
    ###########################################
    # 进程和会话
    ###########################################
    processes=600
     
    ###########################################
    # 重做日志和恢复
    ###########################################
    fast_start_mttr_target=300
     
    ###########################################
    # 高速缓存和 I/O
    ###########################################
    db_block_size=8192
    db_cache_size=33554432
     
      

  7.   

    机器内存太小,不要装9i,9i太耗内存,你的SGA分配偏小.
    扩大LARGE_POOL_SIZE尺寸,适当扩大hash_area_size尺寸
    扩大shared_pool_size,适当减少java_pool_size尺寸
    db_cache_size太小