DB_FILE_NAME_CONVERT参数导致ORA-15124: ASM file name '...' containsan invalid alias name

RAC主库+DG单机环境中,一旦主备库之前有归档间隔,而这些归档可能由于种种原因被删除,如归档被清理了,备份集策略已经超出所需归档。也不用担心,可以按以下大致步骤做恢复:

o 主库上做基于SCN的增量备份

o 将备份传输至备库

o 备库恢复增量备份

o 主库创建一个standby controlfile,并传输至备库

o 上一步生成的控制文件替换备库的控制文件

这几天遇到个非常奇怪的问题,主库创建standby controlfile时总是报错ORA-15124。这个问题也困扰了自己很多天。

都试过:

o 检查数据库的所有物理文件 asmcmd ls -l来查看

o 检查数据库数据字典 v$database.name / dba_data_files.file_name

o 在asmcmd debug模式下ls -l 查看文件

o 检查ASM的v$asm_file, v$asm_alias等等

o 对ORA-15124做10046和errorstack

o 检查DG备份等等

在创建standby controlfile依旧报错,错误如下:

SQL> show parameter conver;

NAME         TYPE  VALUE

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

db_file_name_convert       string  /data, +DATA/orcl/datafile

log_file_name_convert       string  /data, +DATA/orcl/onlinelog

(实际过程中,这两个参数如此配置是没有问题的...)

SQL> alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse;

alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse

*

ERROR at line 1:

ORA-15124: ASM file name ‘+data/odsptdb+DATAfile/system.259.862837403‘ containsan invalid alias name

对以上加粗部分的字符串是哪里来的表示非常有疑问!

最终,检查DB_FILE_NAME_CONVERT参数的配置,并且做了以下试验:

SQL> alter session set db_file_name_convert=‘/data‘,‘+abc‘;

------------------------------------------------------------------------/\\\\\\\\\

Session altered.

SQL> alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse;

alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse

*

ERROR at line 1:

ORA-15124: ASM file name ‘+data/odsptdb+abcfile/system.259.862837403‘ containsan invalid alias name

----------------------------------------------------------/\\\\\\\\\\

SQL> alter session set db_file_name_convert=‘/data‘,‘abc+abc‘;

-------------------------------------------------------------------------////\\\\

Session altered.

SQL> alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse;

alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse

*

ERROR at line 1:

ORA-15124: ASM file name ‘+data/odsptdbabc+abcfile/system.259.862837403‘ contains an invalid alias name

-------------------------------------------------------------////\\\\

SQL> alter session set db_file_name_convert=‘/data‘,‘abc‘;

Session altered.

SQL> alter database create standby controlfile as ‘/tmp/a.ctl‘ reuse;

Database altered.

从以上几个试验可以看出,DB_FILE_NAME_CONVERT确实影响了standby controlfile的创建。而且串里不能包含“+”  (即加号)

在以往的RAC+ASM中,印象里面DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数是可以有“+” (即加号)的,这一次遇到了很奇怪的问题。计划找个时间窗口,将以上两个参数后半部分都改为"+DATA",完全让ASM来管理。

特意在此记录一下。

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

本文来自于我的技术博客 http://blog.csdn.net/robo23

转载请标注源文链接,否则追究法律责任!

DB_FILE_NAME_CONVERT参数导致ORA-15124: ASM file name '...' containsan invalid alias name

时间: 2024-10-24 11:56:51

DB_FILE_NAME_CONVERT参数导致ORA-15124: ASM file name '...' containsan invalid alias name的相关文章

【翻译自mos文章】使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法

使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1) 适用于: Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.2 [Release 11.1 to 11.2] Information in thi

ASM file metadata operation等待时间处理

数据库版本:11.2.0.3.0 系统版本:centOS 5.7 遇到了等待事件:ASM file metadata operation 网上查到的信息说ASM file metadata operation是个内部的等待事件,该等待事件多了也没有什么解决办法和问题产生的原因.但是发现该等待事件与ksv master wait等待事件相关. ksv master wait的等待事件信息较多,简单来说对于不是Exadata的库就是将参数 cell_offload_processing,修改为fal

【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity

注意: ASMB process exiting due to lack of ASM file activity 参考原文: NOTE: ASMB process exiting due to lack of ASM file activity (Doc ID 754110.1) 适用于: Oracle Server - Enterprise Edition - Version 10.1.0.2 to 11.2.0.4 [Release 10.1 to 11.2] Information in

java的url有中文参数导致乱码

话不多说,直接粘代码 发送方 UrlParaCode.jsp <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <html> <head> <title>My JSP 'UrlParaCode.jsp' starting page</title> </head> <body> &l

ORA-15028: ASM file &#39;..&#39; not dropped; currently being accessed --转载

Couple of weeks ago we had a problem with one of our busiest databases. The FRA was filling quite rapidly and we just could not free enough space. What made this problem interesting was the fact that Oracle was telling us more than 40% of the space w

配置tomcat连接器后,启动服务报错“No Certificate file specified or invalid file format&quot;异常

1:原来的配置是 1 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 2 maxThreads="150" scheme="https" secure="true" 3 clientAuth="false" sslProtocol="TLS" keystoreFile=

配置CAS错误No Certificate file specified or invalid file format

配置tomcat证书 keystore文件后启动一直报错:(tomcat版本:apache-tomcat-6.0.43) tomcat配置: <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth=&qu

调整参数导致数据库无法启动

.oraenv xxx alter system set sga_max_size=4g scope=spfile; sql>alter system set sga_target=4g; sql>startup force; ORA-27102: out of memory SQL> startup nomount ORA-27102: out of memory SQL> shutdown immediate ORA-01034: ORACLE not available OR

URL传参数导致乱码

今天在通过jsp给后端传参过程中,发现后台接收的是乱码.花了两个小时,终于解决了,现在记录一下. 背景 现在有一个jsp页面,里面主要的内容是表格,其中表格中的每一行最后一列是操作部分,点击可以对该行进行修改或删除. 如上图,点击"修改"会将左边的参数传给后台."配电主类型"和"配电副类型"两列看着是文字,实际上传的是数字:参数类型这一项不参与上传:"参数编码"和"参数名称"两项是文字,除此之外,还有一个u