oracle11g 使用数据泵导出导入数据

终于搞定了 快写个笔记 记录下。

删除用户的时候提示已经登录了不能删除,这个需要把登录的session结束掉。  

select username,sid,serial# from v$session where username is not null;

然后 找到用户的进程,然后杀掉。 

alter system kill session '146,48';

数据泵导出:

 1、手动新建一个文件夹:比如:E: cdatabak

2、数据库管理员登录sqlplus,创建数据导出目录expnc_dir为目录名,'E: cdatabak'为数据库实际目录,命令如下: 

create directory expnc_dir as 'E:
cdatabak';

3、为oracle用户授予访问数据目录的权限,命令如下:

Grant read,write on directory expnc_dir to dxzyjt;

4、执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。

expdp dxzyjt/dxzyjt@192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt  logfile=ncdatabak.log;

这样,就会在第一步创建的目录里面到处一个dmp文件。接下来我们导入。

数据泵导入:

1、把之前到导出的文件夹复制到新的服务器上,比如:复制到E盘; E: cdatabak

2、数据库管理员登录sqlplus,创建数据导出目录expnc_dir为目录名,'E: cdatabak'为数据库实际目录,命令如下: 

create directory expnc_dir as 'E:
cdatabak';

3、为oracle用户授予访问数据目录的权限,命令如下:

Grant read,write on directory expnc_dir to dxzyjt;

4、执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。

impdp dxzyjt/dxzyjt@192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt ;

正常流程的话  会导入成功。

使用数据泵的时候,源数据库和 目标数据库 必须字符集相同,否则会报错。 查看字符集和修改字符集 : http://www.cnblogs.com/lishupeng/p/5605558.html   ;

导入的时候 表空间不够的话,查看如何增加表空间:   (http://www.cnblogs.com/lishupeng/p/5556261.html

ALTER TABLESPACE users  ADD DATAFILE  'D:APP01.DBF' SIZE 20G;
原文地址:https://www.cnblogs.com/lishupeng/p/5604107.html