生产系统中EXP-00000的问题及解决

简介: 早上刚来的时候,客户的dba就急忙找到我说生产系统exp出问题了。exp的时候报了错误,让我帮着看一下。 >  exp xxxxx file=tui.dmp log=xxx.
早上刚来的时候,客户的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: 

后续的问题就是继续来测试,查看有没有其他潜在的问题了。






目录
相关文章
|
23天前
|
数据可视化 Serverless API
Python风险价值计算投资组合VaR(Value at Risk )、期望损失ES(Expected Shortfall)
Python风险价值计算投资组合VaR(Value at Risk )、期望损失ES(Expected Shortfall)
|
23天前
|
Python Serverless API
Python风险价值计算投资组合VaR、期望损失ES
Python风险价值计算投资组合VaR、期望损失ES
Python风险价值计算投资组合VaR、期望损失ES
|
4月前
|
存储 监控 安全
LIS系统-实现检验报告集中管理
LIS系统-实现检验报告集中管理
76 0
SAP PM IW33里查看维护订单相关的检验批
SAP PM IW33里查看维护订单相关的检验批
SAP PM IW33里查看维护订单相关的检验批
SAP PM入门系列3 - 设备主数据里无‘检验类型‘栏位,那何处定义维护订单可以触发检验批?
SAP PM入门系列3 - 设备主数据里无‘检验类型‘栏位,那何处定义维护订单可以触发检验批?
149 0
SAP PM入门系列3 - 设备主数据里无‘检验类型‘栏位,那何处定义维护订单可以触发检验批?
SAP PP 系统怎么知道某个工单release触发的过程中检验的检验类型是03?
SAP PP 系统怎么知道某个工单release触发的过程中检验的检验类型是03?
SAP PP 系统怎么知道某个工单release触发的过程中检验的检验类型是03?
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(一)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)
SAP QM 含有Long-term检验特性的检验批UD完成后还能继续录入检验结果?(二)