报错现象:
在进行核心批量时出现“ORA-04030:out of process memory when trying to allocate 64544 bytes (sort subheap,sort key)“的错误
报错分析:
由报错信息可知是分配给此进程的内存资源存在限制的问题
报错解决方法:
首先使用oracle用户,执行sqlplus / as sysdba命令进入数据库,执行一下命令来调节sort_area_size的大小:
show parameter sort "查看当前sort_area_size的值"
show parameter spfile “如果有值说明使用的是spfile,接下来指定修改范围的话就可以指定为spfile”
alter system set sort_area_size=‘调大当前值’ scope=spfile;
接下来重启数据库,使其生效:
shutdown immediate “关闭数据库”
startup “启动数据库”
其次使用root用户登录操作系统,修改/etc/security目录下的limits文件,在里面添加如下内容:
core:
fsize = -1
core = -1
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
fsize_hard = -1
core_hard = -1
cpu_hard = -1
data_hard = -1
rss_hard = -1
stack_hard = -1
nofiles_hard = -1
oracle:
fsize = -1
core = -1
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
fsize_hard = -1
core_hard = -1
cpu_hard = -1
data_hard = -1
rss_hard = -1
stack_hard = -1
nofiles_hard = -1
然后,使用oracle用户登录操作系统,进行重启监听的操作,命令如下:
lsnrctl stop
lsntctl start
lsntctl status "查看监听情况"
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29144194/viewspace-1250644/ ,如需转载,请注明出处,否则将追究法律责任。