这篇介绍使用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. 重温Servlet学习笔记--request对象

    request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...

  2. Android Conflict with nineoldandroids等报错

    问题 报错:Conflict with nineoldandroids 原因 我在引入Fresco时由于其中也包含nineoldandroids这个库,导致库的冲突,相关的库冲突都是因为这个问题导致的 ...

  3. MD5

    (转载自:http://blog.chinaunix.net/uid-20725556-id-1885710.html) MD5的全称是Message-Digest Algorithm 5(信息-摘要 ...

  4. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  5. Java进击C#——项目开发环境

    本章简言 上一章我们了解一下开发环境,知道了什么去新建一个项目工程.却并没有去项目工程进行介绍.可是之后我们会常常跟项目工程打交道.所以这章笔者就对项程工程的常用的一些功能进行讲解.当然说全面那是不可 ...

  6. Struts2 源码分析——拦截器的机制

    本章简言 上一章讲到关于action代理类的工作.即是如何去找对应的action配置信息,并执行action类的实例.而这一章笔者将讲到在执行action需要用到的拦截器.为什么要讲拦截器呢?可以这样 ...

  7. 【Win10开发】关于AutoSuggestBox

    其实看名字我们就知道,这个控件可以提供一些建议文本.我们在做搜索框时可以做一些文本来让用户选择. 这个控件有两个关键的事件QuerySubmitted和SuggestionChosen事件,当下拉列表 ...

  8. asp.net教程:编译错误同时存在于不同dll中

    asp.net 编译错误类型“同时存在于”不同的dll中. 出现这种错误大概有三种情况: 1.ASPX页面,一个*.ASPX,对应着一个*.cs文件,两者其实是一个文件,通过两者实现代码分离,每个*. ...

  9. C#之tcp自动更新程序

    .NETTCP自动更新程序有如下几步骤: 第一步:服务端开启监听 ServiceHost host; private void button1_Click(object sender, EventAr ...

  10. PHP流程控制结构之分支结构

    流程控制对于任何一门编程语言来说都是具有通用与普遍性的,是程序的重要组成部分.可以这么说,在任何一门程序设计语言中,都需要支持三种基本结构:顺序结构.分支结构(选择结构或条件结构)和循环结构.对于顺序 ...