0

0

IMP同库Type对象导入报错ORA-02304

php中文网

php中文网

发布时间:2016-06-07 17:15:24

|

2457人浏览过

|

来源于php中文网

原创

Type是我们经常使用的数据库对象结构。我们在实际中,可以单独定义type类型,之后在PL/SQL代码或者数据表中使用。 在一个偶然的机

Type是我们经常使用的数据库对象结构。我们在实际中,可以单独定义type类型,之后在PL/SQL代码或者数据表中使用。
 
在一个偶然的机会让笔者发现使用Type类型在数据exp/imp中的麻烦。当我们使用exp/imp工具进行同数据库实例(Instance)不同Schema之间数据拷贝时,如果Schema中有type类型,就会出现问题错误。
 
具体我们还是通过一系列的实验进行证明。

1、实验环境准备
 
我们使用10gR2作为实验数据库。
 
 
SQL> conn scott/tiger@ots;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as scott
 
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE       10.2.0.1.0        Production
 
 
我们首先将scott用户schema的所有对象导出。注意,当前scott下存在一些数据type对象。
 
 
SQL> select type_name, type_oid, typecode from user_types;
 
TYPE_NAME                     TYPE_OID                        TYPECODE
------------------------------ -------------------------------- ------------------------------
CUST_ADDRESS_TYPE_NEW         0239FC5ABD78464D8D6C4D7085E2F549 OBJECT
T_REC_TEST                    428A1B3C7E1E4A3CB2063B93623693EA OBJECT
T_REC_TABLE                   D9AFD3FAE0A54964B1684CA28C69CEED COLLECTION
T_TYP                         8E294AB7CC28493A94FF82791A376379 OBJECT
N_TYP                         338172B836854BAB8C26D4C27B5908F1 OBJECT
 
 
在Oracle中,每一个type都会分配出唯一的oid编号,作为一种内部标志。下面,我们使用exp工具将scott用户对象导出。
 
 
D:\>exp scott/tiger@ots file=scott_20120606.dmp indexes=y rows=y compress=y cons
traints=y wner=scott
 
Export: Release 10.2.0.1.0 - Production on星期三6月6 17:22:16 2012
Copyright (c) 1982, 2005, 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字符集和AL16UTF16 NCHAR字符集
 
即将导出指定的用户...
.正在导出pre-schema过程对象和操作
.正在导出用户SCOTT的外部函数库名
.导出PUBLIC类型同义词
.正在导出专用类型同义词
.正在导出用户SCOTT的对象类型定义
(篇幅原因,部分省略……)
成功终止导出,没有出现警告。
 
D:\>
 
 
之后,我们创建同数据库用户scottback。
 
 
SQL> create user scottback identified by scottback;
User created
 
SQL> grant resource to scottback;
Grant succeeded
 
SQL> grant connect to scottback;
Grant succeeded
 
SQL> grant exp_full_database to scottback;
Grant succeeded
 
SQL> grant imp_full_database to scottback;
Grant succeeded
 
 
2、数据导入
 
当我们试图将数据导入到相同数据库时,出现报错。
 
 
D:\>imp scottback/scottback@ots file=scott_20120606.dmp indexes=y rows=y constra
ints=y ignore=y fromuser=scott touser=scottback
 
Import: Release 10.2.0.1.0 - Production on星期三6月6 17:34:21 2012
 
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
 
经由常规路径由EXPORT:V10.02.01创建的导出文件
 
警告:这些对象由SCOTT导出,而不是当前用户
 
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR字符集中的导入
IMP-00017:由于ORACLE错误2304,以下语句失败:
 "CREATE TYPE "T_REC_TEST" TIMESTAMP '2010-12-21:18:17:30' OID '428A1B3C7E1E4"
 "A3CB2063B93623693EA'  as object("
 "id number);"
 ""
 ""
IMP-00003:遇到ORACLE错误2304
ORA-02304:无效的对象标识符文字
IMP-00017:由于ORACLE错误2304,以下语句失败:
 "CREATE TYPE "T_REC_TABLE" TIMESTAMP '2010-12-21:18:17:33' OID 'D9AFD3FAE0A5"
 "4964B1684CA28C69CEED'  as table of t_rec_test;"
 ""
 ""
IMP-00003:遇到ORACLE错误2304
ORA-02304:无效的对象标识符文字
IMP-00017:由于ORACLE错误2304,以下语句失败:
 "CREATE TYPE "T_TYP" TIMESTAMP '2012-03-07:10:47:03' OID '8E294AB7CC28493A94"
 "FF82791A376379'  as object (id number);"
 ""
 ""
IMP-00003:遇到ORACLE错误2304
ORA-02304:无效的对象标识符文字
IMP-00017:由于ORACLE错误2304,以下语句失败:
 "CREATE TYPE "N_TYP" TIMESTAMP '2012-03-07:11:03:01' OID '338172B836854BAB8C"
 "26D4C27B5908F1'  as object (t_id number,t_name varchar2(10),t_addr varchar"
 "2(20));"
 ""
 ""
IMP-00003:遇到ORACLE错误2304
ORA-02304:无效的对象标识符文字
IMP-00017:由于ORACLE错误2304,以下语句失败:
 "CREATE TYPE "CUST_ADDRESS_TYPE_NEW" TIMESTAMP '2012-05-23:16:15:03' OID '02"
 "39FC5ABD78464D8D6C4D7085E2F549'  as object"
 "(street_address varchar2"
 "(40),"
 "postal_code varchar2(10)"
 ",city varchar2(30)"
 ",state_province varchar2(10)"
 ",country_id char(2)"
 ");"
 ""
 ""
IMP-00003:遇到ORACLE错误2304
ORA-02304:无效的对象标识符文字
(篇幅原因,部分省略…..)
 
ORA-02270:此列列表的唯一或主键不匹配
即将启用约束条件...
成功终止导入,但出现警告。
 
 
从日志信息上,,我们看到在创建type类型变量的时候,Oracle报错2304。利用oerr工具,我们可以检查错误信息。
 
 
[oracle@bspdev ~]$ oerr ora 2304
02304, 00000, "invalid object identifier literal"
// *Cause: An attempt was made to enter an object identifier literal for
//         CREATE TYPE that is either:
//         - not a string of 32 hexadecimal characters
//         - an object identifier that already identifies an existing
//               object
//         - an object identifier different from the original object
//                identifier already assigned to the type
// *Action: Do not specify the object identifier clause or specify a 32
//         hexadecimal-character object identifier literal that is unique
//         or identical to the originally assigned object identifier. Then
//         retry the operation.
 
 
 
从字面的情况看,是创建type的命令语句出现错误。从脚本的信息上,的确显示的script中创建type的语句是很特殊,中间有timestamp和oid信息。而且与原来schema中的相对应。

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 生态工具与框架:扩展开发能力
Golang 生态工具与框架:扩展开发能力

《Golang 生态工具与框架》系统梳理 Go 语言在实际工程中的主流工具链与框架选型思路,涵盖 Web 框架、RPC 通信、依赖管理、测试工具、代码生成与项目结构设计等内容。通过真实项目场景解析不同工具的适用边界与组合方式,帮助开发者构建高效、可维护的 Go 工程体系,并提升团队协作与交付效率。

1

2026.02.24

Golang 性能优化专题:提升应用效率
Golang 性能优化专题:提升应用效率

《Golang 性能优化专题》聚焦 Go 应用在高并发与大规模服务中的性能问题,从 profiling、内存分配、Goroutine 调度、GC 机制到 I/O 与锁竞争逐层分析。结合真实案例讲解定位瓶颈的方法与优化策略,帮助开发者建立系统化性能调优思维,在保证代码可维护性的同时显著提升服务吞吐与稳定性。

2

2026.02.24

Golang 面试题精选:高频问题与解答
Golang 面试题精选:高频问题与解答

Golang 面试题精选》系统整理企业常见 Go 技术面试问题,覆盖语言基础、并发模型、内存与调度机制、网络编程、工程实践与性能优化等核心知识点。每道题不仅给出答案,还拆解背后的设计原理与考察思路,帮助读者建立完整知识结构,在面试与实际开发中都能更从容应对复杂问题。

1

2026.02.24

Golang 运行与部署实战:从本地到云端
Golang 运行与部署实战:从本地到云端

《Golang 运行与部署实战》围绕 Go 应用从开发完成到稳定上线的完整流程展开,系统讲解编译构建、环境配置、日志与配置管理、容器化部署以及常见运维问题处理。结合真实项目场景,拆解自动化构建与持续部署思路,帮助开发者建立可靠的发布流程,提升服务稳定性与可维护性。

3

2026.02.24

Golang 疑难杂症解决指南:常见问题排查与优化
Golang 疑难杂症解决指南:常见问题排查与优化

《Golang 疑难杂症解决指南》聚焦开发过程中常见却棘手的问题,从并发模型、内存管理、性能瓶颈到工程化实践逐步拆解。通过真实案例与调试思路,帮助开发者定位问题根因,建立系统化排查方法。不只给出答案,更强调分析路径与工具使用,让你在复杂 Go 项目中具备持续解决问题的能力。

1

2026.02.24

Golang 入门学习路线:从零基础到上手开发
Golang 入门学习路线:从零基础到上手开发

Golang 入门路线涵盖从零到上手的核心路径:首先打牢基础语法与切片等底层机制;随后攻克 Go 的灵魂——接口设计与 Goroutine 并发模型;接着通过 Gin 框架与 GORM 深入 Web 开发实战;最后在微服务与云原生工具开发中进阶,旨在培养具备高性能并发处理能力的后端工程师。

0

2026.02.24

中国研究生招生信息网官方网站入口 研招网网页版在线入口
中国研究生招生信息网官方网站入口 研招网网页版在线入口

中国研究生招生信息网入口(https://yz.chsi.com.cn) 此网站是研究生报名入口的唯一官方网站

95

2026.02.24

苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法
苹果官网入口与在线访问指南_中国站点快速直达与iPhone查看方法

本专题汇总苹果官网最新可用入口及中国站点访问方式,涵盖官网直达链接、iPhone官方页面查看方法与常见访问说明,帮助用户快速进入苹果官方网站,便捷了解产品信息与官方服务。

14

2026.02.24

Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址
Asianfanfics官网入口与访问指南_AFF官方平台最新登录地址

本专题系统整理Asianfanfics(AFF)官方网站最新可用入口,涵盖官方平台最新直达地址、官网登录方式及中文访问指引,帮助用户快速、安全地进入AFF平台浏览与使用相关内容。

15

2026.02.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.5万人学习

SQL 教程
SQL 教程

共61课时 | 4万人学习

C 教程
C 教程

共75课时 | 4.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号