在Oracle11g RAC环境下如何处理ORA-00845错误

网友投稿 281 2023-12-24

在Oracle11g RAC环境下如何处理ORA-00845错误

这篇文章主要为大家展示了“在Oracle11g RAC环境下如何处理ORA-00845错误”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Oracle11g RAC环境下如何处理ORA-00845错误”这篇文章吧。

在Oracle11g RAC环境下如何处理ORA-00845错误

因机房空调停电原因机房温度过高而导致两个节点的Oracle11G RAC数据库服务器自动关机。等启动服务器后,发现数据库起不来,如题如下:

[oracle@DB-2 ~]$ sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:35:31 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORA-00845: MEMORY_TARGET not supported on this system

SQL> exit

原因为初始化参数MEMORY_TARGET或MEMORY_MAX_TARGET不能大于共享内存(/dev/shm),为了解决这个问题,要不调整Oracle初始化参数要不调大/dev/shm。

Oracle原来参数文件相关参数文件如下:

orcl2.memory_max_target=68719476736

orcl1.memory_max_target=68719476736

*.memory_target=30558650368

orcl2.memory_target=68719476736

orcl1.memory_target=6871947673

操作系统的共享内存(/dev/shm)参数如下:

[oracle@DB-1 shm]$ cat /etc/fstab | grep tmpfs

tmpfs                   /dev/shm                tmpfs   defaults,size=131072M        0 0

通过vi /etc/fstab命令分别修改两个节点的size为64G,如下:

tmpfs                   /dev/shm                tmpfs   defaults,size=64G       0 0

[oracle@CRXJ-DB-1 ~]$ df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_crxjdb1-LogVol02

                      2.3T  1.3T  882G  60% /

tmpfs                  64G   34G   30G  54% /dev/shm

/dev/sda1             194M   33M  152M  18% /boot

/dev/mapper/vg_crxjdb1-LogVol01

9.9G  151M  9.2G   2% /tmp

重新尝试启动数据库,还是报ORA-00845错误,因此对将初始化参数文件spfile导出成pfile后进行编辑并重新生成spfile,过程如下:

[oracle@DB-1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:36:33 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create spfile from pfile=/home/oracle/pfile_yu.ora;

File created.

Elapsed: 00:00:00.21

编辑相关内容如下:

orcl2.memory_max_target=64424509440

orcl1.memory_max_target=64424509440

*.memory_target=64424509440

orcl2.memory_target=64424509440

orcl1.memory_target=64424509440

重新生成spfile并启动数据库:

SQL> create spfile from pfile=/home/oracle/pfile_yu.ora;

File created.

Elapsed: 00:00:00.18

SQL> exit

Disconnected

[oracle@DB-1 ~]$ sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:40:30 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 6.4137E+10 bytes

Fixed Size                  2219552 bytes

Variable Size            3.8118E+10 bytes

Database Buffers         2.5770E+10 bytes

Redo Buffers              247029760 bytes

Database mounted.

Database opened.

SQL>

数据库启动成功。

在另一个节点也进行类似操作,两个节点数据库都正常启动并运行,应用能正常访问了。

注:在节点一生成完spfile后,在节点二上企图启动数据库,但还是报错:

[oracle@DB-2 ~]$ sqlplus  / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:35:31 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORA-00845: MEMORY_TARGET not supported on this system

查看操作系统信息:

[oracle@DB-2 ~]$ df -h|grep shm

tmpfs                  64G  397M   63G   1% /dev/shm

[oracle@DB-2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:46:28 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create pfile=/home/oracle/pfile_yu.ora from  spfile; 

create pfile=/home/oracle/pfile_yu.ora from  spfile

*

ERROR at line 1:

ORA-01565: error in identifying file ?/dbs/spfile@.ora

ORA-27037: unable to obtain file status

Linux-x86_64 Error: 2: No such file or directory

Additional information: 3

对于以上问题,从节点一把参数文件复制过来后直接生成spfile

[oracle@DB-1 ~]$ scp pfile_yu.ora DB-2:/home/oracle/pfile_yu.ora                                                                                                                 100% 1929     1.9KB/s   00:00

[oracle@DB-2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 2 10:54:48 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> create spfile from pfile=/home/oracle/pfile_yu.ora;

File created.

SQL> startup

ORACLE instance started.

Total System Global Area 6.4137E+10 bytes

Fixed Size                  2219552 bytes

Variable Size            3.3554E+10 bytes

Database Buffers         3.0333E+10 bytes

Redo Buffers              247029760 bytes

Database mounted.

Database opened.

SQL> exit

以上是“在Oracle11g RAC环境下如何处理ORA-00845错误”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序组件响应变化
下一篇:ORA-00313 ORA-00312 redo日志报错怎么处理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~