首页 > 数据库 > oracle > 正文

系统配置变更 oracle占用内存大小重新调整
2018-05-08 15:42:14   来源:   评论:0 点击: 收藏

场景:系统降级内存配置,oracle重启不了,启动报错。初期内存较大,中途降配,降配完成后,数据库无法正常启动,报以下错误:或者ORA-0084
场景:系统降级内存配置,oracle重启不了,启动报错。初期内存较大,中途降配,降配完成后,数据库无法正常启动,报以下错误:



或者
 
ORA-00845: MEMORY_TARGET not supported on this system...
 
原因可能:ORACLE MEMORY_TARGET参数设置超过了oracle服务器本身内存、或超过了现在服务器空闲内存(就是oracle启动时无法获取设置的内存),或者 超过了/dev/shm的大小/. 这些都有可能造成以上错误。
 
问题确认:
确认为oracle MEMORY_TARGET参数设置SGA大于操作系统的空闲内存,超过了/dev/shm的大小。
 
1.重新设置shm 大小:
vi /etc/fstab #这里以指定6G为例:
tmpfs /dev/shm tmpfs defaults,size=6G 0 0




#mount -o remount /dev/shm #重新挂载
 
 
2.备份现有spfile文件
以我的.ora配置文件路径为例 /data/oracle/product/11.2.0/db_1/dbs
cd /data/oracle/product/11.2.0/db_1/dbs
cp init.ora init.ora.bak
3.使用spfile创建pfile(spfile为二进制文本,不可直接修改),修改pfile后,重新生成spfile
sqlplus / as sysdba
SQL> create pfile from spfile;
File created.
SQL> exit
 
此时生成了一个包含实例名的init~.ora相关文件,这里以我的jjzb实例名为例说明:
vi initjjdb.ora #编辑该文件,修改memory_target为新的要占用内存(要小于/dev/shm大小)。



利用刚修改好的pfile配置文件创建新的spfile文件:
SQL> create spfile from pfile;
File created.
启动数据库:
SQL> startup;

参考 blog.51cto.com/douya/1753362

相关热词搜索:大小 内存 系统

上一篇:oracle开启归档模式的设置
下一篇:oracle建立只读用户