Oracle 把一个用户的数据导入另一个用户 (数据泵)
192.168.0.1——server1
1. 导出数据
[expdp版本]
使用expdp之前,需要现在Oracle里面建directory
1 、create directory dump as '/u01/dump';
授予用户对directory的read/write权限
2、grant read,write on directory dump to [wyb];
用户需要resource或者dba的权限,才能expdp
3、grant resource to [wyb] ;
4、expdp wyb/123456 dumpfile= dump1.dmp logfile=expdp.log directory=dump1
192.168.0.1_server2
导入之前,清空目标用户所有的对象
最简单的办法,把目标用户删了再重建,或者新建
1、drop user sam cascade; 同时会删除表空间数据
再创建用户//创建临时表空间//授予权限
2、CREATE TABLESPACE sam DATAFILE 'sam.dbf'
SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
3、CREATE USER sam IDENTIFIED BY 123456 DEFAULT TABLESPACE sam ;
4、grant connect,dba to [sam] ;
导入数据
[impdp版本]
同样,使用impdp之前,需要现在Oracle里面建directory,如果有directory不需要在创建
1、create directory dump as '/u01/dump';
授予用户对directory的read/write权限
2、grant read,write on directory dump to [sam];
授予用户dba权限
grant dba to [sam] ;
impdp user/password dumpfile=temp.dmp directory=dump remap_tablespace=[old_table_space]:[new_table_space] ; old是指server1机器上的tablespace_name,new是指server2上的
impdp sam/123456 dumpfile=wyb-15032501.dmp directory=dump1 remap_tablespace=wyb:sam remap_schema=wyb:sam logfile=wyb-15032501.log
//导入数据后取消DBA权限
revoke dba from [sam];
//List directories
SELECT * FROM dba_directories;
如果出现tablespace存在,则先删除表空间
DROP TABLESPACE xxb0001 INCLUDING CONTENTS AND DATAFILES;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341