--数据库导出
--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;