这篇介绍使用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

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

  1. How to generate a new dictionary file of mmseg

    How to generate a new dictionary file of mmseg 0.Usage about mmseg-node memtioned in github : var mm ...

  2. logminer系列文章一(logminer的使用)

    转自 http://blog.itpub.net/26613085/viewspace-1064008/ 1.安装logminer以及生成logminer数据字典所需要的包(需使用sys用户) [or ...

  3. Oracle logminer 分析redo log(TOAD与PLSQL)

    Oracle logminer 分析redo log Oracle 11g r2 RAC centos 6.5 设置时间格式 select to_char(sysdate,'yyyy-mm-dd hh ...

  4. RMAN备份失败: ORA-19502 & ORA-27072: File I/O error

    早上检查一ORACLE数据库的RMAN备份的邮件时,发现出现了ORA-27072: File I/O error等错误,具体信息如下所示: channel ORA_DISK_1: starting p ...

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

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

  6. VC++ chap12 file

    file operation _______C语言对文件操作的支持 fopen accepts paths that are valid on the file system at the point ...

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

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

  8. An attempt to attach an auto-named database for file

    在用VS自带的 .mdf读取(joint)时,报错: Server Error in '/' Application. An attempt to attach an auto-named datab ...

  9. C# The process cannot access the file because it is being used by another process

    C# The process cannot access the file because it is being used by another process   The process cann ...

随机推荐

  1. c 语言的位运算符复习

    转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...

  2. 1Z0-053 争议题目解析212

    1Z0-053 争议题目解析212 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 212.Note the following parameters settings in you ...

  3. 工作流引擎Oozie(二):coordinator

    1. 简介 coordinator是workflow的定时提交器,基于时间条件与数据生成触发(based on time and data triggers).简单点说,coordinator按所定义 ...

  4. Winform应用程序实现通用消息窗口

    记得我之前发表过一篇文章<Winform应用程序实现通用遮罩层>,是实现了透明遮罩的消息窗口,功能侧重点在动图显示+消息提醒,效果看上去比较的炫,而本篇我又来重新设计通用消息窗口,功能重点 ...

  5. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  6. 记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义

    创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问它,代码如下: namespace ConsoleApplication1 { class Program { static ...

  7. [WCF编程]10.操作:流操作

    一.流操作概述 在默认情况下,当客户端调用服务时,服务只有在接收到完整的消息后才会被调用,同样,客户端只有在包含了调用结果的返回消息被完整接受时,才会解除对它的阻塞. 对于数据量小的消息,这种交换模式 ...

  8. overflow

    1. 隐藏x轴滚动条,垂直有滚动条: <body> <div style="width:100px;height:150px;overflow:scroll;overflo ...

  9. Windows Server 2008设置远程桌面连接的最大数量

    远程桌面连接的默认数量是2,当有多个用户需要同时远程桌面连接时很不方便,可以设置远程桌面连接的最大数量. 1. 运行gpedit.msc: 2. 选择计算机配置-->管理模板-->Wind ...

  10. Linux安装JDK1.7

    发表此篇文章纯属本人愚钝,希望以后再安装JDK不要走那么多曲折的路,也希望可以给后人借鉴. 1.以下以JDK1.7为例 具体官网地址:http://www.oracle.com/technetwork ...