Call now: 252-767-6166  
Oracle Training Oracle Support Development Oracle Apps

 E-mail Us
 Oracle Articles
New Oracle Articles

 Oracle Training
 Oracle Tips

 Oracle Forum
 Class Catalog

 Remote DBA
 Oracle Tuning
 Emergency 911
 RAC Support
 Apps Support
 Oracle Support

 SQL Tuning

 Oracle UNIX
 Oracle Linux
 Remote s
 Remote plans
 Application Server

 Oracle Forms
 Oracle Portal
 App Upgrades
 SQL Server
 Oracle Concepts
 Software Support

 Remote S


 Consulting Staff
 Consulting Prices
 Help Wanted!


 Oracle Posters
 Oracle Books

 Oracle Scripts

Don Burleson Blog 







ORA-01678 and db_file_name_convert Tips

Oracle Database Tips by Donald BurlesonSeptember 20, 2015

Question:  How does the db_file_name_convert work in Data Guard when I want to add a data file to my standby database?

Answer:  The purpose of the db_file_name_convert parameter (first used in 10g) is for recovery purposes.  Ideally, the file names on the primary and standby databases should be identical.  This also causes the ORA-01678 error:

ORA-01678: parameter string must be pairs of pattern and replacement strings.
Cause: The initialization parameter does not have even number of strings for its value. The odd numbered strings are patterns to be found in file names. The even numbered strings are used to replace the corresponding patterns when found in file names.

Action: Specify even number of strings for the parameter, or omit the parameter.

This is used when cloning a database on the same server where the file name locations will vary.  See my notes on cloning diifferent directory structure.

When the file names differ, the db_file_name_convert is used to convert the filename on the primary database to a filename on the standby database. The value of db_file_name_convert should be set in a pair of strings.

The first string should correspond to the filename pattern on the primary database and the next string of db_file_name_convert to the filename pattern on the standby database.

For example, here is a sample of a db_file_name_convert, specifying a different mount point for the file:

db_file_name_convert=('/u01/ora/files' '/u02/ora/files')

The db_file_name_convert parameter accepts filename pairs (the first name in the pair is the converted filename), performs the required substitutions, and places the converted files in the new location after the substitution.

You can specify as many pairs of replacement strings as required. You can use single or double quotation marks around your entries.

More than one pair can be specified in db_file_name_convert if there is a need to accommodate more than one pattern in filename changes between the primary and the standby database.

db_file_name_convert=('/u01/ora/files' '/u02/ora/files' '/u01/ora/file9' '/u02/ora/file9')

If you want to add a file to a standby database, then the file names should match, else make an additional entry into you db_file_name_convert strings.

Note:  The parameter db_file_name_convert is used when in standby mode, but it is ignored in the primary database.

Also see file management between primary and standby database.

Get the Complete
Oracle SQL Tuning Information 

The landmark book "Advanced Oracle SQL Tuning  The Definitive Reference"  is filled with valuable information on Oracle SQL Tuning. This book includes scripts and tools to hypercharge Oracle 11g performance and you can buy it for 30% off directly from the publisher.





Burleson is the American Team

Note: This Oracle documentation was created as a support and Oracle training reference for use by our DBA performance tuning consulting professionals.  Feel free to ask questions on our Oracle forum.

Verify experience! Anyone considering using the services of an Oracle support expert should independently investigate their credentials and experience, and not rely on advertisements and self-proclaimed expertise. All legitimate Oracle experts publish their Oracle qualifications.

Errata?  Oracle technology is changing and we strive to update our BC Oracle support information.  If you find an error or have a suggestion for improving our content, we would appreciate your feedback.  Just  e-mail:  

and include the URL for the page.


Burleson Consulting

The Oracle of Database Support

Oracle Performance Tuning

Remote DBA Services


Copyright © 1996 -  2020

All rights reserved by Burleson

Oracle ® is the registered trademark of Oracle Corporation.



Oracle Training at Sea
oracle dba poster

Follow us on Twitter 
Oracle performance tuning software 
Oracle Linux poster