oracle使用数据泵方式导入导出

1.oracle数据库导出,准备工作(创建表空间、用户、授权),如已存在,则跳过此步;

创建表空间--表空间名字及用户名称可自己重新命名

create tablespace IMS_JNPC_REAL datafile 'C:\app\Administrator\virtual\oradata\orcl\IMS_JNPC_REAL.BDF' size 1024M;

创建用户

create user IMS_JNPC_REAL identified by oracle default tablespace IMS_JNPC_REAL;

授权

GRANT CONNECT,RESOURCE TO IMS_JNPC_REAL;

GRANT CREATE VIEW TO IMS_JNPC_REAL;

ALTER USER IMS_JNPC_REAL QUOTA UNLIMITED ON IMS_JNPC_REAL;

grant create table to IMS_JNPC_REAL;

创建目录地址(导入导出时会用到)

create directory dir as 'D:\';

2.导出数据库

特别注意,我是将服务器A(windows系统)的数据库(版本为12.2)导入到服务器B(linux系统)的数据库(版本为11.2)中,因为两个版本不一致,所以在命令中需要指定导出的版本,否则会报错,如version = 11.2或version=11.2.0.1.0;如果数据库版本一致的话,则不需要加上。

首先在服务器A上打开cmd,运行如下命令:

expdp 用户名/密码@localhost/orcl schemas=IMS_JNPC_UAT dumpfile=IMS_JNPC_UAT_0507.dmp DIRECTORY=dir version=11.2.0.1.0

导出的文件在D盘的根目录下

3.使用winScp工具(主要功能就是在本地与远程计算机间安全地复制文件),连接到服务器B,将导出的文件拷贝至任意目录下,如下图所示,记住所在路径,我的是‘/oracle/’

4.使用xshell工具远程连接到服务器B,执行如下命令:

我们先将用户切换到Oracle。当显示为[oracle@db ~]$ 时,说明切换成功。

命令:su - oracle

注意事项:一定要注意su后和-后都有空格。

5.切换到Oracle用户之后,我们登录到到sqlplus。首先我们先使用dba权限登录到sqlplus。

命令:sqlplus / as sysdba

6.在sqlplus中,我们使用conn连接一下我们具体想要操作的数据库用户。

命令:conn username/password

显示connected表示连接成功

7.创建默认目录并授权(就是DMP文件所在路径)

命令:create or replace directory dir1 as '/oracle/';

grant read,write on directory dir1 to ims_jnpc;

8.退出sqlplus,exit或quit;

9.执行导入命令:

impdp ims_jnpc/oracle directory=dir1 dumpfile=IMS_JNPC_UAT_0507.DMP remap_tablespace=IMS_JNPC_UAT:IMS_JNPC remap_schema=IMS_JNPC_UAT:IMS_JNPC table_exists_action = replace

解释:

    remap_schema=a:b            将数据的schema从a 转换为b

    remap_tablespace=a:b        将数据的tablespace 从a 转换为b

10.如果是把数据库从服务器A(windows)导入到服务器B(windows),则直接在服务器B中打开cmd,执行上述导入命令即可。

猜你喜欢

转载自blog.csdn.net/m0_37914467/article/details/89920102