Oracle文档对于该参数的描述十分容易产生歧义:converts the filename of a new log file on the primary database to the filename of a log file on the standby database,有时被误解为归档日志的文件名转换。
如在某standby备库进行以下测试:
alter system set log_file_name_convert='orcl','ZZZZZZ' scope=spfile;
SQL> select fnnam,fnonm from x$kccfn;
FNNAM
--------------------------------------------------------------------------------
FNONM
--------------------------------------------------------------------------------
/u01/oradata/ZZZZZZ/redo03.log
/u01/oradata/orcl/redo03.log
/u01/oradata/ZZZZZZ/redo02.log
/u01/oradata/orcl/redo02.log
/u01/oradata/ZZZZZZ/redo01.log
/u01/oradata/orcl/redo01.log
alter system set log_file_name_convert='orcl','8888888' scope=spfile;
SQL> select fnnam,fnonm from x$kccfn;
FNNAM
--------------------------------------------------------------------------------
FNONM
--------------------------------------------------------------------------------
/u01/oradata/8888888/redo03.log
/u01/oradata/orcl/redo03.log
/u01/oradata/8888888/redo02.log
/u01/oradata/orcl/redo02.log
/u01/oradata/8888888/redo01.log
/u01/oradata/orcl/redo01.log
v$datafile中的大部分信息来源于x$kccfn内部视图,kccfn意为[F]ile [N]ames来源于Controlfile,其中 fnnam为经过对controlfile中文件名记录转制(由db_file_name_convert或 log_file_name_convert等参数convert)后的记录,而fnonm为控制文件中的原始文件名(或曰文件路径)。若在Data Guard配置过程中遭遇到日志文件名或数据文件名的转制问题,可以通过查询该视图进一步分析。
author: maclean
permanent link:http://www.youyus.com/2010/05/31/%E5%85%B3%E4%BA%8E%E5%8F%82%E6%95%B0log_file_name_convert/
date:2010-05-31
All rights reserved.