ITPub博客

首页 > 数据库 > Oracle > 全库导入用户数据库的快捷方法

全库导入用户数据库的快捷方法

原创 Oracle 作者:associate 时间:2015-11-17 15:30:49 0 删除 编辑
我们时常会进行用户数据库的全库导出和导入,导入时,采用传统方法,一般步骤如下:
1.创建空库
2.创建应用系统的用户
3.核对并补建表空间。
有时,没有用户环境来比对,只好根据导入时的错误信息来补建表空间,自己写脚本,比较繁锁。

如果用数据泵导入,并且有原库的环境可执行查询的话,采用下面的方法,转换数据文件路径,可以免去上述的第2和第3步.
1.在原库执行下面的查询,生成数据文件映射脚本,其中E:\ORADATA\DY和J:\oradata\dyzc分别为源库和目标库的数据文件路径
Select 'remap_datafile="''' || File_Name || ''':''' || Replace(File_Name, 'E:\ORADATA\DY', 'J:\oradata\dyzc') || '''"'
From Dba_Data_Files
union all
Select 'remap_datafile="''' || File_Name || ''':''' || Replace(File_Name, 'E:\ORADATA\DY', 'J:\oradata\dyzc') || '''"'
From Dba_temp_Files  

源数据文件与目标数据文件之间用冒号分开,需要注意的是datafile的路径和名称windows平台(要导入的目标库)是用双引号括起来的,linux平台上是用单引号

2.将查询结果以txt文件方式存放到要导入的目标机器上(例如:F:\dataexp\imp_par.txt)
3.在要导入的目标机器上,创建空的数据库后,创建目录对象
CREATE DIRECTORY dump_dir AS  'F:\dataexp';
4.将导出文件放到上述目录,执行导入操作
impdp 'sys/his@dyzc as sysdba' directory=expdp_dir dumpfile=full_dump_dy.dmp full=y logfile=full_imp.log parfile='F:\dataexp\imp_par.txt' reuse_datafiles=y parallel=8
其中 并行度参数parallel根据硬件情况,以及导出时的并行参数来指定。


这种方法,可以根据指定的参数文件中的数据文件映射关系来转换路径,自动创建表空间和用户。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/117319/viewspace-1839894/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-31

  • 博文量
    24
  • 访问量
    232517