APP下载

Oracle数据泵的应用

2019-12-22乌鲁木齐孙湘蓉

网络安全和信息化 2019年3期
关键词:备份语句客户端

■ 乌鲁木齐 孙湘蓉

编者按:Oracle数据泵是Oracle提供的更新、更快、更灵活的数据导入、导出工具。本文通过对Oracle数据泵与原有IMP/EXP导入导出功能使用对比分析,着重讨论了基于Oracle数据泵的Oracle数据导入导出方法。

Oracle备份方式主要分为逻辑备份和物理备份。Oracle热备份与冷备份都属于物理备份。用数据泵导出数据备份方式则属于逻辑备份。Oracle数据库导入导出工具,可以使用exp/imp,但这是比较早期的工具。Oracle 10g开始后引入数据泵的方式。相对于传统的exp命令来说,执行效率更高。

数据泵使用

Oracle 10g开始引入数据泵,与传统exp/imp相比,数据泵可以作业分离,允许挂起和恢复导入导出任务,可以从失败点重新启动失败的作业,还可以控制导入导出的版本(version)。

在使用数据泵前,必须创建DIRECTORY并获得访问这么对象的权限,语句如下:

创建dump_scott目录

create directory dump_scott as'/home/oracle/dump/scott'

为dump_scott目录授权

Grant read,write on directory dump_scott toscott

1.expdp命令

(1)常用参数

content :导出数据还是只导出元数据(表和索引创建语句等),选项有:ALL、DATA_ONLY、METADATA_ONLY

directory:dumpfile和logfile的目录对象

dumpfile/logfile

exclude:不导出指定的对象(与这些对象有依赖的也不会导出)eg:exclude=table:"lik e'DBA_%'"

include:导出指定的对象,与exclude功能相反,用法相同

job_name:定 义导出作业的名称

attach:附加到已经在运行的现有作业,用于管理作业

full:默认值为n,full=y表示导出所有对象

nologfile:=y表示不写expdp的日志文件,默认值为n

tables/tablespaces:运行导出指定表/表空间,包括与这个表/表空间有依赖关系的所有对象

version:限制要导出的对象到指定版本的数据库

(2)举例

导出数据库所有对象

Expdp system/pwd@ip/ORACLE_SID dumpfile=dumpdir:db_%U.dmp logfile=dumpdir:db_exp_%U.log job_name=exp_db full=y

2.impdp命令

(1)常用参数

content :导入数据还是只导入元数据(表和索引创建语句等),选项有:ALL、DATA_ONLY、METADATA_ONLY

directory:dumpfile和logfile的目录对象

dumpfile/logfile

include:导入指定的对象,eg:exclude=table:"lik e'DBA_%'"

job_name:定义导入作业的名称

attach:附加到已经在运行的现有作业,用于管理作业

full:默认值为n,full=y表示导出所有对象

nologfile:=y表示不写expdp的日志文件,默认值为n

tables/tablespaces:运行导出指定表/表空间,包括与这个表/表空间有依赖关系的所有对象

table_exists_action:定义当表已经存在时执行的操作

(2)举例

导入数据库所有对象:

impdp system/pwd@ip/ORACLE_SID dumpfile=pumpdir:db_01.dmp logfile=pumpdir:db_imp_%U.log job_name=imp_db full=y

数据泵与传统导入导出方式对比分析

1.导入导出数据泵(expdp/impdp)是服务器端工具。所谓的服务器端工具,简单理解就是这样,你执行命令可以在服务器上,也可以在客户端做,但是命令其实是在Oracle数据库里建job,所以即使你的session断掉了,这个操作一样会继续,并最终完成。对于这个job,你还可以进入交互模式并加以控制。

导入导出工具(exp/imp)是客户端工具。所谓客户端工具,简单理解就是这样,你执行命令可以在服务器上,也可以在客户端做,不过实际上Oracle是通过这个建立起来的session来完成操作,一旦session终端,那么操作也会失败。

2.导入导出数据泵(expdp/impdp)是Oracle 10g的新特性,他的文件格式采用XML。他的操作速度要远远快于exp/imp。

3.导入导出数据泵的数据只能存储在本地服务器目录,Oracle需要你首先创建目录对象,并授予用户正确的读写权限。

4.导入导出数据泵导出文件取数据库字符集,而exp/imp工具生成文件取的字符集受客户端环境变量NLS_LANG影响。

Oracle数据泵在信息系统中的应用

笔者单位利用Oracle数据泵的特性成功解决了LIMS实验室信息管理系统因数据庞大造成数据备份还原经常失败的问题。LIMS系统从2007年运行至今,数据库中已存储大量的数据量。尤其是随着炼油厂色谱分析仪接入数量的增加,色谱仪自动分析结果传输数据量的增加,现有的Oracle(32位)数据库性能已不能满足现有业务应用需求,因此我们新搭建一套LIMS数据库系统,在操作系统Windows Server 2003(64位)上安装Oracle 10g(64位)。利 用Oracle 10g数据泵工具,成功建立了数据库的自动备份机制。将数据库备份时间缩短到20分钟,减小数据库压力,提高系统稳定性。

猜你喜欢

备份语句客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
利用云备份微信聊天记录
如何只备份有用数据而不备份垃圾数据
Windows10应用信息备份与恢复
旧瓶装新酒天宫二号从备份变实验室
媒体客户端的发展策略与推广模式
新华社推出新版客户端 打造移动互联新闻旗舰
我喜欢
冠词缺失与中介语句法损伤研究