a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 316|回复: 0

[考试辅导] Oracle认证辅导:调整OracleSGA大小的解决方法

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
 在修改数据缓冲区的时候,提示错误如下:& b4 x8 h4 h; E: q* L: F2 l4 \' k9 ]
  SQL> alter system set db_cache_size=25165824 scope=both;9 t1 F) l% ~- L4 }) d- u0 Q0 I
  alter system set db_cache_size=25165824 scope=both! j9 p* Z! o& V5 G7 e6 |
  *; Z4 w7 z3 R% e) E# P7 H8 B+ ]9 f; U2 {
  ERROR at line 1:! ]- C4 C8 o, B/ D8 c
  ORA-02097: parameter cannot be modified because specified value is invalid
. {# ?1 g' t7 s- O& W  ORA-00384: Insufficient memory to grow cache3 @( K2 S% N4 T% B
  SQL>( W5 m* r7 @8 \# N% N
  出现这种错误的具体原因:
) R# C% R+ k( u# g) L  I  G  SGA(sga_max_size)是由共享池(shared_pool_size),缓冲区高速缓存(db_cache_size 9i以上版本),大型池(large_pool_size),Java池(java_pool_size)组成的,在我们安装的时候这些已经分配了一定的值,由于需求需要对其进行调整。
# r- o+ W5 z8 a* e  v( C# B, F  现在sga的值是一定的,sga通常是大于等于以上几项的值之和。% v: _! N2 c" M; E- t. O
  假如正好sga等于各项之和,那么调大其中任何一项都会出错,调小是不成问题的。
/ J. ^5 c* N# t/ }  在此情况下也就出现了以上的错误:% E- A: ~  @# o- {$ t% c7 U# E
  下面我们以db_cache_size为例:
& [& s/ i# Z! R) l* @, K3 r  解决方法如下:
$ D' U" a: @, j& n* s  R6 B  1、调小其它项的值,一般情况下我们不会采用这种方法,随着业务的增大对内存的需求越来越高,估计其它项也没有调小的余地
: @/ {. {  _. b8 V7 t  2、调大sga此时数据库需要是在关闭状态,由于sga不是动态参数,所以我们需要修改init$Oracle_SID.ORA的中sga的大小6 @' c1 X& O, A6 R. s, K; t
  (1)首先创建参数文件,这是为了保持和服务器参数文件一致SQL>create pfile from spfile;" V' y( Q9 g2 Y
  (2)修改init$ORACLE_SID.ORA中对应的sga_max_size大小/ ?! G+ s; w6 D8 S% I- F  P
  (3)创建服务器参数文件SQL>create spfile from pfile;
. b7 |9 N) k3 j1 _4 T  (4)启动数据库 修改db_cache_size的大小
* m6 {0 j" e4 J  SQL> alter system set db_cache_size=25165824 scope=both;
- S5 |' D* _5 A. t3 g  System altered.
5 E6 b/ n5 p/ V6 a' a3 n3 J* G: P  修改完毕。
/ Y5 |: j$ J/ m. U2 o& f% ]  总结:
6 c8 v" _. n0 l3 j) W5 T5 n  sga_max_size需要重启数据库来进行调整,而其中的db_cache_size等可以动态调节,在调节共享池时需要计算好SGA的总容量,假如超过了sga_max_size,就会出现报错的现象
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-25 06:35 , Processed in 0.280271 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表