设为首页 收藏本站
查看: 1180|回复: 0

[经验分享] 【Oracle11g数据库导入Oracle10g数据库操作笔记 】

[复制链接]

尚未签到

发表于 2018-9-24 10:34:23 | 显示全部楼层 |阅读模式
  用exp、imp命令时进行11g备份,导入10g的时候会抛错:不是有效的导出文件,头部验证失败;未成功终止导入。
  我今天就遇到了这种情况,搭建测试环境时,有一个项目使用的是11g数据库,而测试机是10g的数据库,按正常的思路走下来,报错:未成功终止导入,赶紧上网搜了一下,原来是版本不同的问题;
  下面我把导入操作的全过程记录下来,自己做了一个知识的记录,同时也希望可以方便有需要的朋友!
  一、在11g服务器上,使用expdp命令备份数据
  EXPDP USERID='SYS/sys@daggis as  sysdba' schemas=oa directory=DATA_PUMP_DIR  dumpfile=dag.dmp logfile=dag.log version=10.2.0.1.0
  (屏幕截图:C:\Documents and  Settings\Administrator>expdp userid='system/sys@gis' schemas
  directory=data_pump_dir dumpfile=dag.dmp  logfile=dag.log version=10.2.0.1.0)
  其中,红色文字部分是根据需要改写的地方。例如我的sys密码是sys,数据库sid是daggis,要导出的用户名是oa,要导入到10.2.0.1.0版本的Oracle数据库中去。aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了D盘下面,于是dag.dmp将会在D:/app/Administrator/admin/cuc/dpdump目录下被生成。
  二、在10g服务器上,使用impdp命令恢复数据
  步骤:1.建库2.建表空间3.建用户并授权4.将dag.dmp拷贝到10g的dpdump目录下5.impdp导入数据库
  1、建库:是在database  configuration assistant 中直接新建一个数据库(实例)。

  2、建表空间:create  tablespace OA datafile 'D:\oracle\product\10.2.0\oradata\orcl\oa.dbf' >  3、建用户:
  create user oa>
  授权:
  Alter user OA  default tablespace OA quota unlimited on  OA;
  grant create session to oa;
  grant connect to oa;
  grant connect, resource, dba to oa;
  grant create table to oa;
  grant create view to oa;
  grant create trigger to oa;
  grant select any table to oa;
  grant create sequence to oa;
  grant create procedure to oa;
  grant create role to oa;
  grant create type to oa;
  grant GRANT ANY PRIVILEGE to oa;
  4、导入:首先测试机中10g装在了D:/根目录下,于是将dag.dmp文件copy到了D:\oracle\product\10.2.0\admin\daggis\udump目录下。
  在导入之前,还有一个步骤,必须创建目录,然后才能进行导入,不然在导入时会报错:
  ORA-39001:  参数值无效
  ORA-39000: 转储文件说明错误
  ORA-31640: 无法打开要读取的转储文件  "D:\p\dag.dmp"
  ORA-27041: 无法打开文件
  OSD-04002: 无法打开文件
  O/S-Error: (OS 2)  系统找不到指定的文件。
  创建目录命令如下:
  sqlplus sys/sys@daggis
  sql>create directory  dump_dir as 'C:\oracle\product\10.2.0\admin\daggis\udump';
  IMPDP USERID='SYS/sys@daggis   as sysdba'  schemas=oa  directory=DATA_PUMP_DIR dumpfile=dag.dmp  logfile=dag.log version=10.2.0.1.0
  (命令截屏:C:\Documents  and Settings\Administrator>impdp userid='sys/sys@daggis as sysdba's
  chemas=oa directory=data_pump_dir  dumpfile=dag.dmp logfile=dag.log version=10.2.
  0.1.0)
  到这里为止,所有的操作都完成了,终于看到了久违的消息:操作完成!
  上面的命令行中,红色与蓝色部分是根据需要大家根据实际情况改写的地方。例如我的sys密码是sys,数据库sid是daggis,要导入用户名为oa,要导入到10.2.0.1.0版本的Oracle数据库中去。dag.log将会在10g的dpdump目录中生成。
  最后有一个命令查看原对象用户总数,大家可以根据需要进行验证,在导出数据库的机器运行一次,在导入数据库后的机器运行一次,看看结果是否一样:
  sql>select count(*) from  dba_objects where owner in ('wangou','sup','qishun');
  呵呵,上面就是我操作的全部过程,如果大家有更好的办法完成,请记得共享哦!大家互相学习,一起进步!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600525-1-1.html 上篇帖子: Oracle疑问解答 下篇帖子: oracle学习笔记(三):win7通过plsql使用虚拟机的oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表