今天在调节sga大小的时候遇到了一个报错
SQL> alter system set sga_target=600 scope=both;
alter system set sga_target=600 scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00827: could not shrink sga_target to specified value
首先看一下数据库相关配置
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 600M
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 0
memory_target big integer 0
shared_memory_address integer 0
SQL> alter system set sga_target=700 scope=spfile;
System altered
结果发现果然是只可以在spfile中修改,重启后生效,可是后来我继续做实验发现一个很有趣的事情
SQL> alter system set sga_target=400M scope=both;
System altered.
这是为什么呢,为什么这个sga现在又可以在both里面可以用了呢,查阅文档发现一个原来10g之前是不可以调节sga_target的大小的,但是之后出现了一个参数sga_max_size,这个参数让sga_target可以真正的自己调节,只要在sga_max_size以下,所有的sga_target是可以静态或者动态自动调节的。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。