调节SGA后oracle宕机处理



C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL> show sga

Total System Global Area 6764429312 bytes
Fixed Size                  2188568 bytes
Variable Size            5351934696 bytes
Database Buffers         1392508928 bytes
Redo Buffers               17797120 bytes
SQL> select * from v$sga;

NAME                                          VALUE
---------------------------------------- ----------
Fixed Size                                  2188568
Variable Size                            5351934696
Database Buffers                         1392508928
Redo Buffers                               17797120

SQL> show parameter ga

NAME                                 TYPE                         VALUE
------------------------------------ ----------------------------------------------------
lock_sga                             boolean                    FALSE
pga_aggregate_target                 big integer               0
pre_page_sga                         boolean                     FALSE
sga_max_size                         big integer                6480M
sga_target                           big integer                0

SQL> alter system set sga_max_size=10G scope=spfile;

System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 10737418240 cannot be set to more than MEMORY_TARGET 6811549696.

呵呵,搞得oracle都起不来了,一查原来是oracle11的SGA调整和原来的10不一样了。
如何调整是后话,先把oracle起来才是主要的。

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create pfile='d:\pfile.txt' from spfile;
File created.

打开输出的配置文件,把里面修改的sga_max_size该回去,把配置文件导回去
SQL> create spfile from pfile='d:\pfile.txt';

File created.

SQL> startup;
ORACLE instance started.

Total System Global Area 6747725824 bytes
Fixed Size                  2180424 bytes
Variable Size            3254782648 bytes
Database Buffers         3456106496 bytes
Redo Buffers               34656256 bytes
Database mounted.
Database opened.
好了,现在可以继续来折腾SGA.

使用一个参数memory_target就能够实现SGA和PGA组件依据工作负荷进行自动内存分配。oracle推荐使用自动内存管理简化内存分配。两个新的关键的内存初始化参数memory_target(这个参数设置分配给实例的内存数)和memory_max_size(这个参数是可选的,设置实例能够分配的最大内存,设置的是memory_target的上限值)。
memory_max_size参数是静态,然而memory_target是动态的。因此你可以调整memory_target参数值的大小,但上限是memory_max_size。
既然实现自动,我就不用操心了,直接修改最大的内存给他,剩下的他们自己内部协调去。

SQL> alter system set memory_max_target=10G
SQL>alter system set memory_target=10G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值