rac重启遭遇ORA-01078、ORA-01565、ORA-17503、ORA-12547

今天测试环境服务器重启导致一个节点集群无法重启,遭遇ORA-12547错误,具体如下:

服务器重启后,rac1集群无法启动,rac2正常启动:

[[email protected] ~]# ps -ef|grep ora

grid      3975     1  0 16:42 ?        00:00:00 /u01/grid11g/bin/oraagent.bin

root      3998  3692  0 16:42 pts/0    00:00:00 grep ora

[[email protected] ~]$ crs_stat -t

Name           Type           Target    State     Host

------------------------------------------------------------

ora.ARCH.dg    ora....up.type ONLINE    ONLINE    rac2

ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac2

ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac2

ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2

ora.OCR.dg     ora....up.type ONLINE    ONLINE    rac2

ora.asm        ora.asm.type   ONLINE    ONLINE    rac2

ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac2

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE

ora....network ora....rk.type ONLINE    ONLINE    rac2

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac2

ora.ons        ora.ons.type   ONLINE    ONLINE    rac2

ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac2

ora....SM2.asm application    ONLINE    ONLINE    rac2

ora....C2.lsnr application    ONLINE    ONLINE    rac2

ora.rac2.gsd   application    OFFLINE   OFFLINE

ora.rac2.ons   application    ONLINE    ONLINE    rac2

ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2

ora.racdb.db   ora....se.type ONLINE    ONLINE    rac2

ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 16 16:47:58 2014

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

ERROR:

ORA-12547: TNS:lost contact

Enter user-name: exit

Enter password:

[[email protected] ~]$

遭遇ORA-12547错误,一般为权限问题,发现集群目录权限变了,可能有人为错误导致:

[[email protected] cdata]# cd /u01/

[[email protected] u01]# ls -lhrt

total 40K

drwx------  2 mongodb mongodb   16K Aug 14  2013 lost+found

drwxr-xr-x  8 mongodb mongodb  4.0K Aug 19  2013 grid_anzhuangbao

drwxr-xr-x 66 mongodb mongodb  4.0K Aug 20  2013 grid11g

drwxrwx---  6 grid    oinstall 4.0K Aug 20  2013 oraInventory

drwxr-xr-x  9 mongodb mongodb  4.0K Dec 25  2013 grid

drwxr-xr-x  5 mongodb mongodb  4.0K Jan  6  2014 mongodb

drwxr-xr-x  9 oracle  oinstall 4.0K Nov 27 14:45 oracle

更改权限为合适的权限:

[[email protected] u01]# chown grid:oinstall grid -R

[[email protected] u01]# chown grid:oinstall grid11g -R

[[email protected] u01]# ls -lhrt

total 40K

drwx------  2 mongodb mongodb   16K Aug 14  2013 lost+found

drwxr-xr-x  8 mongodb mongodb  4.0K Aug 19  2013 grid_anzhuangbao

drwxr-xr-x 66 grid    oinstall 4.0K Aug 20  2013 grid11g

drwxrwx---  6 grid    oinstall 4.0K Aug 20  2013 oraInventory

drwxr-xr-x  9 grid    oinstall 4.0K Dec 25  2013 grid

drwxr-xr-x  5 mongodb mongodb  4.0K Jan  6  2014 mongodb

drwxr-xr-x  9 oracle  oinstall 4.0K Nov 27 14:45 oracle

重启机器:

[[email protected] u01]# reboot

集群起来,但是实例没有启动:

[[email protected] ~]$ ps -ef|grep ora

grid      3699     1  0 17:03 ?        00:00:00 /u01/grid11g/bin/oraagent.bin

root      3845     1  0 17:03 ?        00:00:00 /u01/grid11g/bin/orarootagent.bin

grid      4017     1  0 17:03 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4032     1  0 17:03 ?        00:00:00 oracle+ASM1_ocr (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4036     1  0 17:03 ?        00:00:00 oracle+ASM1_asmb_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4040     1  0 17:03 ?        00:00:00 oracle+ASM1_o000_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4160     1  0 17:04 ?        00:00:00 /u01/grid11g/bin/oraagent.bin

root      4164     1  0 17:04 ?        00:00:00 /u01/grid11g/bin/orarootagent.bin

grid      4210     1  0 17:04 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4212     1  0 17:04 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4214     1  0 17:04 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

root      4286  4052  0 17:04 pts/1    00:00:00 su - oracle

oracle    4287  4286  0 17:04 pts/1    00:00:00 -bash

oracle    4887  4287  0 17:05 pts/1    00:00:00 ps -ef

oracle    4888  4287  0 17:05 pts/1    00:00:00 grep ora

[[email protected] u01]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host

----------------------------------------------------------------------

ora.ARCH.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1

ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac2

ora.OCR.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1

ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac2

ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE

ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1

ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac2

ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1

ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1

ora.rac1.gsd   application    0/5    0/0    OFFLINE   OFFLINE

ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1

ora.rac1.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2

ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2

ora.rac2.gsd   application    0/5    0/0    OFFLINE   OFFLINE

ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2

ora.rac2.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2

ora.racdb.db   ora....se.type 0/2    0/1    ONLINE    ONLINE    rac2

ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac2

手动登录数据库,依然遭遇ORA-12547,某些文件权限可能依然有问题:

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 16 17:06:08 2014

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

ERROR:

ORA-12547: TNS:lost contact

Enter user-name: exit

Enter password:

[[email protected] ~]$

[[email protected] 11g]$ cd /u01/

[[email protected] u01]$ ls -lhrt

total 40K

drwx------  2 mongodb mongodb   16K Aug 14  2013 lost+found

drwxr-xr-x  8 mongodb mongodb  4.0K Aug 19  2013 grid_anzhuangbao

drwxr-xr-x 66 grid    oinstall 4.0K Aug 20  2013 grid11g

drwxrwx---  6 grid    oinstall 4.0K Aug 20  2013 oraInventory

drwxr-xr-x  9 grid    oinstall 4.0K Dec 25  2013 grid

drwxr-xr-x  5 mongodb mongodb  4.0K Jan  6  2014 mongodb

drwxr-xr-x  9 oracle  oinstall 4.0K Nov 27 14:45 oracle

[[email protected] u01]$ cd oracle/

[[email protected] oracle]$ ls -lrht

total 28K

drwxrwxr-x 11 mongodb mongodb  4.0K Aug 20  2013 diag

drwxr-xr-x  2 mongodb mongodb  4.0K Aug 20  2013 checkpoints

drwxr-x---  3 oracle  oinstall 4.0K Aug 20  2013 admin

drwxr-x---  5 mongodb mongodb  4.0K Aug 20  2013 cfgtoollogs

drwxr-xr-x 73 mongodb mongodb  4.0K Nov  5 15:47 11g

drwxr-xr-x  2 mongodb mongodb  4.0K Nov 27 14:59 chtest

drwxr-xr-x  2 mongodb mongodb  4.0K Dec 15 18:45 expdp

ORACLE_HOME目录下文件权限有问题,更改权限:

[[email protected] oracle]$ cd ..

[[email protected] u01]$ chown oracle:oinstall -R  oracle

重启服务器:

[[email protected] u01]# reboot

[[email protected] u01]# ps -ef|grep ora

grid      3674     1  0 17:13 ?        00:00:01 /u01/grid11g/bin/oraagent.bin

root      3956     1  0 17:13 ?        00:00:03 /u01/grid11g/bin/orarootagent.bin

grid      4139     1  0 17:14 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4321     1  0 17:14 ?        00:00:00 oracle+ASM1_ocr (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4325     1  0 17:14 ?        00:00:00 oracle+ASM1_asmb_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4434     1  0 17:14 ?        00:00:00 /u01/grid11g/bin/oraagent.bin

root      4441     1  0 17:14 ?        00:00:03 /u01/grid11g/bin/orarootagent.bin

grid      4482     1  0 17:14 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4487     1  0 17:14 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

grid      4498     1  0 17:14 ?        00:00:00 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))

root      5906  5595  0 17:24 pts/0    00:00:00 grep ora

奇怪,实例依然无法重启,sqlplus 连接不再报12547,尝试启动实例,报错如下:

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 16 17:48:12 2014

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

Connected to an idle instance.

SQL> startup nomount

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file ‘+DATA/RACDB/spfileRACDB.ora‘

ORA-17503: ksfdopn:2 Failed to open file +DATA/RACDB/spfileRACDB.ora

ORA-12547: TNS:lost contact

SQL> exit

Disconnected

根据网上说,为$GRID_HOME/bin/oracle权限问题引起:

[[email protected] ~]$ cd /u01/grid11g/bin/

[[email protected] bin]$ ls -lhrt orac

ls: orac: No such file or directory

[[email protected] bin]$ ls -lhrt ora

ls: ora: No such file or directory

[[email protected] bin]$ pwd

/u01/grid11g/bin

[[email protected] bin]$ ls -lhrt oracle

-rwxr-x--x 1 grid oinstall 195M Aug 20  2013 oracle

[[email protected] bin]$ pwd

/u01/grid11g/bin

修改权限:

[gr[email protected] bin]$ chmod 6751 oracle

[[email protected] bin]$ ls -lhrt oracle

-rwsr-s--x 1 grid oinstall 195M Aug 20  2013 oracle

[[email protected] bin]$ exit

logout

[[email protected] oracleasm]# su - oracle

[[email protected] ~]$ exit

logout

[[email protected] oracleasm]# su - grid

正常启动实例:

[[email protected] ~]$  srvctl start instance -d racdb -i RACDB1

[[email protected] ~]$

[[email protected] ~]$ crs_stat -t -v

Name           Type           R/RA   F/FT   Target    State     Host

----------------------------------------------------------------------

ora.ARCH.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1

ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac2

ora.OCR.dg     ora....up.type 0/5    0/     ONLINE    ONLINE    rac1

ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1

ora.cvu        ora.cvu.type   0/5    0/0    ONLINE    ONLINE    rac2

ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE

ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1

ora.oc4j       ora.oc4j.type  0/1    0/2    ONLINE    ONLINE    rac2

ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1

ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1

ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1

ora.rac1.gsd   application    0/5    0/0    OFFLINE   OFFLINE

ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1

ora.rac1.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1

ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2

ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2

ora.rac2.gsd   application    0/5    0/0    OFFLINE   OFFLINE

ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2

ora.rac2.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2

ora.racdb.db   ora....se.type 0/2    0/1    ONLINE    ONLINE    rac1

ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac2

[[email protected] ~]$ crsctl stat res -t

--------------------------------------------------------------------------------

NAME           TARGET  STATE        SERVER                   STATE_DETAILS

--------------------------------------------------------------------------------

Local Resources

--------------------------------------------------------------------------------

ora.ARCH.dg

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

ora.DATA.dg

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

ora.LISTENER.lsnr

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

ora.OCR.dg

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

ora.asm

ONLINE  ONLINE       rac1                     Started

ONLINE  ONLINE       rac2                     Started

ora.gsd

OFFLINE OFFLINE      rac1

OFFLINE OFFLINE      rac2

ora.net1.network

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

ora.ons

ONLINE  ONLINE       rac1

ONLINE  ONLINE       rac2

--------------------------------------------------------------------------------

Cluster Resources

--------------------------------------------------------------------------------

ora.LISTENER_SCAN1.lsnr

1        ONLINE  ONLINE       rac2

ora.cvu

1        ONLINE  ONLINE       rac2

ora.oc4j

1        ONLINE  ONLINE       rac2

ora.rac1.vip

1        ONLINE  ONLINE       rac1

ora.rac2.vip

1        ONLINE  ONLINE       rac2

ora.racdb.db

1        ONLINE  ONLINE       rac1                     Open

2        ONLINE  ONLINE       rac2                     Open

ora.scan1.vip

1        ONLINE  ONLINE       rac2

[[email protected] ~]$

SQL> show parameter name

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string

db_name                              string      RACDB

db_unique_name                       string      RACDB

global_names                         boolean     FALSE

instance_name                        string      RACDB1

lock_name_space                      string

log_file_name_convert                string

processor_group_name                 string

service_names                        string      RACDB

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ WRITE

SQL>

时间: 2024-08-18 17:32:46

rac重启遭遇ORA-01078、ORA-01565、ORA-17503、ORA-12547的相关文章

11gR2 RAC重启后只能起单节点

11gR2 RAC重启后只能起单节点 问题背景: 将11gR2 RAC正常部署完成之后执行两节点重启操作发现其中有一个节点的集群资源无法启动,遂再次重启该无法启动集群资源的节点,还是不可.随即将正常节点重启发现原故障节点资源起来了,待重启完毕后原正常节点资源无法启动. 集群环境: OS:RedHat EnterPrise5.8 x86_x64 DB:Oracle EnterPrise Database 11.2.0.4.0 x86_x64 GRID:Oracle Grid Infrastruct

linux shell守护进程/ rac重启脚本

建立一个守护进程: #! /bin/sh PRO_NAME=./xxxx.sh while true ; do #用ps获取$PRO_NAME进程数量 echo ''> nohup.out NUM=`ps aux | grep -w ${PRO_NAME} | grep -v grep |wc -l` #echo $NUM #少于1,重启进程 if [ "${NUM}" -lt "1" ];then echo "${PRO_NAME} was kil

ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数local_listener来达到目的.除此之外,还可以对实例进行远程注册,以达到负载均衡的目的.这是通过一个参数remote_listener来实现. 有关Oracle 网络配置相关基础以及概念性的问题请参考:      配置ORACLE 客户端连接到数据库   配置非默认端口的动态服务注册   

ORA-01565: error in identifying file '+DATA/ORACLE/spfileORACLE.ora'

操作系统为suse11sp3_x86_64位,数据库为11204. 不小心修改了RAC目录及子目录的权限,资源启动后发现两个节点数据库都未启动,如下: jason1:/u01/app/11.2.0/grid/bin # ./crsctl stat res -t -------------------------------------------------------------------------------- NAME           TARGET  STATE        SE

(转)认识oracle中的sqlnet.ora tnsnames.ora listener.ora三个文件

概述 在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解.sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数. tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样.listener.ora 用在oracle

tnsnames.ora配置小结

oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin文件夹下. 1.  sqlnet.ora-–作用类似于linux或者其它unix的nsswitch.conf文件.通过这个文件来决定怎么样找一个连接中出现的连接字符串. 比如我们client输入 sqlplus sys/[email protected] 假如我的sqlnet.ora是以下这个样子 SQLNET.AUTHENT

oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

总结:1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下.2 .sqlnet.ora确定解析方式3 .listener.ora上设SID_NAME,通常用于JDBC访问,对应的错误码为125054 .tnsnames.ora上设SERVICE_NAME,通常用于linux sqlplus客户端,对应的错误码为12514 sqlnet.ora 作用类似于linux或者其他unix的 nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符

listener.ora 、sqlnet.ora 、tnsnames.ora的关系以及手工配置

listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. --begin 重点:三个文件的作用和使用 #----------------------- sqlnet.ora(客户及服务器端) --作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串, 例如我们客户端输入 sqlplus sys/[email protected] 假如我的s

转载《Oracle的tnsnames.ora配置(PLSQL Developer)》

今天是重要的一天.将XML数据导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件             为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配             置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置             listener.ora sqlnet.ora 和 tnsnames.ora 共三个文件