不同版本oracle导入导出解决办法。

今天遇到一个比较特殊的情况,需要在oracle8中使用oracle9的数据,如是导入导出。费了大半天,从oracle9中导出的数据就是无法导入oracle8中。

后来上网查询才知道,oracle不同版本之间的导入导出,不同于同版本导入导出。 有些规则要遵循:

一篇文章这样说:

如果版本不一致的话,在数据库之间exp、imp数据的应该遵循的规则:

1、imp工具的版本应该和目标数据库的版本一致;

2、exp工具的版本应该与源数据库和目标数据库中版本最低的一个相一致

另一片文章这样说:

规则一:从Oracle 低版本的Export数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 7 到 Oracle 8。对于两个不相邻版本间进行转换,如从Oracle 6 到 Oracle 8,则应先将数据输入到中间版本—Oracle 7,再从中间数据库转入更高版本。

规则二:Oracle的Export/Import工具只能连接到拥有更高或者一样的Export/Import版本的数据库。如Oracle 8.0.5的Export/Import(版本8.0.5.0.0)可连接到Oracle 8.1.6数据库(版本8.1.6.0.0);高版本的Export导出来的转储文件,低版本的Import读不了;低版本的Export导出来的转储文件,高版本的Import可以进行读取。

这两中说法基本相同。

那如何解决呢?

实例:

比如机器A oracle9

机器B oralce8

如果机器B想要使用机器A的数据。

我这里有两个办法:

第一种: 这一种比较简单,步骤如下:

通过机器B连接到机器A,然后导出数据库,然后再导入到机器B中,即可完成。

如果两台机器无法连接。 只好使用第二种办法。

1、在高版本数据库上运行底版本的catexp.sql; 2、使用低版本的EXP来导出高版本的数据; 3、使用低版本的IMP将数据库导入到低版本数据库中; 4、在高版本数据库上重新运行高版本的catexp.sql脚本。 但在9i中,上面的方法并不能解决问题。如果直接使用低版本EXP/IMP会出现如下错误: EXP-00008: ORACLE error %lu encountered ORA-00904: invalid column name 这已经是一个公布的BUG,需要等到Oracle10.0才能解决,BUG号为2261722,你可以到METALINK上去查看有关此BUG的详细信息。 BUG归BUG,我们的工作还是要做,在没有Oracle的支持之前,我们就自己解决。在Oracle9i中执行下面的SQL重建exu81rls视图即可。 CREATE OR REPLACE view exu81rls (objown,objnam,policy,polown,polsch,polfun,stmts,chkopt,enabled,spolicy) AS select u.name, o.name, r.pname, r.pfschma, r.ppname, r.pfname, decode(bitand(r.stmt_type,1), 0,'', 'SELECT,') || decode(bitand(r.stmt_type,2), 0,'', 'INSERT,') || decode(bitand(r.stmt_type,4), 0,'', 'UPDATE,') || decode(bitand(r.stmt_type,8), 0,'', 'DELETE,'), r.check_opt, r.enable_flag, DECODE(BITAND(r.stmt_type, 16), 0, 0, 1) from user$ u, obj$ o, rls$ r where u.user# = o.owner# and r.obj# = o.obj# and (uid = 0 or uid = o.owner# or exists ( select * from session_roles where role='SELECT_CATALOG_ROLE') ) / grant select on sys.exu81rls to public; / 当在不相邻的主要版本之间迁移数据 (例如,从O r a c l e 6到O r a c l e 8 )时,应先将数据导入到 中间版本(本例中是O r a c l e 7 ),然后再从这个版本的数据库导入更新的主要版本 ( O r a c l e 8 )。 总结: 可以跨版本的使用EXP/IMP,但必须正确地使用EXP和IMP的版本: 1.总是使用IMP的版本匹配数据库的版本,如:要导入到817中,使用817的IMP工具. 2.总是使用EXP的版本匹配两个数据库中最低的版本,如:从9201往817中导入,则使用817版本的EXP工具.

Oracle导入到不同的角色,oracle 不同版本之间的导入导出相关推荐

  1. 给oracle用户赋权限导入导出,Oracle常用命令-用户、表空间、赋权限、导入导出...

    1.1   删除表空间 drop tablespace QBKJ including contents and datafiles; 1.2   删除用户 drop user admin cascad ...

  2. oracle导入java包时出错,Oracle导入导出的常见错误

    做数据的导入导出操作,最常用的就是imp/exp和impdp/expdp,经常会碰见各种错误,之前总结过一些,<解决导入过程中出现的ORA-02289错误>.<生产数据导入测试环境碰 ...

  3. 【数据库】Oracle用户、授权、角色管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  4. Oracle的对象权限、角色权限、系统权限

    Oracle的对象权限.角色权限.系统权限 一.用户与模式 用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作 SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联 ...

  5. oracle中sql命令分为几类,常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项-Oracle...

    常用sql命令@oracle数据类型概括@权限.角色.用户的创建于使用@伪列及其注意事项 1.各种不同权限的用户 系统权限: 用户名:sys/system(用户名默认的是 sys,system);密码 ...

  6. 修改oracle用户权限,详解如何实现Oracle修改用户权限和角色

    ------今天看了这篇文章 觉得对我们学习oracle 还是有很多帮助的,大家可以试着读读······· 这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西.希望通过本文能对大 ...

  7. oracle中check约束性别,关于Oracle Check类型约束的导入与启用

    今天有朋友问,Oracle的Check约束在indexfile中是否存在,导入后没有检查到. 我测试了一下,事实证明是可以的,Oracle的Check Constraints可以通过imp,使用ind ...

  8. 如何查看oracle用户级别,用户级别的Oracle 导入导出

    据了解,如果使用imp与exp导入导出的话,只要使用本地同类型版本的oracle工具,不同版本件的导入导出是没有问题的.如在10g中用1 今天测试导入导出 据了解,如果使用imp与exp导入导出的话, ...

  9. UNIX下 oracle expdp,Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

    Linux服务器下对Oracle数据库expdp(导出)和impdp(导入) 紧接上篇文章,Oracle数据库架构已经创建完成,我的需求是:将老服务器上的数据库迁移到新的数据库上. 这就用到impdp ...

最新文章

  1. android VectorDrawable使用笔记(二)
  2. 物理服务器对应多个虚拟节点,一台物理机如何开多个云服务器
  3. 阿里巴巴编码规范java
  4. golang中获取公网ip、查看内网ip、检测ip类型、校验ip区间、ip地址string和int转换、根据ip判断地区国家运营商等
  5. ELK logstash中grok使用if判断消息是否包含某个字符串及以某个字符开头
  6. 芒果db怎么连mysql_MongoDB 芒果数据库的使用
  7. 爬去当当热销图书信息
  8. Internet Explorer 无法打开搜索页完美解决办法
  9. Day23:算法之分支定界
  10. 物联网应用案例,中易云真实搭建项目
  11. 积沙成塔之VC不规则按钮的创建
  12. SHELL的文本处理工具
  13. python爬虫如何防止IP屏蔽
  14. 未雨绸缪:面试前为何要带一份不一定被阅的简历?
  15. 学习软件测试的一天(11.4)
  16. 支付宝小程序开发体验
  17. 读《追风筝的人》有感
  18. Android提示“很抱歉,xxx已停止运行“,adb命令连接模拟器并查看安卓日志
  19. 这本书为什么会被誉为Spring开发百科全书(文末附带源码视频)
  20. maya2018点输入序列号后不弹出激活页如何解决

热门文章

  1. idea svn查看提交人_svn 常规操作
  2. 线程可以kill吗_我是一个线程(转)
  3. 中职学校计算机专业的论文,中职计算机论文范文2篇
  4. wxWidgets:wxClipboard类用法
  5. boost::statechart模块自定义反应测试相关的测试程序
  6. boost::spirit模块实现自定义嵌入式容器数据的测试程序
  7. boost::merge相关的测试程序
  8. boost::mpl模块实现push_back相关的测试程序
  9. boost::hana模块实现算术的测试程序
  10. boost::geometry::partition用法的测试程序