oracle11g数据导入导出

--数据库导出
--oracle 11g使用expdp导出,原因可以google
--第一步,先查看数据库有没有创建过导出的目录

select * from dba_directories;
--如果有,选定一个,登录到数据库服务器,确认目录是否有空间
--linux&unix可以使用
df -k
--如果没有创建过目录,那么使用sysdba执行以下sql:
create directory dumpdir as ‘路径‘;

--第二步,导出数据
su - oracle
expdp A3/oracle dumpfile=xxxx.dmp directory=    schemas=;

--把数据文件上传到测试服务器下xx

ftp xxx.xx.xx.xx

get
/u01/oraclebak/XXXX.dmp
/u01/oraclebak2/XXXX.dmp


--停止测试OA服务


--第三步,由于impdp导入的时候使用的是原有用户,那么我们需要把将要导入的数据库的对应用户删除(前提是有,没有则进行第四步)
su - oracle
sqlplus /nolog
conn /as sysdba
drop user A3 cascade;

drop user  A2  cascade;


--第四步,在目标数据库中重复步骤一

--第五步,导入数据
su - oracle
impdp test/oracle directory=   DUMPFILE=XXXX.dmp logfile=XXXX.log


--备注:
--remap_schema=A3:A2 把A3用户替换A2

impdp system/oracle  DIRECTORY=ORABAK DUMPFILE=XXXX.dmp  schemas= remap_schema=    remap_tablespace=
--第六步,验证数据

--这个是没有停止应用导出的数据,所以存在一定的不一致(id,与sequence的不一致),但不影响使用
truncate table sysmaintenancelog;

 

 


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。