exp/imp ... full=y
http://adionline.myrice.com/Jsp001_offline/jsp001_com/200.html

解决方案 »

  1.   

    0.在源端dos模式下exp ...
    1.在目标端中如c:\装入Oracle;
    2.create tablespace 用户表空间 ...;
    3.create public rollback segment ...;
    4.create user 用户 ...;
    5.grant ... ;
    6.dos模式下imp ... 。
      

  2.   

    E:\>exp help=y通过输入 EXP 命令和用户名/口令,您可以
    在用户 / 口令之后的命令:实例: EXP SCOTT/TIGER或者,您也可以通过输入跟有各种参数的 EXP 命令来控制“导出”的运行方式。
    要指定参数,您可以使用关键字:格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
    实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
    或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表USERID 必须是命令行中的第一个参数。关键字 说明(默认)
    ---------------------------------------------------
    USERID 用户名/口令
    FULL 导出整个文件 (N)
    BUFFER 数据缓冲区的大小
    OWNER 所有者用户名列表
    FILE 输出文件 (EXPDAT.DMP)
    TABLES 表名列表
    COMPRESS 导入一个范围 (Y)
    RECORDLENGTH IO 记录的长度
    GRANTS 导出权限 (Y)
    INCTYPE 增量导出类型
    INDEXES 导出索引 (Y)
    RECORD 跟踪增量导出 (Y)
    ROWS 导出数据行 (Y)
    PARFILE 参数文件名
    CONSTRAINTS 导出限制 (Y)
    CONSISTENT 交叉表一致性
    LOG 屏幕输出的日志文件
    STATISTICS 分析对象 (ESTIMATE)
    DIRECT 直接路径 (N)
    TRIGGERS 导出触发器 (Y)
    FEEDBACK 显示每 x 行 (0) 的进度
    FILESIZE 各转储文件的最大尺寸
    QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间
    TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
    TABLESPACES 将传输的表空间列表
    E:\>imp help=y可以通过输入 IMP 命令和您的用户名/口令
    跟有您的用户名 / 口令的命令:实例: IMP SCOTT/TIGER或者, 可以通过输入 IMP 命令和各种自变量来控制“导入”按照不同参数。
    要指定参数,您可以使用关键字:格式: IMP KEYWORD=value 或 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 屏幕输出的日志文件
    CONSTRAINTS 导入限制 (Y)
    DESTROY 覆盖表空间数据文件 (N)
    INDEXFILE 将表/索引信息写入指定的文件
    SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
    ANALYZE 执行转储文件中的 ANALYZE 语句 (Y)
    FEEDBACK 显示每 x 行 (0) 的进度
    TOID_NOVALIDATE 跳过指定类型 id 的校验
    FILESIZE 各转储文件的最大尺寸
    RECALCULATE_STATISTICS 重新计算统计值 (N)下列关键字仅用于可传输的表空间
    TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
    TABLESPACES 将要传输到数据库的表空间
    DATAFILES 将要传输到数据库的数据文件
    TTS_OWNERS 拥有可传输表空间集中数据的用户
      

  3.   

    不用那么麻烦,你完全可以用数据库克隆啊。快又简单。
    方法如下:1、将源数据库的数据文件都拷贝到目的机器上。(只拷贝数据文件,控制文件和日志文件就不要拷了。)
    2、c:>oradim -new -sid db1 -intpwd internal密码 -pfile init文件路径。(新建一数据库实例)
    3、c:>set oracle_sid=db1
    4、c:>svrmgrl
    5、svrmgrl>connect internal/密码
    6、svrmgrl>@d:\clonedb.sql
    clone.sql的脚本例子如下:
    STARTUP NOMOUNT Pfile=E:\Oradata\test1\inittest1.ora
    CREATE CONTROLFILE SET DATABASE "test1"  RESETLOGS NOARCHIVELOG
        MAXLOGFILES 32
        MAXLOGMEMBERS 2
        MAXDATAFILES 254
        MAXINSTANCES 1
        MAXLOGHISTORY 907
    LOGFILE
      GROUP 1 'E:\ORADATA\test1\REDO01.LOG'  SIZE 20M,
      GROUP 2 'E:\ORADATA\test1\REDO02.LOG'  SIZE 20M,
      GROUP 3 'E:\ORADATA\test1\REDO03.LOG'  SIZE 20M
    DATAFILE
      'E:\ORADATA\test1\SYSTEM01.DBF',
      'E:\ORADATA\test1\RBS01.DBF',
      'E:\ORADATA\test1\USERS01.DBF',
      'E:\ORADATA\test1\IFSAPP_DATA.DBF',
      'E:\ORADATA\test1\IFSAPP_INDEX.DBF',
      'E:\ORADATA\test1\IFSAPP_REPORT_DATA.DBF',
      'E:\ORADATA\test1\IFSAPP_REPORT_INDEX.DBF',
      'E:\ORADATA\test1\IFSAPP_ARCHIVE_DATA.DBF',
      'E:\ORADATA\test1\IFSAPP_ARCHIVE_INDEX.DBF',
      'E:\ORADATA\test1\TEMP02.ORA'
    CHARACTER SET ZHS16GBK
    ;
    ALTER DATABASE OPEN RESETLOGS;
    ALTER DATABASE RENAME GLOBAL_NAME TO  test1;
      

  4.   

    还是用exp/imp吧,有楼上方法麻烦,也很慢