周末要做一个小型的数据迁移,确定使用expdp,impdp工具做迁移。
os版本: Red Hat Enterprise Linux Server release 6.6
数据库版本: oracle 11.2.0.4
1. 查看源库所有表空间和数据文件,确定所要迁移的用户数据所在的表空间。
select * from
(select tablespace_name,file_name from dba_data_files where tablespace_name not in ('SYSTEM','SYSAUX','USERS','UNDOTBS1','TEMP') order by 1 )
union all
(select tablespace_name,file_name from dba_temp_files where tablespace_name not in ('TEMP') ) ;
2. 创建目标表空间批量的SQL,创建表空间。
数据表空间的创建脚本:
select 'create tablespace '||a.tablespace_name||' datafile ''+DATA/xxxxx/datafile/'||b.tablespace_name||'01.dbf'' size 5g autoextend on;' from
(select tablespace_name from dba_tablespaces where tablespace_name not in ('SYSTEM','SYSAUX','USERS','UNDOTBS1') and contents not in ('TEMPORARY')) a,
(select tablespace_name from dba_tablespaces where tablespace_name not in ('SYSTEM','SYSAUX','USERS','UNDOTBS1') and contents not in ('TEMPORARY') ) b
where a.tablespace_name=b.tablespace_name
order by 1 ;
3. 在源端做数据导出。
expdp username/passwd directory=exp_dir dumpfile=expdp_xxxxx_1129.dmp log=/ulic/backup/expdp_xxxxx_1129.log schemas=xxxxx;
4. 将导出的dmp文件通过sftp工具down到目标端。
sftp oracle@10.x.x.x
5. 在目标端做数据导入。
impdp username/passwd directory=exp_dir dumpfile=expdp_xxxxx_1129.dmp log=/ulic/backup/expdp_xxxxx_1129.log schemas=xxxxx;
一篇很有用的文章
http://blog.itpub.net/21374452/viewspace-2129360/
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21374452/viewspace-2129380/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21374452/viewspace-2129380/