对Oracle导出文件错误和DMP文件结构的分析,EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier

BLOG_Oracle_lhr_imp-00051,imp-00008 立即下载

EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier

 

原因:oracle版本不一样

 

执行

C:/>EXP plx/plx@orcl  FILE=c:/plx.dmp TABLES=(s,sc,c)

结果报错

Export: Release 11.1.0.6.0 – Production on 星期日 7月 26 12:42:19 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 UTF8 NCHAR 字符集
服务器使用 UTF8 字符集 (可能的字符集转换)

即将导出指定的表通过常规路径…
. . 正在导出表                               S
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: “MAXSIZE”: invalid identifier
. . 正在导出表                              SC
EXP-00008: 遇到 ORACLE 错误 1003
ORA-01003: no statement parsed
. . 正在导出表                               C
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: “MAXSIZE”: invalid identifier
EXP-00008: 遇到 ORACLE 错误 942
ORA-00942: table or view does not exist
EXP-00024: 未安装导出视图, 请通知您的 DBA
EXP-00000: 导出终止失败

 

很诡异,从来没见过的错误,怎么会报没有字段的错误呢。

于是Google(在技术资料方面BAIDU就是垃圾),

有个哥们说是数据字典丢了,我很诧异,我前几天在Oracle 10g Client下导出过了,怎么会丢失数据字典,还是半信半疑的执行了。

在服务器上执行

oracle@linux-lrn6:~> sqlplus sys/sys@orcl as sysdba

SQL >@/opt/oracle/product/10.2/db_1/rdbms/admin/catexp.sql

以重建数据字典。

 

建好了后,再次执行导出,还是不行。

但是我在服务器上执行同样的语句就可以。

于是我意识到可能是EXP版本问题,于是测试。

 

在一台11g的机器上运行一条SQL 检 测那个MAXSIZE是个什么列。

SQL > select distinct table_name from user_col_comments where column_name=’MAXSIZE’;

TABLE_NAME
————————————————————
EXU9STOU
EXU9PLB
EXU9PDSU
EXU9LBCPU
EXU9PDS
EXU9IXCP
CPOOL$
EXU9TBCPU
EXU9TBCP
EXU9STO
EXU9IXCPU

TABLE_NAME
————————————————————
DBA_CPOOL_INFO
EXU9TBS
EXU9PLBU
EXU9LBCP

 

然后在10g的服务器上运行同样的语句,没有返回行。可见MAXSIZE是11g在数据字典中新加的项,10g是没有的。

 

#10g
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL > desc sys.exu9tbs
名 称                                      是否为空? 类型
—————————————– ——– —————————-
ID                                        NOT NULL NUMBER
OWNER                                                CHAR(6)
NAME                                   NOT NULL VARCHAR2(30)
ISONLINE                                              VARCHAR2(7)
CONTENT                                              VARCHAR2(9)
INIEXT                                  NOT NULL NUMBER
SEXT                                    NOT NULL NUMBER
PCTINC                                 NOT NULL NUMBER
MINEXT                                 NOT NULL NUMBER
MAXEXT                                NOT NULL NUMBER
MINLEN                                                 NUMBER
DEFLOG                                 NOT NULL NUMBER
EXT_MGT                               NOT NULL NUMBER
ALLOC_TYPE                          NOT NULL NUMBER
BLOCKSIZE                            NOT NULL NUMBER

#11g
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 – Production
With the Partitioning, OLAP and Real Application Testing options

SQL > desc sys.exu9tbs
名 称                                      是否为空? 类型
—————————————– ——– ————————-
ID                                         NOT NULL NUMBER
OWNER                                                 CHAR(6)
NAME                                    NOT NULL VARCHAR2(30)
ISONLINE                                              VARCHAR2(7)
CONTENT                                              VARCHAR2(9)
INIEXT                                   NOT NULL NUMBER
SEXT                                     NOT NULL NUMBER
PCTINC                                  NOT NULL NUMBER
MINEXT                                  NOT NULL NUMBER
MAXEXT                                 NOT NULL NUMBER
MINLEN                                                  NUMBER
DEFLOG                                  NOT NULL NUMBER
EXT_MGT                                NOT NULL NUMBER
ALLOC_TYPE                            NOT NULL NUMBER
BLOCKSIZE                             NOT NULL  NUMBER
MAXSIZE                                                 NUMBER ———>问题在这里

 

所以,导入导出数据的时候,还是尽可能的版本统一,10g导10g 的,11g导11g的,免得不必要的麻烦。

 

好了,言归正传,分析DMP格式。

DMP是什么诡异格式?就是上面Oracle的EXP工具导出的备份文件的格式。

某次脑子发烧用gVim打开DMP猛然发现它就是一些SQL , 令我非常诧异,于是发现了一些诡异的修改备份的方法,就是直接修改DMP文件。

 

下面我打开一个新鲜导出的备份文件,分析一下DMP的结构。

首先一打开DMP,最上面有几行这样的东西:

DPLX
RUSERS
8192
0
20
0

下面那些数字不要管,数据库的一些参数,DPLX就是导出的用户名,D是标识,PLX是用户名,EUSERS是默认表空间,E是标识,USERS是 表空间。

继续往下看,能看到这样的语句:

sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT(‘USERENV’,'CURRENT_SCHEMA’), export_db_name=>’ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM’, inst_scn=>’5603910′);

这个是建立模式的语句,原则上每个用户就是一个模式,Schema。

这上面这些东西,最好都不要改,改了要出事的,一般导入就不行了,会失效,因为DMP虽然大部分是明文SQL ,但是也有一部分是二进制的,改了这里会影响校验。

再往后看就有建表语句了,

CREATE TABLE “C” (“CNO” NUMBER(10, 0) NOT NULL ENABLE, “CNAME” VARCHAR2(20) NOT
NULL ENABLE, “CPNO” NUMBER(10, 0), “CCREDIT” NUMBER(3, 0) NOT NULL ENABLE)  PCTF
REE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREE
LIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE “USERS” LOGGING NOCOMPRESS

有时候导出的表空间混乱,就可以在黄色底色的那里改,替换成想要的表空间。

然后一个表下面就是插入数据的语句了:

INSERT INTO “C” (“CNO”, “CNAME”, “CPNO”, “CCREDIT”) VALUES (:1, :2, :3, :4)
再往下就是一堆二进制,就是要插入的数据,那个就改不了了,Oracle没有公开格式。

不过知道这些已经足以解决导入中的很多问题,尤其是表空间混乱的问题。

某大飞机数据库就非常混乱,一个ARJ用户模式(我没有泄密,公开的)下有来自ARJ,M3,USERS,SYSTEM等表空间的表,就是导入的时 候方法不正确。然后用上篇Oracle日志中取消权限的方法,也会有些表导不进去,这是Oracle的BUG,但是我这样改了以后,导入后想在哪个表空间 就哪个表空间。

用这种方法修改了某大飞机的两个数据库导出文件,导入到同一个用户模式下了,表空间全部统一,数据没有丢失,导入过程完全没用警告。

工业场景实战:基于YOLO与多格式标注的传送带异物检测数据集构建指南 本文详细介绍了基于YOLO与多格式标注的传送带异物检测数据集构建方法,涵盖数据采集、标注技巧(YOLO、COCO、VOC格式)、数据增强策略及实战案例。通过工业级解决方案,有效提升异物检测准确率与效率,适用于各类工业场景。 阅读详情

相关推荐

高分辨率航拍图像的目标检测切图优化策略

本文深入探讨了高分辨率航拍图像目标检测中的切图优化策略。针对大尺寸图像直接缩放导致小目标信息丢失的问题,文章详细阐述了基于重叠切割的核心方法,包括如何根据目标尺寸确定切图尺寸与重叠率,并提供了从切图到坐标还原的完整代码实现与避坑指南,有效提升检测精度与效率。

xk7n92h3p5m的博客 1113

IMP-00008错误

IMP-00008: 导出文件中出现无法识别的语句 今天从A机器的数据库导出了一个dmp文件,再导入到B机器的数据库.出现IMP-00008: 导出文件中出现无法识别的语句错误经检查两个机器的数据库版本是一样的,所以不存在版本不兼容的情况.再查A数据库的数据库字符集为AL32UTF8,nls_lang也为AL32UTF8而B机器的nls_lang为gbk而且B机器的数据库字符集也为gbk,觉得...

riipxa的博客 7036

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 710

EXP-00008: 遇到 ORACLE 错误 904

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Produc tion With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options 已导出 ZHS1

u014566910的专栏 1万+

自动驾驶中的多传感器融合实战:用卡尔曼滤波搞定毫米波雷达与摄像头航迹对齐

本文深入探讨了自动驾驶中多传感器融合的实战技术,重点介绍了如何使用卡尔曼滤波实现毫米波雷达与摄像头的航迹对齐。通过分析传感器特性差异、时空同步挑战及工程化实现步骤,提供了包括状态向量定义、观测矩阵设计和故障检测机制在内的完整解决方案,最终实现0.15米以内的高精度航迹对齐。

weixin_28728495的博客 410

步进电机原理及梯形加速算法

步进电机重理解与梯形加速算法

weixin_39912966的博客 1320

oracle 识别不了imp,Oracle数据库备份dmp文件导入异构系统报错:IMP-00008: 导出文件中出现无法识别的语句?...

在linux系统数据库上exp命令导出备份产生dmp文件,ftp下载到本地机器上(win10安装的Oracle),数据库版本相同,imp导入时报错:C:Windowssystem32>imp XXX/XXX file=C:UsershenryDocumentsXXXbak20200504.dmp full=y ignore=ybuffer=100000000Import: Release ...

weixin_30200131的博客 2787

手把手教你排查I2C通信故障:当上拉电阻配置不当会发生什么?

本文深入解析I2C通信中上拉电阻配置不当导致的常见故障,包括波形畸变和通信失败现象。通过示波器波形分析和系统化解决方案,帮助工程师快速诊断和优化I2C总线性能,特别适用于嵌入式系统和智能设备开发场景。

weixin_33725722的博客 340

exp报EXP-00008,ORA-00904的错误

操作系统版本:rhel 6.2 64 数据库版本:oracle11.2.0.3.0 执行exp的时候报ora-00904错误,也没提示到底是哪个标识错误,很是莫名。 exp xxx file=/home/orac...

congkuzhang2348的博客 426

ASPICE学习笔记

ASPICE的全称是Automotive SPICE。

汽车电子软件领域知识分享 1355

从 Junior 到 Lead:ABAP 开发者进阶路线图与真实项目练级法

本文拆解了ABAP工程师从初级到高级的成长路径,强调能力提升依赖于可复用经验的积累。对于初级开发者,建议夯实ABAP Dictionary、内表处理和数据库思维三大基础,培养数据流与规则层的结构化思维,并逐步掌握面向对象编程。中级阶段应注重代码可维护性,通过单元测试和Clean ABAP规范提升工程质量。文章指出,ABAP开发者需要学会筛选学习重点,建立知识地图,并重视团队协作中的代码可读性。关键在于将碎片知识整合为可迁移的模型,而非盲目追求新技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 171

(转)对Oracle导出文件错误和DMP文件结构的分析,EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier...

EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier 原因:oracle版本不一样 执行 C:/>EXP plx/plx@orcl FILE=c:/plx.dmp TABLES=(s,sc,c) 结果报错 Export: Release 11.1.0.6.0...

agnsm00804的专栏 243

MySQL操作之用户管理权限管理:(DC)(五)

一、简介 二、用户管理 2.1 User表 2.2 创建普通用户 2.3 删除普通用户 2.4 修改用户密码 2.5 解决root用户密码丢失 三、权限管理 3.1 MySQL的权限 3.2 授予权限 3.3 查看权限 3.4 收回权限

lydms的博客 4505

对Oracle导出文件错误和DMP文件结构的分析 EXP-00008 遇到 ORACLE 错误 904 ORA-009

对Oracle导出文件错误和DMP文件结构的分析 EXP-00008 遇到 ORACLE 错误 904 ORA-009

qq_43679720的博客 1049

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

oracle 904 maxsize,EXP-00008: 遇到 ORACLE 错误 904 ORA-01003

今日导数据遇到一错误,记得之前也遇到过,但是没做记录,在此记一记,便于加深印象。使用exp导数据的时候,在本地连远程DB服务器执行如下语句:exp**/**@192.168.90.125/centerfile=....出现如下信息:连接到:OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-64bitProductionWit...

weixin_30552495的博客 275

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier

原因:oracle版本不一样   执行 C:/>EXP plx/plx@orcl  FILE=c:/plx.dmp TABLES=(s,sc,c) 结果报错 Export: Release 11.1.0.6.0 – Production on 星期日 7月 26 12:42:19 2009 Copyright (c) 1982, 2007, Oracle.  A

独孤求梦 9481

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

exp导出出现:ORA-00904: "POLTYP": invalid identifier 导出规则

  《exp导出出现:ORA-00904: : invalid identifier》:http://blog.itpub.net/23135684/viewspace-1336722/   exp导出老是出现ORA-00904: "POLTYP": invalid identifier可能有两个原因:1).服务器和客户端一个是x86bit的,一个是x86_64bit的安装程序。2).客户端和服务...

demonson的专栏 4193

11GR2客户端全库导出10GR2版本的数据库时报ORA-00904错误

今天在用11GR2客户端全库导出10GR2版本的数据库时报ORA-00904错误。 C:/>expuserid=system/manager@uatdb2file=full.dmp full=y buffer=10485760 Export: Release 11.2.0.1.0 - Production on 星期四 7月 29 10:24:05 2010 Copyright ...

yanghuidang 110

oracle报错imp报错00008,imp导入时遭遇IMP-00032,IMP-00008错误.

imp导入时遭遇IMP-00032,IMP-00008错误.最终是imp命令加buffer=100000000参数得以解决.下面是imp失败的日志文件内容连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Rea...

weixin_39848970的博客 4423

复制的oracle无法使用imp,Oracle数据库备份dmp文件导入异构系统报错:IMP-00008: 导出文件中出现无法识别的语句?...

在linux系统数据库上exp命令导出备份产生dmp文件,ftp下载到本地机器上(win10安装的Oracle),数据库版本相同,imp导入时报错:C:Windowssystem32>imp XXX/XXX file=C:UsershenryDocumentsXXXbak20200504.dmp full=y ignore=ybuffer=100000000Import: Release ...

weixin_39701288的博客 521

oracle 导入文件报错 导出文件中出现无法识别的语句:

Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.  mport: Release 10.2.0.1.0 - Production on 星期三 4月 25 13:55:52 2012 Copyright (c) 1982, 2005, Oracle.  All rights reserved. 连接到

weitongyixun的专栏 1万+

oracle imp时报IMP-00032,IMP-00008解决办法

oracle imp时报:       IMP-00032: SQL statement exceeded buffer length       IMP-00008: unrecognized statement in the export file解决办法:    将imp语句由         imp username/userpass@oraSID file=userdb_

BlueStar's Blog 3万+
上一篇: Windows下删除.svn文件夹的最简易方法
下一篇: 在Oracle数据库启动时提示没有权限 ora-01031:insufficient privileges
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值