【故障处理】告警日志报“ORA-01565 Unable To open Spfile”

1.1  BLOG文档结构图

1.2  故障分析及解决过程

1.2.1  故障环境介绍

项目

source db

db 类型

RAC

db version

12.1.0.2.0

db 存储

ASM

OS版本及kernel版本

SuSE Linux Enterprise Server(SLES 11) 64位

1.2.2  故障发生现象及报错信息

点多,另外一个节点在凌晨1点多。

1.2.3  故障分析及解决过程

根据MOS How to troubleshoot ORA-01565 being reported in alert log (文档 ID 1950208.1)查询出来是由于$ORACLE_HOME/dbs/init$ORACLE_SID和OCR 中的配置(srvctl config db -d racdb1)查询出来的结果不一致导致的。

解决:将两者配置修改为一致即可。

可以设置trace事件来追踪该问题,生成trace后再关闭该跟踪事件:

alter system set events '1565 trace name errorstack level 10';

alter system set events '1565 trace name context off';

另外,在12.1.0.2的RAC中,文件“<DB_HOME>/dbs/init<ORACLE_SID>.ora”不再使用:

The only reference to the incorrect spfile name is in <DB_HOME>/dbs/init<ORACLE_SID>.ora which isn't being used in 12.1.0.2:

$ cat initeaipprd1.ora

SPFILE='+DATA/eaipprd/spfileeaipprd.ora'

1.3  MOS

1.3.1  Grid Infrastructure 12.1.0.2 ORA-01565 Unable To open Spfile (文档 ID 1970979.1)

In this Document

  Symptoms
  Cause
  Solution
  References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.2 and later

Information in this document applies to any platform.

SYMPTOMS

Newly created database using dbca, seeing the following in database alert.log frequently:

Wed Nov 19 10:00:40 2014 

ORA-01565: Unable to open Spfile +DATA/eaipprd/spfileeaipprd.ora. 

Wed Nov 19 10:00:40 2014 

ORA-01565: Unable to open Spfile +DATA/eaipprd/spfileeaipprd.ora. 

Wed Nov 19 10:00:41 2014

The spfile doesn't exist, the spfile in the OCR for the database is correct:

$ srvctl config database -d eaipprd 

Database unique name: eaipprd 

Database name: eaipprd 

Oracle home: /oracle/oracle/product/12.1.0.2_eaip 

Oracle user: oracle 

Spfile: +DATA/EAIPPRD/PARAMETERFILE/spfile.279.861715841

SQL> show parameter spfile;

NAME TYPE VALUE 

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

spfile string +DATA/EAIPPRD/PARAMETERFILE/spfile.279.861715841

ASMCMD [+DATA/EAIPPRD/PARAMETERFILE] > ls -l 

Type Redund Striped Time Sys Name 

PARAMETERFILE UNPROT COARSE NOV 20 07:00:00 Y spfile.279.861715841

The only reference to the incorrect spfile name is in <DB_HOME>/dbs/init<ORACLE_SID>.ora which isn't being used in 12.1.0.2:

$ cat initeaipprd1.ora 

SPFILE='+DATA/eaipprd/spfileeaipprd.ora'

CAUSE

The issue was investigated in multiple bugs:

BUG 20133332 - FREQUENT ALERT.LOG MSG: ORA-01565: UNABLE TO OPEN SPFILE +DATA/EAIPPRD/SPFILEEAI

BUG 19064439 - ORA-01565: UNABLE TO OPEN SPFILE ON AN IDLE SYSTEM - FOR 1 SECOND 

BUG 20025790 - EM CAUSES ORA-1565 TO BE GENERATED DUE TO DBCA ISSUE

The exact cause wasn't determined.

SOLUTION

After applied 12.1.0.2 GI PSU2, the issue stopped.

1.3.2  How to troubleshoot ORA-01565 being reported in alert log (文档 ID 1950208.1)

In this Document

  Goal
  Solution
  References

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.2 and later

Information in this document applies to any platform.

GOAL

Troubleshooting "ORA-01565: Unable to open Spfile"

SOLUTION

When "ORA-01565: Unable to open Spfile" is being reported in the instance alert log, then some process is trying to access the spfile but referring to the incorrect location

Database Instance alert log reports the following errors

Wed Nov 19 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Wed Nov 19 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Wed Nov 19 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Wed Nov 19 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Wed Nov 19 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

In a situation where the error is not generating any trace files we need to set the following event at the database level

alter system set events '1565 trace name errorstack level 10';

Once the above event is set we can see messages as follows in the alert log when the issue occurs again

From alert log



Mon Dec 01 19:26:44 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Mon Dec 01 19:26:44 2014

Errors in file /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/racdb1_ora_3106.trc: <<<<<<<<<<<<<<<Trace files for the event are getting generated

ORA-01565: error in identifying file '+DATA/racdb1/spfileracdb1.ora'

ORA-17503: ksfdopn:2 Failed to open file +DATA/racdb1/spfileracdb1.ora

ORA-15173: entry 'spfileracdb1.ora' does not exist in directory 'racdb1'

Mon Dec 01 19:26:48 2014

Dumping diagnostic data in directory=[cdmp_20141201192648], requested by (instance=1, osid=3106), summary=[abnormal process termination].

Mon Dec 01 19:26:49 2014

ORA-01565: Unable to open Spfile +DATA/racdb1/spfileracdb1.ora.

Mon Dec 01 19:26:49 2014

Errors in file /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/racdb1_ora_3233.trc:

ORA-01565: error in identifying file '+DATA/racdb1/spfileracdb1.ora'

ORA-17503: ksfdopn:2 Failed to open file +DATA/racdb1/spfileracdb1.ora

ORA-15173: entry 'spfileracdb1.ora' does not exist in directory 'racdb1'

After the event has occurred, the tracing can be disabled as follows

alter system set events '1565 trace name context off';

In the current example the trace file has the following information

Trace file output



 

*** 2014-12-01 19:26:44.771

*** SESSION ID:(15.63147) 2014-12-01 19:26:44.771

*** CLIENT ID:() 2014-12-01 19:26:44.771

*** SERVICE NAME:(SYS$USERS) 2014-12-01 19:26:44.771

*** MODULE NAME:(sqlplus@nracdb1 (TNS V1-V3)) 2014-12-01 19:26:44.771

*** CLIENT DRIVER:(SQL*PLUS) 2014-12-01 19:26:44.771

*** ACTION NAME:() 2014-12-01 19:26:44.771

*** CONTAINER ID:(1) 2014-12-01 19:26:44.771



dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=10, mask=0x0)

----- Error Stack Dump -----

ORA-01565: error in identifying file '+DATA/racdb1/spfileracdb1.ora'

ORA-17503: ksfdopn:2 Failed to open file +DATA/racdb1/spfileracdb1.ora

ORA-15173: entry 'spfileracdb1.ora' does not exist in directory 'racdb1'

----- Current SQL Statement for this session (sql_id=37hr89tuy952y) -----

CREATE PFILE='/tmp/RUwOs966FJ' FROM SPFILE='+DATA/racdb1/spfileracdb1.ora'

The actual SPFILE location of the database can be checked from the alert log or database configuration

From alert log

Thu Oct 30 10:55:26 2014

Starting ORACLE instance (normal) (OS id: 10576)

Thu Oct 30 10:55:26 2014

RECOMMENDATION:

Thu Oct 30 10:55:26 2014

1. For optimal performance, configure system with expected number 

of pages for every supported system pagesize prior to the next 

instance restart operation.

Thu Oct 30 10:55:26 2014

**********************************************************************

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Initial number of CPU is 4

Picked latch-free SCN scheme 3

Autotune of undo retention is turned on. 

IMODE=BR

ILAT =101

LICENSE_MAX_USERS = 0

SYS auditing is enabled

NOTE: remote asm mode is local (mode 0x1; from cluster type)

NOTE: Using default ASM root directory ASM

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options.

ORACLE_HOME = /u01/app/oracle/product/12.1.0/db_1

System name: Linux

Node name: lo03dox3

Release: 2.6.32-431.29.2.el6.x86_64

Version: #1 SMP Sun Jul 27 15:55:46 EDT 2014

Machine: x86_64

Using parameter settings in server-side spfile +DATA/spfileracdb1.ora

From the config output

srvctl config database -d racdb1

Database unique name: racdb1

Database name: racdb1

Oracle home: /u01/app/oracle/product/12.1.0/db_1

Oracle user: oracle

Spfile: +DATA/spfileracdb1.ora

Password file: 

Domain: 

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Disk Groups: FRA,DATA

Services: test1, test2

OSDBA group: 

OSOPER group: 

Database instance: racdb1

From the above it is clear that the actual location of the spfile is "+DATA/spfileracdb1.ora" however the process is trying to access the spfile from "+DATA/racdb1/spfileracdb1.ora"

In such a situation the reference of the spfile needs to be corrected by the process.

REFERENCES

BUG:18334406 - ORA-01565 ERROR ON THE TWO RAC NODES

BUG:9906253 - ORA-01565: UNABLE TO OPEN SPFILE EACH SIX HOURS

About Me

...............................................................................................................................

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 本文在itpub(http://blog.itpub.net/26736162)、博客园(http://www.cnblogs.com/lhrbest)和个人微信公众号(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2131070/

● 本文博客园地址:http://www.cnblogs.com/lhrbest/p/6204654.html

● 本文pdf版及小麦苗云盘地址:http://blog.itpub.net/26736162/viewspace-1624453/

     微信群:私聊

● 联系我请加QQ好友(642808185),注明添加缘由

● 于 2016-11-28 10:00 ~ 2016-11-30 22:00 在农行完成

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

...............................................................................................................................

手机长按下图识别二维码或微信客户端扫描下边的二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,免费学习最实用的数据库技术。

【故障处理】告警日志报“ORA-01565 Unable To open Spfile”的更多相关文章

  1. 归档—监控ORACLE数据库告警日志

    ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看 ...

  2. ORACLE告警日志文件

    告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间 ...

  3. Linux 日志报错 xxx blocked for more than 120 seconds

    监控作业发现一台服务器(Red Hat Enterprise Linux Server release 5.7)从凌晨1:32开始,有一小段时间无法响应,数据库也连接不上,后面又正常了.早上检查了监听 ...

  4. 11gR2数据库日志报错:Fatal NI connect error 12170、

    11gR2数据库日志报错:Fatal NI connect error 12170.TNS-12535.TNS-00505 [问题点数:100分,结帖人MarkIII]             不显示 ...

  5. ORACLE告警日志

    告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间 ...

  6. 修改ubuntu DNS的步骤/wget url报错: unable to resolve host address的解决方法

    wget url 报错:unable to resolve host address ‘url’,显然是无法解析主机地址,这就能看出是DNS解析的问题.解决办法就是配置可用的dns 一般是修改成为谷歌 ...

  7. Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  8. plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

    使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11 ...

  9. hadoop启动namenode日志报这个错,首先说怎么看日志

    hadoop启动namenode日志报这个错,首先说怎么看日志, 启动namenode会有这个,ubuntu: starting namenode, logging to /home/xiaoye/h ...

随机推荐

  1. 阿里巴巴开源技术 WebX

    0. WebX项目目前已开源, 项目开源地址:https://github.com/webx/citrus-sample.git 项目参考文档:http://www.openwebx.org/docs ...

  2. Scalaz(45)- concurrency :Task-函数式多线程编程核心配件

    我们在上一节讨论了scalaz Future,我们说它是一个不完善的类型,最起码没有完整的异常处理机制,只能用在构建类库之类的内部环境.如果scalaz在Future类定义中增加异常处理工具的话,用户 ...

  3. Guava学习笔记:EventBus

    EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现.对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和 ...

  4. 硬盘空间满导致mysql ibd文件被删后提示Tablespace is missing for table 'db_rsk/XXX"

    昨天一早,开发人员反馈说一个测试环境报Tablespace is missing for table 'db_rsk/XXX",周末刚升级过,特地让开发回去查了下,说脚本中肯定没有drop ...

  5. Dropplets – 极简的 Markdown 博客平台

    Dropplets 是一个简单的博客平台,专注于提供正是你在博客解决方案中需要的.当涉及到基础的博客功能,你真正想要做的是写和发表,而这就是 Dropplets 的过人之处.Dropplets 是一个 ...

  6. Tomcat部署记事

    1.导入证书到jdk里 keytool -import -alias 证书名称 -file 证书地址 -keystore 导入位置 例:keytool -import -alias co3 -file ...

  7. Web前端开发工具总结

    前端开发工具: web前端开发乃及其它的相关开发, 推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs. ...

  8. 学习zepto.js(原型方法)[2]

    接着昨天的来,继续说原型方法,昨天的传送阵(昨天出了点小意外,博文经过WP手机的UC浏览器进行编辑后标签就露出来了- -,现已修复); $.grep(): 作用与Array.filter类似(其实就是 ...

  9. H5移动端页面设计心得分享

    去年JDC出了不少优秀的武媚娘…不,H5呢,大家都很拼,同时当然也积累了一些经验和教训,今天结合咱们的实战案例,从字体,排版,动效,音效,适配性,想法这几个方面好好聊一聊关于H5的设计,希望对同学们有 ...

  10. SharePoint 2013 版本号和相关问题介绍

    今天查SharePoint 补丁,无意间发现一个非常好的链接,分享给大家! 这里面有SharePoint近期的版本号,而且不断更新,还有每个补丁可能带来的问题,对于服务器经常需要打补丁的那是非常有用, ...