`

一个imp问题

阅读更多
针对我惯常使用的针对两个它库导出文件datas.dmp(用户所有表的表定义及其内数据) 和 objects.sql(用户的所有对象,包括表、视图、sequence等) 做的导入工作,记得导入的时候先cmd命令行下imp dmp文件,再sql命令行下@ sql文件


F:\>imp aplusempty/aplusempty@uwaysoft file=aplus.dmp

Import: Release 10.2.0.1.0 - Production on 星期二 6月 9 11:54:45 2009

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 创建的导出文件

警告: 这些对象由 APLUS 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 APLUS 的对象导入到 APLUSEMPTY
成功终止导入, 没有出现警告。


提示成功终止导入,可是表结构并没有被导入到aplusempty中!参考这里:http://database.e800.com.cn/articles/2008/821/1219264401137755664_1.html

F:\>imp aplusempty/aplusempty@uwaysoft full=y file=aplus.dmp

Import: Release 10.2.0.1.0 - Production on 星期二 6月 9 11:58:10 2009

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 创建的导出文件

警告: 这些对象由 APLUS 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 APLUS 的对象导入到 APLUSEMPTY
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "SCHOOLTYPE" ("ID" NUMBER(6, 0) NOT NULL ENABLE, "SCHOOLNAME" "
"VARCHAR2(100), "INSERT_DATE" TIMESTAMP (6), "UPDATE_DATE" DATE)  PCTFREE 10"
" PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREEL"
"IST GROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'USERS' 无权限
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "T_AVATAR" ("AVATAR_ID" VARCHAR2(32) NOT NULL ENABLE, "AVATAR_"
"URL" VARCHAR2(32), "ISCUSTOM" VARCHAR2(1), "USER_ID" VARCHAR2(32), "INSERT_"
"DATE" TIMESTAMP (6), "UPDATE_DATE" DATE)  PCTFREE 10 PCTUSED 40 INITRANS 1 "
"MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POO"
"L DEFAULT)                    LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'USERS' 无权限
IMP-00017: 由于 ORACLE 错误 1950, 以下语句失败:
"CREATE TABLE "T_CLASSROOM_HY" ("CLASSROOM_ID" VARCHAR2(32) NOT NULL ENABLE,"
" "CLASS_NUMBER" VARCHAR2(32), "SUB_SCHOOL_ID" VARCHAR2(32), "STATUS" NUMBER"
"(10, 0) NOT NULL ENABLE, "ADDRESS" VARCHAR2(120), "AMOUNT" NUMBER(10, 0) NO"
"T NULL ENABLE, "SEQ" VARCHAR2(255), "CLASSROOM_NUMBER" VARCHAR2(255) NOT NU"
"LL ENABLE, "NAME" VARCHAR2(60), "INSERT_DATE" TIMESTAMP (6), "UPDATE_DATE" "
"DATE, "USE_HOUR_COUNT" FLOAT(126), "USE_DAY_COUNT" NUMBER(3, 0), "COLUMN_CO"
"UNT" NUMBER(3, 0), "ROW_COUNT" NUMBER(3, 0), "IS_RECORD" NUMBER, "SCHOOLTYP"
"E" NUMBER(6, 0))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INI"
"TIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)              "
"      LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1950
ORA-01950: 对表空间 'USERS' 无权限
.
.
.
成功终止导入, 但出现警告。


于是:
SQL> conn sys/sys@uwaysoft as sysdba;
SQL> alter user aplustest1 default tablespace users quota 20 M on users;



再次imp,结果又出现:
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件

警告: 这些对象由 AJIA 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 AJIA 的对象导入到 APLUSTEST1
. 正在将 AJIA 的对象导入到 APLUSTEST1
IMP-00017: 由于 ORACLE 错误 1536, 以下语句失败:
 "ALTER TABLE "T_COURSE_RECORD_HY" ADD  PRIMARY KEY ("ID") USING INDEX PCTFRE"
 "E 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 4194304 FREELISTS 1 FREELIST G"
 "ROUPS 1 BUFFER_POOL DEFAULT)                    LOGGING ENABLE"
IMP-00003: 遇到 ORACLE 错误 1536
ORA-01536: 超出表空间 'USERS' 的空间限额
IMP-00017: 由于 ORACLE 错误 1536, 以下语句失败:
 "CREATE TABLE "T_ENCOURAGE_INFO_HY" ("ID" VARCHAR2(32) NOT NULL ENABLE, "ARC"
 "HIVE_NUMBER" VARCHAR2(32) NOT NULL ENABLE, "STUDENT_NAME" VARCHAR2(32), "NA"
 "ME" VARCHAR2(100), "RANK" VARCHAR2(100), "WIN_DATE" DATE, "REMARK" VARCHAR2"
 "(100), "RECORD_NUM" VARCHAR2(255), "UPDATE_DATE" DATE, "DEL_STATUS" VARCHAR"
 "2(2), "SCHOOLTYPE" NUMBER(6, 0))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS"
 " 255 STORAGE(INITIAL 2097152 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFA"
 "ULT)                    LOGGING NOCOMPRESS"
IMP-00003: 遇到 ORACLE 错误 1536
ORA-01536: 超出表空间 'USERS' 的空间限额
IMP-00017: 由于 ORACLE 错误 1536, 以下语句失败:
...
...
...



于是执行:
SQL> alter user aplustest1 quota unlimited on users;



经过上述折腾后,执行下面的语句,导入成功:
CMD>imp aplustest2/aplustest2@uwaysoft full=y file=f:\aplus_script_norows.dmp




imp时还可能会出这个问题:
ora-00959:表空间 'AAA '不存在
解决办法:
1 创建对应的表空间:
//创建临时表空间 
create temporary tablespace test_temp 
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' 
size 32m 
autoextend on 
next 32m maxsize 2048m 
extent management local; 

//创建数据表空间 
create tablespace test_data 
logging 
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf' 
size 32m 
autoextend on 
next 32m maxsize 2048m 
extent management local; 

//删除表空间
drop tablespace GHMES including contents and datafiles;


2 导到不同的表空间中?正确的解决办法该是这样的;但我没找到导到已存在的表空间中的办法。


又一个导出问题:
引用
EXP-00091: 正在导出有问题的统计信息

出这个问题不用管,是本地操作系统的字符集和数据库的字符集不一致导致,不会对之后的imp造成数据影响。若想解决,可改变自己操作系统的字符集:
http://blog.csdn.net/jsjhuage/archive/2009/10/18/4695581.aspx
http://happymen001.iteye.com/blog/554724
可在导入导出时加参数statistics=none(如exp scott/tiger file=scott.emp statistics=none)不让orale导入导出时报这个问题


后来又出现错误:IMP-00041: 警告: 创建的对象带有编译警告
分享到:
评论

相关推荐

    BLOG_Oracle_lhr_imp-00051,imp-00008

    IMP(Import)是 Oracle 数据库中的一个实用工具,用于将数据从一个数据库导入到另一个数据库中。IMP 命令可以从导出文件中读取数据,并将其导入到目标数据库中。但是,在使用 IMP 命令时,可能会遇到一些错误,例如...

    oracle Imp导入数据

    IMP 命令是 Oracle 数据库中的一种数据导入工具,主要用于将数据从一个 Oracle 数据库导入到另一个 Oracle 数据库中。然而,在使用 IMP 命令导入数据时,经常会碰到乱码问题,即导入的数据中出现乱码或问号,导致...

    Oracle10g-10.1.0.2客户端的imp.exe文件

    在Oracle环境中,数据导入工具(imp.exe)与数据导出工具(exp.exe)是两个非常关键的实用程序,它们允许用户将数据从一个数据库移动到另一个数据库,或者备份和恢复数据。在Oracle10g中,这两个工具得到了进一步的...

    oracleClient安装包exp和imp文件.zip

    综上所述,"oracleClient安装包exp和imp文件.zip"提供了一个完整的Oracle客户端环境,结合EXP和IMP工具,用户可以高效地管理和迁移数据库数据,这对于数据库管理员和开发者来说是非常有价值的资源。

    IMP-00009:异常结束导出文件解决方案.docx

    在Oracle数据库管理过程中,经常会遇到数据迁移的需求,其中一个常见的操作就是使用`exp`命令将表数据导出为一个文件,再使用`imp`命令将这个文件中的数据导入到另一个数据库或用户下。然而,在实际操作中可能会遇到...

    IMP-00010:不是有效的导出文件,头部验证失败

    标题“IMP-00010:不是有效的导出文件,头部验证失败”涉及的是Oracle数据库导入(IMP)过程中遇到的一个常见错误。这个错误通常发生在尝试使用IMP工具从.dmp文件导入数据时,表明导入文件可能已损坏或不完整,导致...

    ORACLE的EXP和IMP

    IMP 的 BUFFER 参数定义了每一次读取导出文件的缓冲区大小。增大 BUFFER 参数值可以提高导入速度。 2. 不使用 COMMIT 参数 使用 COMMIT 参数可以在导入过程中提交当前的更改。但是,这可能会导致许多问题,例如...

    Oracle中如何使用imp语句导入不同表空间?

    在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能...使用本文方法可将exp导出的数据用imp导入不同的表空间,从而有效解决此问题。

    EXP_IMP EXP_IMP

    6. **Note 709389**:这是一个SAP的注释,针对SAP视图加载期间的问题提供解决方案。遵循此注释的指导可以帮助解决导入过程中可能出现的特定错误。 7. **重建OPS$用户**:OPS$用户是Oracle数据库中的一种特殊用户,...

    Oracle expimp,备份或导入时注意的事项

    exp(Export)用于导出数据库中的对象和数据,而imp(Import)则用于将这些导出的数据导入到另一个数据库中。在实际操作中,由于各种原因,可能会遇到一些问题,下面将详细讨论在使用exp/imp时需要注意的事项。 ...

    将excel文件用impexp32导入到oracle中.zip_ImpExp32_oracle_sql_txt

    例如,你可以使用CREATE TABLE语句创建一个新表,然后使用INSERT INTO语句将txt文件的数据插入到表中。如果数据量大,可能还需要考虑使用BULK INSERT或SQL*Loader等批量导入工具,以提高效率。 4. **数据处理**:在...

    oracle 10g imp.exe文件

    Oracle 10g是Oracle数据库的一个重要版本,其在企业级数据管理中有着广泛的应用。"imp.exe"是Oracle Data Pump导入工具的一部分,用于将数据从导出文件(dmp文件)恢复到数据库中。当你遇到"imp.exe已停止工作"的...

    oracle9i的EXP和IMP

    Oracle 9i数据库系统是Oracle公司的一个重要版本,它提供了许多功能来支持数据管理,其中包括数据导入(IMP)和导出(EXP)工具。这两个工具是数据库管理员进行数据迁移、备份和恢复操作的关键组件。 **EXP(Export...

    imp与exp的注意事项

    另一个需要注意的点是版本兼容性。在进行数据迁移时,应尽量使用较低版本的`exp`进行导出,然后在目标数据库上使用相应版本或更高版本的`imp`进行导入。这是因为高版本的`exp`可能无法识别或处理低版本数据库中的...

    Oracle-ImpExp

    总的来说,Oracle-ImpExp作为一个第三方工具,可能是对Oracle原生Data Pump工具的一个补充,它提供了更易用的界面或特定功能,帮助用户更轻松地完成Oracle数据库的数据迁移工作。理解和熟练掌握这些工具的使用,对于...

    Oracle数据库中imp导入数据

    - **使用IMP工具导入数据**:假设有一个名为`mydata.dmp`的数据文件需要导入到新建的数据库中,可以使用以下命令来进行导入: ```bash host imp myadmin/admin@mydb fromuser=myadmin touser=myadmin file=e:\...

    imp调优技巧

    管道是从一个程序进程向另一个程序进程单向传送信息的技术。使用管道可以直接生成最终的压缩文件,所耗费的时间和不压缩直接导出的时间相当。这样一来,不仅能够解决磁盘空间不足的问题,而且省去了单独压缩文件的...

    Oracle数据导入导出技巧之imp/exp命令

    例如,下面是一个简单的参数文件示例: ```ini FROMUSER=源用户 TOUSER=目标用户 ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y BUFFER=409600 file=/path/to/file.dmp log=/path/to/logfile.log ``` - **...

    Oracle数据导入导出impexp.txt

    下面是一个实际操作的例子,展示了如何使用 `imp` 命令导入数据: ``` imp userid=test/test full=y file=inner_notify.dmp ``` 此命令表示将 inner_notify.dmp 文件中的所有数据导入 test 用户所在的数据库中,...

Global site tag (gtag.js) - Google Analytics