数据的导入
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
imp yszx/yszx@swimming file=d:\nulldb.dmp ignore=y
 2 将d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1) 
 imp yszx/yszx@swimming  file=E:\zbadjust\DataBak2006.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y 
 
 基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。

解决方案 »

  1.   

    ****************使用"imp80.exe"命令导入****************
    C:\orant\BIN>imp80 help=yImport: Release 8.0.5.0.0 - Production on 星期二 5月 31 16:7:36 2005(c) Copyright 1998 Oracle Corporation.  All rights reserved.可以通过输入 IMP 命令和您的用户名/口令
    按照"导出"提示键入参数:实例:IMP SCOTT/TIGER或者, 可以通过输入 IMP 命令和各种自变量来控制"导入"
    导入的运行方式。要指定参数,您可以使用关键字:格式:IMP KEYWORD=value or KEYWORD=(value1,value2,...,vlaueN)
    实例:IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
    或 TABLES=(T1:P1,T1:P2),如果 T1 是分区表USERID 必须是命令行中的第一个参数。关键字  说明(默认)        关键字      说明(默认)
    --------------------------------------------------------------------------
    USERID   用户名/口令           FULL         导入整个文件 (N)
    BUFFER   数据缓冲区大小         FROMUSER     所有人用户名列表
    FILE     输入文件 (EXPDAT.DMP)     TOUSER       用户名列表
    SHOW     只列出文件内容 (N) TABLES      表名列表
    IGNORE   忽略创建错误 (N)    RECORDLENGTH  IO 记录的长度
    GRANTS  导入权限 (Y)           INCTYPE      增量导入类型
    INDEXES 导入索引 (Y)          COMMIT       提交数组插入 (N)
    ROWS    导入数据行 (Y)        PARFILE      参数文件名
    LOG      屏幕输出的日志文件
    DESTROY  覆盖表空间数据文件 (N)
    INDEXFILE 将表/索引信息写入指定的文件
    CHARSET  导出文件的字符集 (NLS_LANG)
    POINT_IN_TIME_RECOVER   表空间时间点恢复 (N)
    SKIP_UNUSABLE_INDEXES 跳过未使用索引的维护 (N)
    ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)
    FEEDBACK 显示每 x 行 (0) 的进度成功终止导入,但出现警告。/*完整导入备份文件*/
    C:\orant\BIN>imp80 username/password file=d:\temp\test.dmp full=yImport: Release 8.0.5.0.0 - Production on 星期二 5月 31 16:10:8 2005(c) Copyright 1998 Oracle Corporation.  All rights reserved.
    已连接到:Oracle8 Release 8.0.5.0.0 - Production
    PL/SQL Release 8.0.5.0.0 - Production经由常规路径导出由EXPORT:V08.00.05创建的文件
    . 正在将username的对象导入到 username
    . . 正在导入表                   "TB_PHONE_NO"       2096行被导入
    IMP-00015: 由于对象已存在,以下的语句失败:
     "CREATE TABLE "TB_SRC" ("PHONE_NO" VARCHAR2(15))  PCTFREE 10 PCTUSED 40 INIT"
     "RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 1054720 NEXT 1054720 MINEXTENTS"
     " 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER"
     "_POOL DEFAULT) TABLESPACE "USER_DATA""
    准备启用约束条件...
    成功终止导入,但出现警告。C:\orant\BIN>
    /*不完整导入,只导入备份文件中的部分表*/
    C:\orant\BIN>imp80 username/password file=d:\temp\test.dmp full=n tables=(tb_src)Import: Release 8.0.5.0.0 - Production on 星期二 5月 31 16:12:39 2005(c) Copyright 1998 Oracle Corporation.  All rights reserved.
    已连接到:Oracle8 Release 8.0.5.0.0 - Production
    PL/SQL Release 8.0.5.0.0 - Production经由常规路径导出由EXPORT:V08.00.05创建的文件
    . 正在将username的对象导入到 username
    . . 正在导入表                        "TB_SRC"          0行被导入
    成功终止导入,但出现警告。/*------------------------------------------------------------------------------------------------------------*/
      

  2.   

    imp system/manager@TEST  file=d:\daochu.dmp
    请问,其中的用户名和密码是指新数据库的还是旧数据库的?
      

  3.   

    imp system/manager@TEST  file=d:\daochu.dmp
    请问,其中的用户名和密码是指新数据库的还是旧数据库的?是新数据库的
      

  4.   

    1. 首先在新数据库中创建用户b,密码password
    2. 导入备份的数据: 
       imp b/password@a1的连接字符串 file = 'd:\ym.dmp' fromuser = b touser = b log = 'd:\ymimp.log' ignore=y