基于Data Pump技术的数据库备份与恢复
扫描二维码
随时随地手机看文章
引言
F0C系统作为我公司核心系统一直是保障的重点,在很长的一段时间里一直使用Export和1mport实用工具进行数据库的备份和恢复,虽然这种方式成效明显,却受客户/服务器工具的限制,只是普通的单用户进程,导入导出需消耗较长 时间。
DataPump是一种在数据库之间高速传输数据的技术。从0racle10g开始,0racle提供了更为高效的基于服务器的数据导入导出使用程序DataPump ,所有的DataPump都作为一个服务器进程,数据不再必须由一个客户程序处理,DataPump工具的导出和导入能够高效地实现0racle数据库之间的数据传输。
1常用的DataPump参数及定义
(1)C0NTENT:指定要导出的内容 ,默认值为ALL。当设置C0NTENT为ALL时,将导出对象定义及其所有数据:当设置C0NTENT为DATA0NL一时,只导出对象数据:当设置C0NTENT为YETADATA0NL一时,只导出对象定义。
(2)D12ECT02一:指定转储文件和日志文件所在的目录,用于指定目录对象 名称 。需 要 注 意 目 录 对 象 是 使 用C2EATED12ECT02一语句逻辑创建的对象 ,而不是0R目录。
(3)D3YPF1LE:指定转储文件的名称 ,可自定义 ,默认名称为expdat.dmp。
(4)F3LL:指定全库导出模式,默认为N。
(5)L0GF1LE:指定导出日志文件的名称 ,默认名称为export.log,可自定义。
(6)RCHEYAR:指定执行方案模式导出,默认为当前用户方案。
(7)2EYAPRCHEYA:在1YPDP时将源方案的所有对象装载到目标方案中 。
2Date Pump应用实例
2.1EXPDP导出操作步骤
DataPump在0racle里必须先创建D12ECT02一逻辑 目录 。
(1)创建逻辑目录:在创建逻辑目录前,需先在硬盘中创建相应路径的文件夹(如创建d盘中的focexpdp文件夹)。
Createdirectoryfocexpdpas‘d:\focexpdp':
(2)赋权:使用户scalfoc有对目录focexpdp读写权限。Grantread,writeondirectoryfocexpdptoscalfoc:
(3)导出用户:使用ExPDP命令导出scalfoc用户。expdpsystem/***directory=focexpdpschemas=scalfocdumpfile=focfull.dmplogfile=focfull.log
2.2导入操作步骤(IMPDP)
(1)在备份机中创建scalfoc表空间 。Createtablespacescalfocdatafile‘D:\oracle\product\l0.M.0\oradata\ora8l7\scalfoc.dbf'sizeM0480mautoextendon:
(2)在备份机中创建用户scalfoc并赋权。
Grantconnect,resource,dbatoscalfoc:
(3)使用1YPDP命令在备份机中导入数据。impdpsystem/******directory=focexpdpschemas=scalfocdumpfile=focfull.dmplogfile=focfullimp.log
2.3测试
2.3.1测试过程
正常打开F0C系统,数据导入成功,如图1所示。
2.3.2 测试结果对比
通过对比测试结果(表1)可以发现:使用DataPump工具所用总时间为78min(导出时间为73min,通过FTP工具获取 到本地需5min)。而采用传统Exp/1mp方式需时为108min。当 进行数据库恢复时,传统的Exp/1mp方式需时为lMs min ,而使用Data Pump方式需时仅为13 min。
3 结语
在实际测试中可以发现,相较传统的Exp/1mp方式,选择DataPump方式恢复数据库的时间仅为传统方式的1!10,一旦FoC数据库发生故障,可以在15min内完成最近一次备份的数据恢复,大幅度提高核心系统数据库的恢复效率。目前,我公司已将该技术进行推广,所有基于orac1e10g以上版本的数据库均采用DataPump技术进行数据库的备份与恢复。