配置前,做好备份$ORACLE_HOME/dbs目录,防止出现意外,可修复数据库。
1.首先查看启动文件是否为spfile
show parameter spfile查看,若value值代表spfile的目录,若为空则是以pfile启动的。
SQL> create spfile from pfile; 创建spfile启动,重启数据库,生效。
2.查看memory
show parameter memory;查看memory_size_target和memory_target大小,因为sga依赖于memory。必须memory>=sga,否则数据库启动不起来。
SQL> alter system set memory_max_target=1G scope=spfile;
SQL> alter system set memory_target=1G scope=spfile;
重启数据库,生效。
3.查看sga
show parameter sga;
设置sga,大小设置必须遵循sga<=memory。
SQL> alter system set sga_max_size=1G scope=spfile;
4.重启数据库,生效。
遇到的问题:
1. ORA-32001: write to SPFILE requested but no SPFILE is in use。
说明没有设置spfile启动数据库,解决方法为上述第一步。
2.如果sga设置大于memory,重启数据库可能报错没有足够的memory。
3.必须保证tmpfs大于memory,否则启动数据库报错ORA-00845: MEMORY_TARGET not supported on this system
设置tmpfs,vi /etc/fstab 添加size=2G。
然后重新挂载mount -o remount /dev/shm