生产系统中EXP-00000的问题及解决(66天)

早上刚来的时候,客户的dba就急忙找到我说生产系统exp出问题了。exp的时候报了错误,让我帮着看一下。 > exp xxxxx file=tui.dmp log=xxx.log Message 206 not found; No message file for product=RDBMS, facility=EXP: Release 11.2.0.2.0 - Production on Thu May 8 09:36:55 2014 Copyright (c) 1982, 2009, Oracl Invalid format of Export utility name Verify that ORACLE_HOME is properly set Export terminated unsuccessfully EXP-00000: Message 0 not found; No message file for product=RDBMS, facility=EXP 猛一看是因为ORACLE_HOME设置出问题了,但是这是生产系统啊。变量的设置都是比较严格的。都是反复检验的。不过还是从头到尾查了一遍。 先赶紧查一下sqlplus看连接数据库是否正常,测试了一下,没有问题。 然后查看alert日志,里面也没有任何报错信息。 输出ORACLE_HOME也没有问题,可以直接cd过去。 查看exp的情况,看是不是文件出问题了,被人手动改过了。 > file exp exp: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), not stripped 可以看到已经很长时间没有动过了。权限也是正常的。 > ll exp -rwxr-x--x 1 xxxx dba 985297 Oct 2 2013 exp 排查一下.profile文件是否有乱码问题。 > cat -v .profile MAIL=/usr/mail/${LOGNAME:?} set -o vi stty erase ^H TERM=dtterm EDITOR=vi ORACLE_HOME=/opt/app/oracle/XXXX/product/11.2.0 export ORACLE_HOME export ORACLE_SID=XXXX export ORACLE_BASE=/opt/app/oracle/XXXX NLS_LANG=AMERICAN_AMERICA.TH8TISASCII export NLS_LANG LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32 PATH=$PATH:$ORACLE_HOME/bin export PATH HOST=`hostname` USER=`logname` PS1='$USER@$HOST:$PWD> ' export PS1 #export SHELL=/usr/local/bin/tcsh #. $ORACLE_HOME/bin/oraenv

可以看到也没有问题。 重新export一下,试了也没有任何变化 查看metalink,oracle建议采用truss来trace一下。而且只能使用root用户,我一看我们的机器上没有装truss. 我来尝试一下使用strace来做.没想到真发现了问题。 不过为了保险起见,先在测试环境中先来测试一下。 >strace exp n1/n1 tables=customer file=a.dmp 输出如下。 execve("/opt/app/oracle/xxxx/product/11.2.0/bin/exp", ["exp", "n1/n1", "tables=customer", "file=a.dmp"], [/* 36 vars */]) = 0 brk(0) = 0x149a6000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b6b7d52d000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b6b7d52e000 .... 其中涉及到mesg中文件的open操作主要有下面5个地方。 open("/opt/app/oracle/dbccbspt1/product/11.2.0/rdbms/mesg/expus.msb", O_RDONLY) = 3

open("/opt/app/oracle/dbccbspt1/product/11.2.0/oracore/mesg/lrmus.msb", O_RDONLY) = 4

open("/opt/app/oracle/dbccbspt1/product/11.2.0/rdbms/mesg/diaus.msb", O_RDONLY) = 5

open("/opt/app/oracle/dbccbspt1/product/11.2.0/rdbms/mesg/ocius.msb", O_RDONLY) = 7

open("/opt/app/oracle/dbccbspt1/product/11.2.0/rdbms/mesg/oraus.msb", O_RDONLY) = 8

这5个文件是在exp中需要引用到的。 在生产中查看 oraccbs1@ebsmed08:oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll expus.msb* -rw-r--r-- 1 oraccbs1 dba 5817 Sep 4 2010 expus.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll ocius.msb* -rw-r--r-- 1 oraccbs1 dba 9193 Sep 4 2010 ocius.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll oraus.msb* -rw-r--r-- 1 oraccbs1 dba 352792 Oct 9 2012 oraus.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll lrmus.msb* ls: lrmus.msb*: No such file or directory oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> cd .. oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms> cd .. oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0> cd oracore oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/oracore> cd mesg oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/oracore/mesg> ll lrmus.msb* -rw-r--r-- 1 oraccbs1 dba 4608 Aug 11 2010 lrmus.msb oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/oracore/mesg> gunzip expus.msb.gz gunzip: expus.msb.gz: No such file or directory oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/oracore/mesg> cd .. oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/oracore> cd .. oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0> cd rdbms/mesg oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip expus.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll expus.msb -rw-r--r-- 1 oraccbs1 dba 17408 Sep 4 2010 expus.msb oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip ocius.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip oraus.msb.gz oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll ocius.msb -rw-r--r-- 1 oraccbs1 dba 27136 Sep 4 2010 ocius.msb oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll oraus.msb -rw-r--r-- 1 oraccbs1 dba 1092608 Oct 9 2012 oraus.msb oraccbs1@ebsmed08:/opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> exp Export: Release 11.2.0.2.0 - Production on Thu May 8 10:40:19 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Username: opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll expus.msb* -rw-r--r-- 1 oraccbs1 dba 5817 Sep 4 2010 expus.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll ocius.msb* -rw-r--r-- 1 oraccbs1 dba 9193 Sep 4 2010 ocius.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll oraus.msb* -rw-r--r-- 1 oraccbs1 dba 352792 Oct 9 2012 oraus.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/oracore/mesg> ll lrmus.msb* -rw-r--r-- 1 oraccbs1 dba 4608 Aug 11 2010 lrmus.msb 不知道怎么回事,这几个文件竟然被压缩了,使用gunzip来解压一下 /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip expus.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll expus.msb -rw-r--r-- 1 oraccbs1 dba 17408 Sep 4 2010 expus.msb /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip ocius.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> gunzip oraus.msb.gz /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll ocius.msb -rw-r--r-- 1 oraccbs1 dba 27136 Sep 4 2010 ocius.msb /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> ll oraus.msb -rw-r--r-- 1 oraccbs1 dba 1092608 Oct 9 2012 oraus.msb 再次尝试。发现就没有问题了。 /opt/app/oracle/dbccbspr1/product/11.2.0/rdbms/mesg> exp Export: Release 11.2.0.2.0 - Production on Thu May 8 10:40:19 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Username: 后续的问题就是继续来测试,查看有没有其他潜在的问题了。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区