修改 sga_max_size
查看 sga_max_size
SQL>show parameters sga;
首先可以上网查一下 sga 相关的概念,这里不在详细说明
要注意:调整sga的顺序是,先调整tmpfs的大小,再调整MEMORY_TARGET 的大小,最后调整sga,保证tmpfs>MEMORY_TARGET >sga+pga
查看 tmpfs的大小 命令:df -f
---------------------------------------------------
说一下我修改的经历
由于一开始不知道调整sga_max_size需要注意这么多点
首先
SQL>alter system set sga_max_size=6400M scope=spfile;
然后就 shutdown 数据库了
然后重启 startup 报错:
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 784334848.
这下完了 被坑了 因为必须是tmpfs>MEMORY_TARGET(在dbs目录下 spfile_xx.ora文件里面有 注意此文件是二进制文件不能修改) >sga+pga所以报错
这样的话 我就开始修改MEMORY_TARGET 可是数据库已经停了 mygod 无解了
于是上网查资料 摸索出了方法:
首先以这种方法去启动: sql>startup pfil
查看 sga_max_size
SQL>show parameters sga;
首先可以上网查一下 sga 相关的概念,这里不在详细说明
要注意:调整sga的顺序是,先调整tmpfs的大小,再调整MEMORY_TARGET 的大小,最后调整sga,保证tmpfs>MEMORY_TARGET >sga+pga
查看 tmpfs的大小 命令:df -f
---------------------------------------------------
说一下我修改的经历
由于一开始不知道调整sga_max_size需要注意这么多点
首先
SQL>alter system set sga_max_size=6400M scope=spfile;
然后就 shutdown 数据库了
然后重启 startup 报错:
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 784334848.
这下完了 被坑了 因为必须是tmpfs>MEMORY_TARGET(在dbs目录下 spfile_xx.ora文件里面有 注意此文件是二进制文件不能修改) >sga+pga所以报错
这样的话 我就开始修改MEMORY_TARGET 可是数据库已经停了 mygod 无解了
于是上网查资料 摸索出了方法:
首先以这种方法去启动: sql>startup pfil