好久不写东西了。
————————————————————————————————————
1,问题来源
此时开发工具和数据库都没启动,原因是当时自己觉得16G够用了 给分配了2G。
2,解决方法:(以下命令都在CMD下)
sqlplus / as sysdba;
show parameter memory_max_target;
show parameter memory_target;
alter system set memory_max_target=600M scope=spfile;
alter system set memory_target=600M scope=spfile;
show parameter memory_max_target;
改完需要重启↓
shutdown immediate;
startup;
结果凉凉↓
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 1073741824 cannot be set to more than MEMORY_TARGET 6291
45600.
3,问题分析:
通过查询资料获悉:
tmpfs>MEMORY_TARGET >sga+pga
所以调整不是上面那么简单
错误的原因在于:
我没有去改【sga】的情况下改了【MEMORY_TARGET】
接下来操作就又变成了体力活
创建一个新的pfile配置文件↓
create pfile='D:\work\oracledb\product\11.2.0\dbhome_1\database\pfile.new' from spfile='D:\work\oracledb\product\11.2.0\dbhome_1\database\SPFILEORCL.ORA';
手工修改【pfile.new】把内存调合理!
最后,将新创建的配置文件作为启动文件加载
create spfile from pfile='D:\work\oracledb\product\11.2.0\dbhome_1\database\pfile.new';
4,分析总结:
- oracle内存要遵循tmpfs>MEMORY_TARGET >sga+pga原则
生效的profile配置文件切记不可手工改(二进制)
其他没什么了,随意写的,东西基本都可以在墙内找得到,当个笔记吧