记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

JokerFei 2018-12-30

概述

DB_CREATE_FILE_DEST specifies the default location for Oracle-managed datafiles. This location is also used as the default location for Oracle-managed control files and online redo logs if none of the DB_CREATE_ONLINE_LOG_DEST_ n initialization parameters are specified

在oracle中,这个参数用于指定Oracle数据库服务器创建数据文件的缺省路径,除了数据文件之外,据说还可以创建其他如日志文件、控制文件等文件的缺省路径。

问题

有一次启动数据库报错,提示:

ORA-01261: Parameter db_create_file_dest destination string cannot be translated

解决的过程还是有点意思的,所以就记录下来了。

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

思路:

这里很明显是db_create_file_dest参数设置的问题,数据库采用OMF管理,是因为我这边db_create_file_dest参数中间设置成了+DATA/NWPP/DATAFILE,之前是+DATA/,重启后就发现起不来了。

只需要修改db_create_file_dest参数就行,这里很多朋友可能想直接到$ORACLE_HOME/dbs目录下修改参数文件就可以了,但是我这边是放在ASM的,所以解决过程会麻烦点。

解决过程

1、ASM复制参数文件

因为参数文件在ASM上,所以需要先把参数文件复制到本地

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

2、root授权

之所以授权是因为参数文件用户为grid,这里我直接授权777解决

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

3、oracle用户创建pfile

为什么要创建pfile?因为要修改spfile的参数,但是spfile是二进制文件,我们不能直接去改它,所以需要这个步骤。

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

4、修改pfile文件的db_create_file_dest参数为正确值

vi /tmp/pfile

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

5、数据库指定pfile启动

startup nomount pfile='/tmp/pfile';
allter database mount;
alter database open;

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

6、恢复spfile

create spfile from pfile='/tmp/pfile'

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

可以看到这时候是以pfile启动

7、测试spfile启动数据库

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest


总结:

这里主要体现的是pfile和spfile之间的转换和ASM的文件怎么去修改,还有个地方没解决:spfile此时指定的位置是本地,而不是ASM上了,可能修改VALUE就可以解决了~(这里忘记解决了,哪位大佬指点下)

后面会分享更多DBA和devops方面的内容,感兴趣的朋友可以关注下!!

记一次报错解决过程:修改ASM上的参数文件db_create_file_dest

相关推荐