数据库10g和11g之间的数据导出与导入

生产环境:服务器为64位操作系统,数据库版本64位11g(具体版本11.2.0.1),数据库用户user1。
开发环境:客户机32位操作系统,数据库版本为10g(具体版本10.2.0.3),数据库用户user1,user2(新建的用户)。

需求:根据需要,需将服务器机器上的user1的数据库导入到客户机的user2中。

此处介绍使用expdp和impdp数据泵命令进行处理。

过程:

查看数据库版本

select * from v$version;

使用expdp和impdp数据泵命令进行处理。

首先需要建立存放数据的目录:

例如:d:\oracle\dmpdir  目录(此目录必须在电脑中存在)。

然后再用oracle创建存储目录并授权:

创建:

create directory dmpdir as 'D:\oracle\dmpdir'

授权:

Grant read,write on directory dmpdir to user1

至此目录就建好了.
  1、先用expdp命令将数据库导出成dmp文件。
如果安装了11g或10g客户端(或直接在服务器端运行备份),则可以用expdp进行远程备份:
expdp user1/test@server directory=dmpdir schemas=user1 dumpfile=20130720.dmp logfile=20130720.log version=10.2.0.3

导出后文件位于服务器的product\11.2.0\admin\orcl\dpdump目录里(导出命令完成后由提示文件位置)。

2、用impdp命令将数据库导入到本地库。
首先将导出的服务器上的文件复制到本地10g数据库的product\10.2.0\admin\orcl\dpdump目录里
然后运用本地的impdp进行导入

impdp user2/test@local directory=dmpdir dumpfile=20130720.dmp logfile=imp.log remap_schema=user1:user2 version=10.2.0.3

这样就可以正常导入了。

注意:version为要导入目标数据库的版本号

你可能感兴趣的:(SQL,语言艺术,expd,impdp,10g,11g)