Oracle Errors ORA-01034 ORA-27102 Linux-x86_64 Error: 12: Cannot allocate memory

登录到数据库执行发现
相关报错

ORA-01034: ORACLE not available
ORA-27102: out of memory

看到 out of memory ,先退出数据库查看shm是否是满了

[[email protected] ~]$ df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 20G 15G 6.0G 71% /
devtmpfs devtmpfs 9.8G 0 9.8G 0% /dev
tmpfs tmpfs 13G 5.8G 7.3G 45% /dev/shm
tmpfs tmpfs 9.8G 1004M 8.8G 11% /run
tmpfs tmpfs 9.8G 0 9.8G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 180M 835M 18% /boot
/dev/mapper/vgoracle-lvoracle ext4 1.5T 1.4T 31G 98% /oracle
/dev/mapper/centos-home xfs 25G 90M 25G 1% /home
tmpfs tmpfs 2.0G 12K 2.0G 1% /run/user/42
tmpfs tmpfs 2.0G 0 2.0G 0% /run/user/0
tmpfs tmpfs 2.0G 0 2.0G 0% /run/user/1001

 

tmpfs tmpfs 13G 5.8G 7.3G 45% /dev/shm
这里看到没有满,再登录到数据库
这时发现,查询重启等操作都无法进行
提示都是数据库不可用,初步确定原因,数据库启动状态不正常应该是宕机了

退出到数据库,查看oracle进程时候发现一个impdp

找到宕机原因是因为上周五impdp执行完后,不知道为什么没有退出长时间挂起导致
kill 掉impdp后
内存没有释放,还是锁住
尝试重启

SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory
Additional information: 26
Additional information: 524289
Additional information: 1660944384

 

这里看到在oracle 的论坛找到一份相关的讨论
点着这里跳转
给出的是直接解决建议是使用pfile启动

spfile文件有备份成pfile的话,可以根据该pfile去启动数据库,如果没有备份的话,只能从其他相同版本的服务器上去拷贝一份pfile文件,
然后手动修改配置信息,来启动数据库(注意是相同版本的数据库)。

执行使用pfile启动

 

SQL> startup pfile='/oracle/app/admin/orcl/pfile/init.ora.926201785336'
ORACLE instance started.

Total System Global Area 2137886720 bytes
Fixed Size 2254952 bytes
Variable Size 587204504 bytes
Database Buffers 1543503872 bytes
Redo Buffers 4923392 bytes
Database mounted.
Database opened.

 

再把监听启动一下,问题解决

0209.2019 V1

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像