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

我们时常会进行用户数据库的全库导出和导入,导入时,采用传统方法,一般步骤如下:
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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/117319/viewspace-1839894/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值