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.
。
ORA-01678是Oracle数据库在编译过程中出现的一种常见错误。它表示参数字符串必须是匹配替换字符串的一组成对。
当打开“Substitution Variables”文档或使用“alter session set sql_trace TRUE”命令时,将遇到ORA-1678错误,这是由于名为“SQL_TRACE_FACILITY”和“SQL_TRACE_FACILITY_GROUP”的错误参数引起的。
此错误码是由于用户在打开“Substitution Variables”文档(中的子句“SQL_TRACE_FACILITY”或“SQL_TRACE_FACILITY_GROUP”)时,给定的参数参数字符串设置不正确。参数字符串必须由模式和替换字符串组成成对出现,否则,ORA-1678将会出现。
常见情况是,用户使用“alter session set sql_trace TRUE”命令进行跟踪,但提供的参数不正确,从而导致ORA-1678错误。
1.确认传入字符串参数“SQL_TRACE_FACILITY”和“SQL_TRACE_FACILITY_GROUP”必须以’pattern-replacement’形式进行定义,此’pattern-replacement’被用来对跟踪输出中的每一行进行替换,以使跟踪记录清晰易读。
2.然后将字符串参数正确分配给PL/SQL模块,即“alter session set sql_trace TRUE”命令中。
3.最后,重新启动跟踪以使更改生效,然后应用程序将按预期产生跟踪输出。