用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' size 400m autoextend on next 20m online;
3、建用户:
create user oa identified by 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');
分享到:
相关推荐
### Oracle 11g 数据备份导入到 10g 数据库中的详细操作指南 #### 一、背景介绍 在实际工作中,有时会遇到需要将Oracle 11g的数据备份导入到10g数据库中的需求。这通常是因为业务迁移或者数据共享的需求导致的。...
从Oracle 11G向10G导入时,11G的导出文件可能包含10G不支持的新特性或格式。解决这个问题的方法通常包括: 1. 使用低版本的导出工具:在11G环境中,使用与10G兼容的导出工具(如expdp)进行导出,确保生成的DMP文件...
Oracle 11G 导入导出(imp 和 exp)少表解决方法 Oracle 11G 是一个功能强大且复杂的数据库管理系统,它提供了多种方式来导入和导出数据。然而,在使用 Oracle 11G 时,用户可能会遇到一些问题,例如无法导出空表...
### Oracle 9i 全备份导入到 11g 的处理方法 #### 一、问题背景 当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入...
### ORACLE 11G导入到10G的命令 #### 概述 在Oracle数据库管理系统中,有时候需要将一个版本的数据迁移到另一个版本中,例如从Oracle 11G迁移到10G。这种迁移可能涉及到数据兼容性、结构差异等问题。本文将详细...
标题“Oracle 11g 导到 10g”涉及到的是在数据库迁移过程中,将Oracle 11g版本的数据和结构转移到Oracle 10g版本的过程。这通常是因为业务需求、系统升级或兼容性问题等原因。在这个过程中,我们需要考虑以下几个...
Oracle,11G的导出文件导入到10G库中,用数据泵导出导入
### Oracle11g与Oracle10g之间数据的导入导出 #### 一、Oracle的IMP/EXP特性 Oracle提供了IMP/EXP工具用于数据库的导入导出操作,这些工具可以帮助我们在不同版本的Oracle数据库之间迁移数据。根据Oracle的IMP/EXP...
Oracle 10g(10g代表10th Generation,即第十代)是Oracle公司发布的一个重要版本,发布于2004年。这一版本在之前的版本基础上进行了大量的改进和优化,引入了许多新特性,特别是在网格计算方面有着显著的进步。以下...
标题"Oracle 11G DMP导入到10G"暗示了一个常见的问题:Oracle 11G的DMP导出文件格式与10G不完全兼容。Oracle数据库的DMP(Data Pump Export)文件是用于数据迁移和备份的重要工具,它将数据库对象和数据转换为二进制...
在IT行业中,数据库管理系统是核心组件之一,Oracle 11g是Oracle公司的一款旗舰级数据库产品,被广泛应用于企业级应用。在这个“龙蜥anolis系统oracle11g安装包”中,我们聚焦于在龙蜥Anolis操作系统上安装Oracle 11...
### Oracle 11g 数据导入到 Oracle 10g 的步骤详解 #### 一、Oracle 11g 数据导出步骤 为了将Oracle 11g的数据迁移到Oracle 10g环境中,首先需要在Oracle 11g环境中导出所需的数据。以下是详细的导出步骤: 1. **...
### Oracle11g数据库导入Oracle10g数据库的方法与注意事项 #### 一、背景与问题描述 在实际的数据库管理过程中,有时会遇到需要将Oracle 11g的数据迁移到Oracle 10g的情况。然而,由于版本差异,直接进行迁移可能...
### Oracle 10g 数据导入到 Oracle 9i 解决方案 #### 背景介绍 在进行数据库迁移时,可能会遇到将Oracle 10g中的数据迁移到Oracle 9i的情况。由于Oracle 9i与Oracle 10g之间存在版本差异,这可能涉及到一些兼容性...
当拿到的oracle数据库文件版本是11g的,而本地的数据库是10g的时候,可以使用当前软件更改11g版本修改为10g的,便可以进行10g数据库的导入
这个压缩包文件“Oracle11g客户端安装包.zip”包含安装客户端所需的所有组件,使得用户能够在本地执行诸如数据导入导出、SQL查询等多种操作。 首先,让我们了解一下Oracle客户端的主要组件。它通常包括网络配置工具...
Oracle11g客户端32位是Oracle公司推出的数据库管理系统的客户端版本,专为32位操作系统设计。这个轻量级的客户端尽管只有70多MB,但仍然包含了完整版Oracle客户端的许多核心功能,能够满足大部分数据库管理和开发的...
### Oracle 11g 数据库导出还原到 Oracle 10g 的步骤详解 #### 一、导出Oracle 11g数据至DMP文件 在进行Oracle版本之间的迁移时,通常会采用导出(Export)的方式将源数据库的数据转换为可移植的格式,再通过导入...