oracle数据泵 如何使用

首先登陆oracle的linux后台,
切换到oracle用户   
su - oracle
然后登陆oracle后台
sqlplus / as sysdba


1.查看数据库的directory
select * from dba_directories;


2.建立特定的数据库directory
create or replace directory mydir as '/u01/directory';


3.把directory的权限赋予给特定用户
GRANT READ,WRITE ON DIRECTORY mydir TO jiwu;


4.然后退出oracle后台
exit
 进入linux界面,执行以下命令
expdp system/oracle schemas=jiwu directory=MYDIR dumpfile=expdpjiwu.dmp logfile=expdpjiwu.log  version=11.2.0.4.0; 导出特定用户的数据到特定directory中
expdp system/oracle directory=MYDIR dumpfile=system.dmp logfile=system.log  version=11.2.0.4.0; 数据库整个备份下来到data_pump_dir中 
如果在备份的时候报错 ORA-39002 等
看下是不是是directory 文件夹还没有建立,需要手动建立下,然后执行上面语句就不会报错了




5.登陆另一台oracle后台,把dmp文件传入文件夹中,删掉特定用户的用户数据,然后退出oracle后台
su - oracle
sqlplus / as sysdba
drop user jiwu cascade;   如果在删掉用户的时候报错,请参考下面
exit


ORA-01940: cannot drop a user that is currently connected
--查看用户的连接状况
select username,sid,serial# from v$session;
--status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
select saddr,sid,serial#,paddr,username,status from v$session where username is not null and username='JIWU' and status!='KILLED';
--找到要删除用户的sid,和serial,并删除
alter system kill session '532,4562';


修改文件名 mv /u01/directory/expdpjiwu.dmp /u01/directory/expdpjiwu1.dmp
文件服务器对拷 scp /u01/directory/expdpjiwu.dmp root@10.1.1.120:/u01/directory/


6.impdp system/oracle schemas=jiwu directory=MYDIR table_exists_action=replace dumpfile=expdpjiwu.dmp  logfile=impdpjiwu.log version=11.2.0.4.0 TRANSFORM=segment_attributes:n; 把刚刚备份好的数据还原回去
7.完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值