今天在TOMAS_ZHANG的BLOG上看到了这篇BLOG,感觉不错,转过来了。
原文见:http://tomszrp.itpub.net/post/11835/494605
看到一个帖子说是无法修改sga_target的参数
SQL> alter system set sga_target=1.2G scope=both;
alter system set sga_target=1.2G scope=both
*
ERROR at line 1:
ORA-32005: error while parsing size specification [1.2G]
SQL> alter system set sga_target=1G scope=both;
System altered.
SQL> alter system set sga_target=0.5G scope=both;
alter system set sga_target=0.5G scope=both
*
ERROR at line 1:
ORA-32005: error while parsing size specification [0.5G]
為什么只能改為1G.
然后这个朋友就疑惑为什么只能该为1G.让人郁闷的是ORA-32005的这个解释也让他摸不着头脑.
其实稍有经验的人都可能知道,如果这个值设置的不合理,Oracle一般会报
ORA-02097: parameter cannot be modified because specified value is invalid
这样的错误.
否则任何其他错误的指定均会报告这个ORA-32005错误.这里的关键就是你要先了解你要修改的这个参数的属性:
Parameter type
--Big integer
Syntax
--SGA_TARGET = integer [K | M | G] Default value 0 (SGA autotuning is disabled)
Modifiable
--ALTER SYSTEM
Range of values
--64 to operating system-dependent
所以,如果指定了非整数或指定了错误的单位(K|M|G),都会遇到这个错误的!