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 拥有可传输表空间集中数据的用户

解决方案 »

  1.   

    例:
    exp username/password@sid file=path\filename.dmp log=path\logname.dmp owner=username;
      

  2.   

    1、导出用户的结构和数据(假设用户名/密码 tempout/tempout)。
       在dos窗口中使用exp命令
       例如:c:\>exp tempout/tempout grants=y file=d:\tempout.dmp
       其中的grants参数用来吧用户的权限也到处。
    2、倒入用户:
       如果你要倒入的数据库中没有tempout这个用户,你必须先创建改用户并授予connect和resource权限(最基本的权限)。
       然后  c:\>imp tempout/tempout ignore=y full=y grants=y file=d:\tempout.dmp
       如果数据库内已经有改用户了并且你想增量倒入数据,那就这样
            c:\>imp tempout/tempout ignore=y full=y file=d:\tempout.dmp
            这样会吧你的dmp文件你的数据都倒入到tempout用户下并且不影响tempout用户原来已有的数据。
     
    另外两台数据库的字符集如果不相同的话也会有问题,至于字符集的问题我想在csdn论坛里有很多人讨论,你可以到那搜索一下应该有答案,如果还不形的话我们一起研究一下。
    ---------------------------------
    exp system/password file=filename log=logname1 owner=username rows=n
    imp system/password file=filename log=logname2 fromuser=username touser=username ignore=y 
    -----------------------原主机上:
    exp system/system_password owner=你想导出的用户1,用户2... file=filename log=logname
    目标主机上:
    imp system/system_password fromuser=你导出的用户名1,用户2...   touser=你要导入的用户名1,用户2...  file=filename log=logname
    (注意,imp时,fromuser和touser的顺序是一一对应的)------------------------------------
    用windows计划任务来执行导出文件,文件为日期作标识:
    可以在windows下编辑一个back.cmd其内容为如下:exp user/password@server file=E:\temp\back%date:~4,5%%date:~9,5%.dmp buffer=10000000
    其中用户名:user
    口令:password
    ORACLE服务器名:server
    备份的结果是生成根据日期的备份名:back2002-03-22.dmp
    再通过计划任务进行添加此命令让此命令定期执行即可实现自动备份。每天可自己备份多次。---------------------------------------------------
    从一台服务器上用system用户导出数据库:win2000server,oracle81,导出的文件有2.5G,
    在另一台服务器上也用system用户导入:win2000server,oracle81,
    开始导入正常,但导到一个表时就不动了,也没有错误提示,就象还在导这个表的数据,
    但几个小时过去了还是那样,计算机是正常的import用feedback=<rows>参数和commit=y参数
    feedback使得你可以看到导入过程显示,如feedback=1000,每导入1000条数据,会显示一个'.'
    commit=y使得大表中途提交导入的数据,避免db buffer/回滚段不够.如果你机器内存小,一定要使用。