oracle数据库逻辑备份工具称之为导入导出_导入的命令,Oracle数据库逻辑备份和恢复——用exp和imp命令来实现==转...

http://express.ruanko.com/ruanko-express_23/technologyexchange8.html

EXP和IMP是Oracle提供的一种逻辑备份工具。逻辑备份创建数据库对象的逻辑拷贝并存入一个二进制转储文件。这种逻辑备份需要在数据库启动的情况下使用, 其导出实质就是读取一个数据库记录集(甚至可以包括数据字典)并将这个记录集写入一个文件,这些记录的导出与其物理位置无关,导入实质就是读取转储文件并执行其中的命令。此备份方式是通过Oracle的实用工具export和import来实施的, export是把数据库中的数据导出,import是把export卸出的数据导入数据库中。通过此工具可以衍生出多种功能, 比如整个数据库的备份、表结构重建、数据的传输、用户的改变等等。

Oracle Export/Import工具提供了灵活多样的功能和导出/导入模式,最常使用的三种模式是User、table和full database。除此以外,还可以在导出/导入时决定是否包含与对象有关的数据字典信息,如索引、约束、权限等等。

注意:通过逻辑备份可以备份整个数据库, 或仅备份部分重要数据。因为是逻辑上的备份,故只能用于逻辑的恢复数据, 一旦数据库被物理损坏, 导致不能启动,逻辑备份的数据不能帮助恢复数据库。

首先介绍下 Export/Import的命令用法:

(1)将一个用户的对象导入到另一个用户模式中

把数据库中原有的用户Export至一个dmp文件(如把用户olduser的对象导出到文件*****.dmp中):命令: exp sys/password file=******.dmp owner=olduser grant=N

indexes=Y rows=Y

从dmp文件中把一个用户的对象import至一个用户的模式中(从******.dmp中,把用户user的对象导入到用户newuser中):命令:imp sys/password file=******,dmp fromuser=olduser

touser=newuser indexes=Y rows=Y

(2)导入时避免出现ORA-00942(表或是图不存在)错误

因为,导出是按照在数据库中对象建立的顺序进行的,从而在导入时,数据库对象之间的依赖性会引起某些先导入对象找不到其依赖对象(如view、procedure等等),就会引起ORA-00942(表或是图不存在)错误。通常解决这种问题的方法是,做两次导入工作,第一遍导入时设置如下:命令: imp sys/password file=******.dmp full=Y commit=y rows=Y

导入时如果出现错误,就修改设置:rows=n,ignore=n:命令: imp sys/password file=******.dmp full=Y rows=N

commit=Y ignore=N

(3)做无增量的全数据库备份及恢复的例子

全数据库Export至dmp文件(如******.dmp):命令: exp sys/password file=******.dmp Full=y -- rows确省为Y

把整个数据库备份的******.dmp文件至数据库中:命令: imp sys/password file=******.dmp ignore=y full=y-- rows确省为Y

注意:导入/导出是最彻底的减少磁盘碎片的方法。

其次介绍下数据库备份策略:

(1)做全数据库增量备份和恢复的方法:

全数据库Export至dmp文件(如******.dmp)命令: exp sys/manager file= ******.dmp Full=y inctype=complete

第一天增量备份Export至dmp文件(如第一天1.dmp):命令: exp sys/manager file= 第一天1.dmp inctype=incremental

第二天增量备份Export至dmp文件(如第二天2.dmp):命令: exp sys/manager file= 第二天2.dmp inctype=incremental

第三天增量备份Export至dmp文件(如第三天3.dmp):命令: exp sys/manager file= 第三天3.dmp inctype=incremental

现假设Oracle数据库在第三天被破坏了重新建一个Oracle数据库,先把最后的一个dmp文件imp至数据库中:命令: imp sys/manager file= 第三天3.dmp full=y ignore=y inctype=system

把整个数据库备份的dmp文件imp至数据库中:命令: imp sys/manager file= ******.dmp ignore=y full=y

inctype=restore

把第一天增量备份的dmp文件imp至数据库中:

命令: imp sys/manager file= 第一天1.dmp ignore=y full=y inctype=restore

把第二天增量备份的dmp文件imp至数据库中:命令: imp sys/manager file= 第二天2.dmp ignore=y full=y inctype=restore

把第三天增量备份的dmp文件imp至数据库中命令: imp sys/manager file= 第三天3.dmp ignore=y full=y inctype=restore

(2)利用windows任务计划定时备份数据库:

把上面各个命令写成各个bat脚本, 然后添加备份的定时器,具体的配置步骤如下:

我的环境是windowxp操作系统,在附件选择系统工具,选择任务计划,然后点击“添加任务计划”,一步一步的按照提示往下走,定制的每个bat执行的时间,这样,就可以定时的执行数据库备份的任务任务。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值