9i 迁移11g IMP-00003:   ORA-00922:   IMP-00008:

windows  9i 迁移  AIX  11g

源数据库版本: windows 9i    9.2.0.8
新数据库版本: AIX     11g   11.2.0.4 

数据库字符集

源数据库版本: windows 9i    zhs16gbk        
新数据库版本: AIX     11g   zhs16gbk        

secureCRT 字符集  中文GB2312

$imp neto2_jn/neto fromuser=neto2 touser=neto2  file=jn.dmp log=jn.log 

Export file created by EXPORT:V10.02.01 via conventional path
import done in UTF8 character set and AL16UTF16 NCHAR character set
import server uses ZHS16GBK character set (possible charset conversion)
export client uses ZHS16GBK character set (possible charset conversion)
IMP-00017: following statement failed with ORACLE error 922:
 "CREATE TABLE "CLPF_申请单" ("ID" VARCHAR2(36), "IID" NUMBER,  
 "单位" VARCHAR2(255), "带人" VARCHAR2(255), "出任务" VARCHAR2(2"
 "55), " 开始时间" VARCHAR2(255), "申请型" VARCHAR2(255),  
 "注" VARCHAR2(2000), "INPUT_INDEX" NUMBER, "驾驶员电话" VARCHAR2(255),"
 " "人数" VARCHAR2(50), "数" VARCHAR2(50))  PCTFREE 10 PCTUSED 40 INITR"
 "ANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFF"
 "ER_POOL DEFAULT) TABLESPACE "NETO2_JN" LOGGING NOCOMPRESS"
 "ALTER TABLE "CLPF_申请单" MODIFY DEFAULT"

进行导入时,出现如下报错:

IMP-00003: ORACLE error 922 encountered
ORA-00922: missing or invalid option
IMP-00008: unrecognized statement in the export file: 

分析定位问题:

关于oracle字符集这里不再详述,由于exp/imp是客户端工具,在进行imp导入时涉及三方面的字符集

1. oracel server端的字符集;

2. oracle client端的字符集;

3. dmp文件的字符集。

在做数据导入的时候,需要这三个字符集都一致才不会发生异常错误,导入带有中文名称表的时候,NLS_LANG要设置一致

查询源数据库server端的字符集

SQL> select userenv(‘language‘) from dual;

USERENV(‘LANGUAGE‘)

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

查询数据库server端的字符集 

SQL>select userenv(‘language’) from dual;

AMERICAN_AMERICA.ZHS16GBK

源库和新库的NLS_LANG不一致,导致IMP带有中文名称的表时报错

这里临时更改NLS_LANG使得源库与新库NLS_LANG暂时一致,然后重新进行IMP导入

$export NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.ZHS16GBK‘
$imp neto2_jn/neto fromuser=neto2 touser=neto2  file=jn.dmp log=jn.log 

Import: Release 11.2.0.4.0 - Production on 星期五 2月 14 10:11:35 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Tes

经由常规路径由 EXPORT:V09.02.00 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 NETO2_JN 的对象导入到 NETO2_JN
. . 正在导入表               "CLZF_申请单"     导入了          12 行
. . 正在导入表                        "DB"     导入了           0 行
. . 正在导入表                "DT_工作日日志"  导入了          76 行
. . 正在导入表                "DT_YWMAsdtchS"  导入了         352 行
. . 正在导入表           "DT_YWKOIURAILS_2012" 导入了         352 行

小结:

在使用exp、imp这种客户端工具时,要检查、正确配置源库、新库的字符集,环境变量,终端字符集

9i 迁移11g IMP-00003:   ORA-00922:   IMP-00008:

时间: 2024-10-13 15:26:54

9i 迁移11g IMP-00003:   ORA-00922:   IMP-00008:的相关文章

oracle 9i 10g 11g 升级路线图

upgrade to 9R2 upgrade to 10g R2 upgrade to 11gR2

oracle database 9i/10g/11g 编程艺术 源代码下载

背景 在找这本书的源码,搜到提供的都是需要C币下载的.比较固执(其实是穷). 在这本书的前言中提到源代码可以在 www.appress.com 上下载. 下面是该书在该网站上的链接: https://www.apress.com/us/book/9781430229469 点击 Download source code 链接到 github,可以下载本书相关源代码. 原文地址:https://www.cnblogs.com/shulin-peng/p/9196776.html

EXP/IMP迁移数据

迁移数据 注意事项: Log= 加这个是为了看有没有导入成功.这个导入导出是会100%丢失数据的.这个只能当迁移,不能做为备份. Buffer=把这个放大,一般10M,这个是为了提速的 Rows=n 不导数据 字体集NLS 这个是必须要设置的. 数据坏了显示方式:??列宽度不够,这个是立刻报错的.我就知道迁移失败了 Select * from v$nls_database_parameters; Exp  system/sys  file=/oracle/qyl.dmp  owner=qyl  

oracle中imp命令具体解释

Oracle的导入有用程序(Import utility)同意从数据库提取数据,而且将数据写入操作系统文件.imp使用的基本格式:imp[username[/password[@service]]],下面例举imp经常使用用法. 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的所有表.索引和其它对象 imp system/m

oracle在imp订单具体解释

Oracle导入实用程序(Import utility)同意从数据库中提取数据,和写入数据到一个操作系统文件项目.imp所用的基本格式:imp[username[/password[@service]]],下面的例子imp经常使用法. 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的所有表.索引和其它对象 imp syste

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对比

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间移动对象 3.可以在数据库之间移动对象 4.可以实现表空间转移 二.EXPDP的命令详解 C:\Users\Administrator>20:42:32.90>expdp help=y Export: Release 11.2.0.1.0 - Production on 星期六 10月 10 09

oracle 导入imp 命令

最常用的      imp  name/[email protected]:1521/orcl[库] file="c:\123.dmp" full=y ignore=y. 例:imp abc/[email protected]:1521/orcl file = "c:\123.dmp" full=y ignore = y. oracle中imp命令详解 Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件.imp

Oracle之管理以及exp、imp的使用

oracle管理.备份与恢复 管理数据库的用户是sys.system,可以将sys比作董事长,system比作总经理,两者有如下区别 1.最重要的区别,存储的数据的重要性不一样 sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行 是至关重要的,由数据库自己维护,任何用户都不能手动更改.sys用户拥有dba.sysdba.sysoper 角色或权限,是oracle权限最高的用户 system:用于存放次一级的内部数据,如oracle的一些特性或

oracle中imp命令详解 .

oracle中imp命令详解 Oracle的导入实用程序(Import utility)允许从数据库提取数据,并且将数据写入操作系统文件.imp使用的基本格式:imp[username[/password[@service]]],以下例举imp常用用法. 1. 获取帮助 imp help=y 2. 导入一个完整数据库 imp system/manager file=bible_db log=dible_db full=y ignore=y 3. 导入一个或一组指定用户所属的全部表.索引和其他对象