ORA-01336: specified dictionary file cannot be opened

这篇介绍使用Logminer时遇到ORA-01336: specified dictionary file cannot be opened错误的各种场景

1:dictionary_location参数的路径最后多了一个/符号。

SQL>  show parameter utl_file_dir;
 

NAME                                 TYPE        VALUE

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

utl_file_dir                         string      /u01/app/utl_file_dir

SQL> exec dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/utl_file_dir/‘,options=>dbms_logmnr_d.store_in_flat_file);

BEGIN dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/utl_file_dir/‘,options=>dbms_logmnr_d.store_in_flat_file); END;

 

*

ERROR at line 1:

ORA-01336: specified dictionary file cannot be opened

ORA-29280: invalid directory path

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6003

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6093

ORA-06512: at "SYS.DBMS_LOGMNR_D", line 12

ORA-06512: at line 1

如下所示,将dictionary_location的值从dictionary_location=>‘/u01/app/utl_file_dir/‘ 改为=>‘/u01/app/utl_file_dir‘就会OK。

SQL> exec dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/utl_file_dir‘,options=>dbms_logmnr_d.store_in_flat_file);
 

PL/SQL procedure successfully completed.

 

SQL> 

2:随意指定的dictionary_location,与参数utl_file_dir不一致。

这个纯属菜鸟犯的错误,没有太多要说的。如下所示,你就知道这个是怎样的一个场景:

SQL> exec dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/kkk‘,options=>dbms_logmnr_d.store_in_flat_file);
BEGIN dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/kkk‘,options=>dbms_logmnr_d.store_in_flat_file); END;

 

*

ERROR at line 1:

ORA-01336: specified dictionary file cannot be opened

ORA-29280: invalid directory path

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6003

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6093

ORA-06512: at "SYS.DBMS_LOGMNR_D", line 12

ORA-06512: at line 1

 

 

SQL> ! oerr ora 1336

01336, 00000, "specified dictionary file cannot be opened"

// *Cause: The dictionary file or directory does not exist or is inaccessible.

// *Action: Make sure that the dictionary file and directory exist and are

//          accessible.

 

 

SQL> show parameter utl_file_dir;

 

NAME                                 TYPE        VALUE

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

utl_file_dir                         string      /u01/app/utl_file_dir

SQL> 

 

SQL> exec dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/utl_file_dir‘,options=>dbms_logmnr_d.store_in_flat_file);

 

PL/SQL procedure successfully completed.

 

SQL> 

3:定义utl_file_dir 参数最好使用完整路径,使用预定义环境变量会导致无法打开文件目录

SQL> alter system set utl_file_dir=‘$ORACLE_BASE/log_mnr‘ scope=spfile;
 

System altered.

 

SQL> shutdown immediate;

SQL> startup;

 

SQL> exec dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/oracle/log_mnr‘,options=>dbms_logmnr_d.store_in_flat_file);

BEGIN dbms_logmnr_d.build(dictionary_filename=>‘logmin.ora‘, dictionary_location=>‘/u01/app/oracle/log_mnr‘,options=>dbms_logmnr_d.store_in_flat_file); END;

 

*

ERROR at line 1:

ORA-01336: specified dictionary file cannot be opened

ORA-29280: invalid directory path

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6003

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6093

ORA-06512: at "SYS.DBMS_LOGMNR_D", line 12

ORA-06512: at line 1

时间: 2024-10-04 11:35:47

ORA-01336: specified dictionary file cannot be opened的相关文章

ORA_ERROR大全

转自:http://blog.csdn.net/haiross/article/details/12839229 常见错误:-60 ORA00060: deadlock detected while waiting for resource 一般错误:  - 1 ORA00001: unique constraint (.) violated  -17 ORA00017: session requested to set trace event  -18 ORA00018: maximum nu

ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数local_listener来达到目的.除此之外,还可以对实例进行远程注册,以达到负载均衡的目的.这是通过一个参数remote_listener来实现. 有关Oracle 网络配置相关基础以及概念性的问题请参考:      配置ORACLE 客户端连接到数据库   配置非默认端口的动态服务注册   

How to make dictionary work in TexStudio

How to make dictionary work in TexStudio I am using TexStudio as my LaTex IDE and honestly speaking I find it better than others available for the same purpose. One of the advantages is that you can use dictionary for spell checking and in contrast t

An attempt to attach an auto-named database for file

在用VS自带的 .mdf读取(joint)时,报错: 1 Server Error in '/' Application. 2 An attempt to attach an auto-named database for file F:\cs\office\ReadWriterOffice\ReadWriterOffice\App_Data\Database.mdf failed. A database with the same name exists, or specified file

listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The sqlnet.ora is an optional file expressing more parameters about the connection (eg: the trace level for debugging, the types of authentication you wo

How to prepare a FASTA file for calling SNP by GATK

1, Creating the fasta sequence dictionary file java -jar CreatSequenceDictionary.jar R=sequencename.fasta O=sequencename.dict 2,Creating the fasta index file samtools faidx sequencename.fasta

VSCode tasks.json中的各种替换变量的意思 ${workspaceFolder} ${file} ${fileBasename} ${fileDirname}等

When authoring tasks configurations, it is often useful to have a set of predefined common variables. VS Code supports variable substitution inside strings in the tasks.json file and has the following predefined variables: ${workspaceFolder} the path

Overview of .rdp file settings

On this page you will find an overview of most of the available .rdp file settings which can be used with the /o command line switch. All settings must be specified using the .rdp file style syntax: option:type:value Examples: alternate shell:s:notep

【RMAN】利用备份片还原数据库(中)

[RMAN]利用备份片还原数据库 [RMAN]利用备份片还原数据库(上): http://blog.itpub.net/26736162/viewspace-1621581/ 在上一篇blog中我们介绍了采用dbms_backup_restore来找回控制文件并恢复整个数据库的方法,本篇blog我们介绍采用创建临时库来找回控制文件的方法. 1.1.1  方法二:尝试采用创建临时库来找回控制文件 由于RMAN必须工作在MOUNT模式,所有的数据文件都丢失,无法通过只重建控制文件将其启动到MOUNT