今天在做memory_target和sga_target,pga_aggregate_target之间的各个测试时。由于粗心,将memory_target的值设置的小于sga_target和pga_aggregate_target值的和,导致在启动实例时报错ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 412M。
解决办法:
(1) 根据spfile创建pfile文件来更改memory_target的值。
create pfile='$ORACLE_HOME/dbs/spfileorcl_bak.ora' from spfile;
vi 编辑pfile文件中memory_target的值。
(2) 启动实例
startup pfile=$ORACLE_HOME/dbs/spfileorcl_bak.ora;
结果又报错
ORA-00845: MEMORY_TARGET not supported on this system
(3) 解决这个错误,方法如下:
[root@oraclelong ~]# vi /etc/fstab
将tmpfs /dev/shm tmpfs defaults 0 0
更改为 tmpfs /dev/shm tmpfs defaults,size=569m 0 0
保存退出
[root@oraclelong ~]# mount -o remount /dev/shm
[root@oraclelong ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 19G 16G 2.4G 88% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 569M 154M 416M 28% /dev/shm 这里需要注意可用值需要大于memory_target的值,测试如果两个相等还是报错。
(4) 重新启动实例,成功
(5) 需要记得将spfile再用pfile创建一次,方便直接启动。