我的系统是WINDOWS2000..装的ORACLE 9i
本来我想增加共享池和缓冲区高速缓存的大小的~
但是我加上去后SGA的总容量就大于SGA的最大大小了~.就会报错...
所以我只能去增加SGA的最大大小~~
请问怎么增加...谢谢~~~

解决方案 »

  1.   

    alter system set sga_max_size=值 ;
    也可以在OEM中直接修改参数 然后重起实例
      

  2.   

    alter system set sga_max_size=值;这个可以吗?我show parameters sga_max_size 运行不了的
    那么在OEM里面直接修改参数...参数在那个目录下呢?谢谢~~找了半天没找到啊.
    `
      

  3.   

    OEM中选中数据库 点击右键 选择“查看/编辑详细资料” 在弹出的窗口中 点击“所有初始化参数” 就可以看见数据库启动的所有初始化参数
      

  4.   

    增大SGA_MAX_SIZE根据实际的物理内存进行重新设置 如果超过一定限制 会报内存溢出
      

  5.   

    改动后要加scope=spfile
    SQL> show parameter sga;NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ------------------------------
    lock_sga                             boolean                FALSE
    pre_page_sga                         boolean                FALSE
    sga_max_size                         big integer            600M
    sga_target                           big integer            276MSQL> alter system set sga_max_size = 650M scope = spfile;System altered.SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.Total System Global Area  683671552 bytes
    Fixed Size                  1282104 bytes
    Variable Size             570429384 bytes
    Database Buffers          109051904 bytes
    Redo Buffers                2908160 bytes
    Database mounted.
    Database opened.
    SQL> show parameter sga;NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ------------------------------
    lock_sga                             boolean                FALSE
    pre_page_sga                         boolean                FALSE
    sga_max_size                         big integer            652M
    sga_target                           big integer            276M
    SQL> 
      

  6.   

    奇怪的是我运行show parameter sga 说我是无效的SQL语句~~
      

  7.   


    你可能不是在sqlplus下或pl/sql command下执行该语句.
      

  8.   

    select * from v$parameter
    where name = 'sga_max_size'
    for update
    然后直接表里改
      

  9.   

    十分同意。
    show parameter sga是sqlplus命令,不是sql语句,你得在pl/sql的命令窗口里运行。
    要想改变sga_max_size的大小,需要输入
    alter system set sga_max_size=xxM scope=spfile;
    然后重启数据库就可以了,但不知你的问题是不是出在sga_max_size上。