Oracle问题:ORA-01565
问题
oracle启动时报错,找不到spfile文件。
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+datadg/prod/parameterfile/spfile.273.1008592463'
ORA-17503: ksfdopn:10 Failed to open file +datadg/prod/parameterfile/spfile.273.1008592463
ORA-15056: additional error message
ORA-15173: entry 'spfile.273.1008592463' does not exist in directory 'parameterfile'
ORA-06512: at line 4
问题分析
- 但数据库是有spfile的,其他节点都可以运行。所以去asm中查看文件是否存在
su - grid # 切换用户
asmcmd # 进入asmcmd命令行模式
ASMCMD> cd '+datadg/prod/parameterfile/' # 进入报错的spfile配置文件路径
ASMCMD> ls # 查看当前spfile文件名
spfile.273.1028631305
- 查看oracle的initPROD或pfilePROD配置,我们知道,RAC环境下,使用共享的spfile的话,initPROD/pfilePROD会配置指向asm路径的配置,配置如下:
cd $ORACLE_HOME/dbs
cat initSID.ora # SID是自己数据库的实例名
SPFILE='+datadg/prod/parameterfile/spfile.273.1008592463'
可以看到文件名与asm中的spfile文件名不一致。
判断是在修改了spfile配置后,文件版本号发生了变化。所以我的理解是,每次修改spfile文件时,oracle会自动生成一个新的spfile文件,并由asm自动命名,这时文件名会发生变化,导致数据库重启时会找不到旧的。
解决方法
方法一 修改initSID.ora文件中的路径为新的路径即可,新的路径就是asm中实际文件名称。
vi initSID.ora
cat initSID.ora # SID是自己数据库的实例名
SPFILE='+datadg/prod/parameterfile/spfile.273.1008592463'
改为
cat initSID.ora # SID是自己数据库的实例名
SPFILE='+datadg/prod/parameterfile/spfile.273.1028631305'
优点:
操作简单,不易出错。
缺点:
每次修改完配置文件,spfile文件名会发生变化,重启后会报错无法启动。并且自动启动也会因为报错而终止。
方法二 为spfile.xxx.xxxxx创建别名
# 1. 创建别名
su - grid
asmcmd
mkalias +datadg/prod/PARAMETERFILE/spfile.273.1028631305 +datadg/prod/spfilePROD4.ora
# 2. 将initSID.ora文件路径指向新的别名路径
su - oracle
cd $ORACLE_HOME/dbs
vi initSID.ora
SPFILE='+datadg/prod/spfilePROD4.ora' # 配置文件内容
之后再启动数据库即可。
优点:
修改spfile文件后,别名不影响(未验证),每次修改不需要修改initSID.ora配置。
Oracle问题:ORA-01565的更多相关文章
- Oracle sqlnet.ora配置
Oracle sqlnet.ora配置 sqlnet.ora的作用(官网指出的) www.2cto.com 1.限制客户端访问(如指定客户端域为不允许访问) 2.指定命名方法(local nami ...
- oracle tnsnames.ora文件用法说明
oracle tnsnames.ora文件用法说明 CreationTime--2018年8月10日08点32分 Author:Marydon 1.用途 oracle客户端所需要的一个文件,通过该 ...
- LR连接oracle时出现:SQLState=28000[Oracle][ODBC][Ora]ORA-01017:invalid username/password;logon denied
出现的现象:
- [oracle] listener.ora 、sqlnet.ora 、tnsnames.ora
路径 $ORACLE_HOME/network/admin sqlnet.ora(客户及服务器端) 作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个 ...
- oracle listener.ora文件配置
# listener.ora Network Configuration File: /oracleDB/product//db_1/network/admin/listener.ora # Gene ...
- oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
1.解决问题:TNS或者数据库不能登录. 最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置) $netca 2.然而,仍有疑问:如何指定'l ...
- oracle listener.ora的host不能使localhost,而应该是该机器名,否则不能用ip地址进行连接
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/lis ...
- Oracle tnsnames.ora
安装过ORACLE的都知道,oracle安装时需要进行配置,这个配置可以在客户端的企业管理器一步一步进行,或者直接拷贝一个tnsnames.ora文件到安装目录下(c:\app\Administrat ...
- Oracle tnsname.ora 链接问题
oracle数据库需要配置tns链接 这里我发现了一个问题: 在D:\Oracle\product\10.1.0\Client_3\NETWORK\ADMIN 目录中配置链接字符串的时候要特别注意: ...
- 【Oracle】ORA 01810 格式代码出现两次-转
一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') fr ...
随机推荐
- geoserver leaflet 使用wms
注意事项 1. 地址是 http://192.168.31.120:8080/geoserver/cite/wms 不需要后面 2. 名称 city:Polyline3 3.默认层级别调试为0 ...
- MySql 错误:建表时出错1067 - Invalid default value for 'id'
问题描述: 建表时报错无效的默认值: CREATE TABLE `product`( `id` INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ...
- Python+Django(2)——创建应用程序
新打开一个终端窗口,切换到manage.py所在的目录 激活虚拟环境:ll_env\Scripts\activate 命令startapp appname 让Django建立创建应用程序所需的基础设施 ...
- JRebel4.2 使用之前的激活地址失效,需更改新的激活地址
使用 https://jrebel.qekang.com 会报错 把 https://jrebel.qekang.com 换成 http://idea.javatiku.cn/ ,再进行激活,就ok了
- 字符节点流--> 桥装换流
输出 存值 用法1创建字节输出节点流FileOutputStream fos = new FileOutputStream("存入文件的路径");2创建桥转换流,按照指定的字符编码 ...
- maven远程debug
1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 添加参数 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_soc ...
- JSP第五周作业
1.教材p39实验3(听英语) <%@ page language="java" import="java.util.*" pageEncoding=&q ...
- 关于css在html的三种使用方式
关于css在html的三种使用方式 1.内联样式(直接在html里面使用style) eg:<h1 style="color:skyblue">这是一个测试标题< ...
- Adaboost分类器
Adaboost分类器 2019-08-31 非集成的机器学习算法就像古代皇帝一样,一个人说了算:集成学习算法类似于现在的国会,需要听取在会所有人的意见. Adaboost是一个集成学习算法,下面将会 ...
- 怎样清空 DNS 缓存?
在 Windows 下命令行执行:ipconfig /flushdns 在 macOS 下执行命令:sudo killall -HUP mDNSResponder