您的位置:首页 > 数据库 > Oracle

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

2016-06-21 16:33 387 查看
终于搞定了 快写个笔记 记录下。

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

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


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

alter system kill session '146,48';


数据泵导出:

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

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

create directory expnc_dir as 'E:\ncdatabak';


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:\ncdatabak

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

create directory expnc_dir as 'E:\ncdatabak';


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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: