Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

绿色网站无广告
会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > 数据库管理 > » 正文

Oracle JOB异常ORA-06512

来源: HW_LiBo 分享至:

题记:今天在监控系统上收到一套数据库的JOB异常报警,这里记录一下解决过程,分享出来!

alert日志:

Tue Dec 13 04:00:03 2011
Errors in file /opt/oracle/diag/rdbms/ndmcdb/NDMCDB/trace/NDMCDB_j000_11169.trc:
ORA-12012: error on auto execute of job 30
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 512
ORA-29283: invalid file operation
ORA-06512: at "NDMC.PROC_TODO_TASK", line 74
ORA-06512: at line 1

 于是到数据库中查询:

       Job Schema User      Last Date    Next Date        Total Time B Interval        Failures What
---------- ----------------- -------------------- -------------------- ---------- - ------------------------------ ---------- -------------------------
         30    NDMC       01-Jan-4000 00:00:00                           0 Y TRUNC(sysdate + 1) + 4/24     16 PROC_TODO_TASK;
现在这个Job已经不可用了。

根据日志中的提示,用PL/SQL Developer找到该存储过程:
定位到74行:

这里是要打开一个目录,那么这个PATH是在哪里定义的呢?

于是查看数据库:
SQL> col DIRECTORY_PATH for a50
SQL> col OWNER for a20
SQL> select * from dba_directories;

OWNER       DIRECTORY_NAME      DIRECTORY_PATH
-------------------- ------------------------------ --------------------------------------------------
SYS       NDMIGEXPDIR2      /home/oracle/ndmig_expdpdata
SYS       NDMIGEXPDIR      /home/oracle/archive/ndmig/expdpdata
SYS       BACK_MSG_LOGS_PATH      /home/oracle/msgBackup/work
SYS       UNSUB_DATA_PATH      /home/oracle/backup/unsub_data
SYS       SHARELOG       /home/oracle/share/
SYS       DISKPKGFILECATALOG      /home/oracle/backup/pkg_incon_data/diskpkgfile
SYS       LOGCATALOG       /home/oracle/backup/pkg_incon_data
SYS       DATA_PUMP_DIR      /opt/oracle/product/11g/db/rdbms/log/
SYS       ORACLE_OCM_CONFIG_DIR     /opt/oracle/product/11g/db/ccr/state

那么确认系统中是否存在这个目录或是这个目录权限是否正确:
oracle@NDMCDB05:~> cd /home/oracle/backup/unsub_data
-bash: cd: /home/oracle/backup/unsub_data: No such file or directory
发现这个目录不存在,于是手工创建:
oracle@NDMCDB05:~> mkdir  -p  /home/oracle/backup/unsub_data

接着需要将job的属性修改正确:

问题解决!

 


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史