用oracle用户登录,
sqlplus "/as sysdba"
SQL> show parameters target;
show parameters spfile;
alter system set memory_max_target=4G scope=spfile;
alter system set memory_max_target=4G scope=both;
tmpfs /dev/shm tmpfs defaults,size=24G 0 0
-查看当前使用的哪个参数文件启动的
SQL> select distinct isspecified from v$spparameter;
ISSPEC
------
FALSE
看第一个值是FALSE还是TRUE,如果是FALSE,则是pfile,否则则是spfile.
第一行为TRUE可知,是从spfile启动的,有两行,其中第二行为FALSE,表示有两个参数文件,一个是spfile,一个是pfile
最终:修改参数的方法:
先用 mount -o remount,size=16G tmpfs
(无论实际内存大小如何,上述命令都能成功,只是不知道内存太小,oracle是否真能启动)
或类似 mount -t tmpfs -o remount,size=32G tmpfs /tmp(命令成功,但没测试oracle启动正常与否)
修改 tmpfs 大小,使oracle能够启动成功;
然后:
用oracle用户lmoracle登录,执行:
sqlplus "/as sysdba"
create pfile='/pb/lmoracle/a.txt' from memory;
如果oracle已经被正常启动的情况下,可以得到一个保存所有参数的文件:/pb/lmoracle/a.txt
修改a.txt中的
memory_target=2G
为
memory_target=24G
在sqlplus中执行shutdown;
退出sqlplus,重新执行下面的命令进入sqlplus:
sqlplus "/as sysdba"
然后用修改后的参数文件启动数据库实例:
startup pfile='/pb/lmoracle/a.txt';
看一下参数:
show parameters target;
无误后,
create spfile from memory;
这样就把改好的参数文件保存到缺省的spfile中了。
重启数据库(或重启机器)