生产系统中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 条评论
登录 后参与评论

相关文章

来自专栏bboysoul

linux编译安装apache

wget http://mirrors.ustc.edu.cn/apache/httpd/httpd-2.4.25.tar.gz tar -zxvf http...

853
来自专栏Linux运维学习之路

Docker容器技术

Docker介绍 什么是容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像运行,并由该镜像提供支持进程所需的全部文件。 容器镜像包含了应用...

3207
来自专栏杨建荣的学习笔记

10g,11g中的数据库克隆安装(r6笔记第7天)

有时候在很多工作环境中,如果彼此几个机器的配置相似,我们就可以不用一遍又一遍的安装数据库软件了,我们可以为了更快的完成安装工作,在静默安装,图形安装的选择之外,...

2968
来自专栏cs

oracle12c,各种问题解决方案

近来重装了计算机(双系统windows10+ubuntu16),顺带着也把software升级一下,结果安装最新的oracle12c,出现了一系列问题,我不喜...

3214
来自专栏大魏分享(微信公众号:david-share)

厉害了!全CI/CD工具链的实现 | 基于OCP离线: Openshift3.9学习系列第五篇

干货巨献:Openshift3.9的网络管理大全.加长篇---Openshift3.9学习系列第二篇

1684
来自专栏点点滴滴

windows平台KMS激活秘钥

1243
来自专栏bboysoul

使用devstack安装openstack

早就想用devstack去安装openstack了,但是自己的电脑内存才4g真的太小了,最近上了8g内存,果断开虚拟机装devstack。 devstack的...

873
来自专栏云计算

使用ACS和Kubernetes部署Red Hat JBoss Fuse

Red Hat JBoss Fuse十多年来一直是构建Java Web / RESTful服务的事实标准。但是,你该如何在当今以云为中心的世界中有效运行?如您所...

21610
来自专栏乐沙弥的世界

Failed to upgrade Oracle Cluster Registry configuration(root.sh)

    最近在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware执行/u01/app/crs/root.sh时收...

561
来自专栏杨建荣的学习笔记

由报警邮件分析发现的备库oracle bug(r7笔记第12天)

昨天到公司之后,收到两份封报警邮件,可以看到在早晨6:30左右主库的v$dataguard_status检查时发现了一个错误。然后再2分钟后就自动恢复了。 一般...

2466

扫码关注云+社区