• 如何实现oracle不同版本间数据的导入导出


    Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试:
    规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器
    --1.1 使用9i客户端通过imp连接到10g数据库
    C:\Documents and Settings\yuechaotian>exp userid=hdtest/test@s67 tables=(ab01) rows=n file=d:\x.dmp
    Export: Release 9.2.0.1.0 - Production on 星期三 2月 20 10:09:55 2008
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    注: 将不会导出表数据(行)
    即将导出指定的表通过常规路径 ...
    . . 正在导出表 AB01
    在没有警告的情况下成功终止导出。
    --1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败)
    C:\Documents and Settings\yuechaotian>exp userid=hbjb_kf_hd/test@s46 owner=hdtest file=d:\x.dmp
    Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 09:57:22 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    EXP-00056: 遇到 ORACLE 错误 6550
    ORA-06550: 第 1 行, 第 41 列:
    PLS-00302: 必须说明 ''SET_NO_OUTLINES'' 组件
    ORA-06550: 第 1 行, 第 15 列:
    PL/SQL: Statement ignored
    EXP-00000: 导出终止失败
    规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)
    --2.1 使用10g客户端exp出10g的数据
    C:\Documents and Settings\yuechaotian>exp userid=test/test@orcl owner=test file=d:\10g.dmp
    Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 11:16:39 2008
    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
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    服务器使用 AL32UTF8 字符集 (可能的字符集转换)
    即将导出指定的用户...
    ……
    导出成功终止, 但出现警告。
    C:\Documents and Settings\yuechaotian>
    --2.2 使用9i客户端imp上面所导出的dmp文件到10g:可以连接到10g中,但无法识别文件
    C:\Documents and Settings\yuechaotian>imp userid=test/test@s10g fromuser=test touser=test file=d:\10g.dmp
    Import: Release 9.2.0.1.0 - Production on 星期三 2月 20 11:20:33 2008
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    IMP-00010: 不是有效的导出文件,标题验证失败
    IMP-00000: 未成功终止导入
    C:\Documents and Settings\yuechaotian>
    规则3:低版本exp出的dmp文件,高版本可以imp(向下兼容)
    -- 3.1 使用9i客户端exp出9i中的数据
    C:\Documents and Settings\yuechaotian>exp userid=test/test@s9i owner=test file=d:\9i.dmp
    Export: Release 9.2.0.1.0 - Production on 星期三 2月 20 11:25:04 2008
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
    即将导出指定的用户...
    ……
    在没有警告的情况下成功终止导出。
    C:\Documents and Settings\yuechaotian>
    -- 3.2 使用10g客户端imp到10g数据库中
    C:\Documents and Settings\yuechaotian>imp userid=test/test@orcl fromuser=test touser=test file=d:\9i.dmp
    Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 11:28:46 2008
    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:V09.02.00 创建的导出文件
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
    . . 正在导入表 "AUDIT_ACTIONS"导入了 144 行
    ……
    成功终止导入, 但出现警告。
    C:\Documents and Settings\yuechaotian>
    规则4:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本—Oracle 7,再从中间数据库转入更高版本。
    --我使用10g的imp功能,可以将由817导出的dmp文件直接导入10g中,这与该规则的介绍不同。(该规则出自高道强的《Oracle导入导出工具实现数据库移植》)
    C:\Documents and Settings\yuechaotian>imp userid=test/test fromuser=scott touser=test file=d:\tyc.dmp
    Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 14:03:33 2008
    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:V08.01.07 创建的导出文件
    警告: 这些对象由 SCOTT 导出, 而不是当前用户
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
    导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换)
    . 正在将 SCOTT 的对象导入到 TEST
    . . 正在导入表 "ACCOUNT"导入了 5 行
    . . 正在导入表 "BONUS"导入了 0 行
    . . 正在导入表 "DEPT"导入了 4 行
    . . 正在导入表 "EMP"导入了 14 行
    . . 正在导入表 "RECEIPT"导入了 1 行
    . . 正在导入表 "SALGRADE"导入了 5 行
    即将启用约束条件...
    成功终止导入, 没有出现警告。
    C:\Documents and Settings\yuechaotian>
    --以上操作,对于OracleXE的10g版本同样适用:
    C:\Documents and Settings\yuechaotian>imp userid=test/test fromuser=scott touser=test file=d:\tyc.dmp
    Import: Release 10.2.0.1.0 - Production on 星期三 2月 20 14:15:51 2008
    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    连接到: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    经由常规路径由 EXPORT:V08.01.07 创建的导出文件
    警告: 这些对象由 SCOTT 导出, 而不是当前用户
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    导出服务器使用 ZHS16GBK NCHAR 字符集 (可能的 ncharset 转换)
    . 正在将 SCOTT 的对象导入到 TEST
    . . 正在导入表 "ACCOUNT"导入了 5 行
    . . 正在导入表 "BONUS"导入了 0 行
    . . 正在导入表 "DEPT"导入了 4 行
    . . 正在导入表 "EMP"导入了 14 行
    . . 正在导入表 "RECEIPT"导入了 1 行
    . . 正在导入表 "SALGRADE"导入了 5 行
    即将启用约束条件...
    成功终止导入, 没有出现警告。
    C:\Documents and Settings\yuechaotian>
  • 相关阅读:
    socket入门教程
    线程间操作无效: 从不是创建控件“xxxxxxxx”的线程访问它。
    Socket教程
    Windows 2008 R2防火墙,允许被ping
    Miller_rabin算法+Pollard_rho算法 POJ 1811 Prime Test
    Pollard rho算法+Miller Rabin算法 BZOJ 3668 Rabin-Miller算法
    Miller-Rabin算法 codevs 1702 素数判定 2
    快速幂 cojs 1130. 取余运算
    中国剩余定理 hdu 3579
    中国剩余定理 hdu 1573 X问题
  • 原文地址:https://www.cnblogs.com/HondaHsu/p/2717889.html
Copyright © 2020-2023  润新知