imp和exp这些oracle命令的命令行返回值都是什么,windows下的,查资料查不到,谁知道告诉下

解决方案 »

  1.   

    Export 与 Import是Oracle早期版本中提供的数据导入,导出的工具,现在虽然仍旧可以用,但是强烈推荐 impdp与expdp了(Oracle10g之后)。他们的主要作用是在客户端以单线程的方式进行数据库的逻辑备份的导入和导出。格式大致如下exp 用户名/密码@数据库 file = D:\xxx.dmp imp 用户名/密码@数据库 file = D:\xxx.dmp 一般在cmd下执行的比较多,也可以在plsql下执行。
      

  2.   

    如果希望在Oracle的存储过程或者函数中控制数据库的导入导出,现在可以使用DMBS_DATAPUMP 包里面提供的相应API进行操作。
    以下几个步骤1)获取指向某个Data pump的句柄  open 方法
    2)定义泵文件    add_file方法
    3)定义日志文件 也是add_file 方法
    4)指定需要导出的schema  是使用metadata_filter方法
    5)开始导出 start_job 方法
    6)使其进入后台运行 使用 .detach方法。
      

  3.   

    我问的是返回值,比如winrar.exe的 RAR 成功操作后返回 0 。非 0 返回码意味着操作由于某种错误被取消:        0   成功             操作成功        1   警告             没有发生致命错误        2   致命错误         发生一个致命错误        3   CRC 错误         解压缩时发生一个 CRC 错误        4   被锁定压缩文件   试图修改先前使用 'k' 命令锁定的压缩文件        5   写错误           写入磁盘错误        6   打开错误         打开文件错误        7   用户错误         命令行选项错误        8   内存错误         没有足够的内存进行操作        9   创建错误         创建文件错误       10   无文件错误       没有找到与指定的掩码和选项匹配的文件。      255   用户中断         用户中断操作
      

  4.   

    Windows: echo %ERRORLEVEL%EX_SUCC 0  则表示没有任何错误,正常导出或者导入,没有警告
    EX_OKWARN 
                   1 (for Windows platform with Oracle9i, Oracle8i, and below)
                   3 (for Windows platform with Oracle10g and higher)
    EX_FAIL   3 (for Windows platform with Oracle9i, Oracle8i, and below)
      

  5.   

    Microsoft Windows [版本 6.1.7600]
    版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Users\Administrator>exp scott/scott@orcl file = D:\dump.dmpExport: Release 11.1.0.6.0 - Production on 星期六 1月 12 09:54:00 2013Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    . 正在导出 pre-schema 过程对象和操作
    . 正在导出用户 SCOTT 的外部函数库名
    . 导出 PUBLIC 类型同义词
    . 正在导出专用类型同义词
    . 正在导出用户 SCOTT 的对象类型定义
    即将导出 SCOTT 的对象...
    . 正在导出数据库链接
    . 正在导出序号
    . 正在导出簇定义
    . 即将导出 SCOTT 的表通过常规路径...
    . . 正在导出表                           BONUS导出了           0 行
    . . 正在导出表                            DEPT导出了           4 行
    . . 正在导出表                             EMP导出了          14 行
    . . 正在导出表                        SALGRADE导出了           5 行
    . 正在导出同义词
    . 正在导出视图
    . 正在导出存储过程
    . 正在导出运算符
    . 正在导出引用完整性约束条件
    . 正在导出触发器
    . 正在导出索引类型
    . 正在导出位图, 功能性索引和可扩展索引
    . 正在导出后期表活动
    . 正在导出实体化视图
    . 正在导出快照日志
    . 正在导出作业队列
    . 正在导出刷新组和子组
    . 正在导出维
    . 正在导出 post-schema 过程对象和操作
    . 正在导出统计信息
    成功终止导出, 没有出现警告。C:\Users\Administrator>echo %ERRORLEVEL%
    0
      

  6.   

    谢谢ziwen00,那10g有警告的导入成功和没有导入完全的失败甚至没有导入的失败就没有区别的返回3了么,没有更多的返回值么
      

  7.   

    参见:  http://www.dba-oracle.com/t_scripts_windows_export.htm
    以及Oracle的matelink 
    c:> exp=%PARFILE%:REM +--------------------------------------------------------------------------+
    REM | VALIDATE COMMAND-LINE PARAMETERS                                         |
    REM +--------------------------------------------------------------------------+if (%1)==() goto USAGE
    if (%2)==() goto USAGE
    if (%3)==() goto USAGE
    REM +--------------------------------------------------------------------------+
    REM | VALIDATE ENVIRONMENT VARIABLES                                           |
    REM +--------------------------------------------------------------------------+REM set ORABACKUP=C:\oracle\orabackup\JEFFDB\export
    REM set ORALOG=C:\oracle\custom\oracle\log
    REM set ORATMP=C:\oracle\custom\oracle\tempif (%ORALOG%)==() goto ENV_VARIABLES
    if (%ORATMP%)==() goto ENV_VARIABLES
    if (%ORABACKUP%)==() goto ENV_VARIABLES
    REM +--------------------------------------------------------------------------+
    REM | DECLARE ALL GLOBAL VARIABLES.                                            |
    REM +--------------------------------------------------------------------------+set FILENAME=export_backup_online_full_9i
    set DB_USERNAME=%1%
    set DB_PASSWORD=%2%
    set TNS_ALIAS=%3%
    set PARFILE=%ORATMP%\%FILENAME%_%TNS_ALIAS%.parfile
    set LOGFILE=%ORALOG%\%FILENAME%_%TNS_ALIAS%.log
    set DUMPFILE=%ORABACKUP%\exp_full_%TNS_ALIAS%.dmp
    REM +--------------------------------------------------------------------------+
    REM | REMOVE OLD LOG AND PARAMETER FILE(S).                                    |
    REM +--------------------------------------------------------------------------+del /q %PARFILE%
    del /q %LOGFILE%
    REM +--------------------------------------------------------------------------+
    REM | WRITE EXPORT PARAMETER FILE.                                             |
    REM +--------------------------------------------------------------------------+echo userid=%DB_USERNAME%/%DB_PASSWORD%@%TNS_ALIAS% > %PARFILE%
    echo buffer=50000000 >> %PARFILE%
    echo file=%DUMPFILE% >> %PARFILE%
    echo compress=n >> %PARFILE%
    echo grants=y >> %PARFILE%
    echo indexes=y >> %PARFILE%
    echo direct=no >> %PARFILE%
    echo log=%LOGFILE% >> %PARFILE%
    echo rows=y >> %PARFILE%
    echo consistent=y >> %PARFILE%
    echo full=y >> %PARFILE%
    REM echo owner=(SCOTT) >> %PARFILE%
    REM echo tables=(EMP, DEPT) >> %PARFILE%
    echo triggers=y >> %PARFILE%
    echo statistics=none >> %PARFILE%
    echo constraints=y >> %PARFILE%
    REM +--------------------------------------------------------------------------+
    REM | MOVE OLD EXPORT (DUMP) FILE.                                             |
    REM +--------------------------------------------------------------------------+del /q %DUMPFILE%.backup
    move %DUMPFILE% %DUMPFILE%.backup
    REM +--------------------------------------------------------------------------+
    REM | PERFORM EXPORT.                                                          |
    REM +--------------------------------------------------------------------------+exp parfile=%PARFILE%
    REM +--------------------------------------------------------------------------+
    REM | SCAN THE EXPORT LOGFILE FOR ERRORS.                                      |
    REM +--------------------------------------------------------------------------+echo ...
    echo Analyzing log file for EXP- errors...
    findstr /I /C:"EXP-" %LOGFILE%
    if errorlevel 0 if not errorlevel 1 echo EXP- Errors:  %FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%echo ...
    echo Analyzing log file for ORA- errors...
    findstr /I /C:"ORA-" %LOGFILE%
    if errorlevel 0 if not errorlevel 1 echo ORA- Errors:  %FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%echo ...
    echo Analyzing log file for warnings...
    findstr /I /C:"Export terminated successfully with warnings" %LOGFILE%
    if errorlevel 0 if not errorlevel 1 echo WARNING: %FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%echo ...
    echo Analyzing log file for errors...
    findstr /I /C:"Export terminated unsuccessfully" %LOGFILE%
    if errorlevel 0 if not errorlevel 1 echo ERROR: %FILENAME% %TNS_ALIAS% %COMPUTERNAME% %DATE% %TIME% %LOGFILE%
    echo ...
    echo END OF FILE REPORT
    echo Filename      : %FILENAME%
    echo Database      : %TNS_ALIAS%
    echo Hostname      : %COMPUTERNAME%
    echo Date          : %DATE%
    echo Time          : %TIME%
    echo EXP Log File  : %LOGFILE%