ORACLE 11G 内存调整遇到的陷阱

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a116475939/article/details/82113734

好久不写东西了。
————————————————————————————————————
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配置文件切记不可手工改(二进制)

    其他没什么了,随意写的,东西基本都可以在墙内找得到,当个笔记吧

展开阅读全文

没有更多推荐了,返回首页