oracle-备份与恢复基础知识
高考历史、文综历史专题复习【全部完成】
Oracle Export/Import工具提供了灵活多样的功能和导出/导入模式,最常使用的三种模式是User、table和full database。除此以外,还可以在导出/导入时决定是否包含与对象有关的数据字典信息,如索引、约束、权限等等。
注意:通过逻辑备份可以备份整个数据库, 或仅备份部分重要数据。因为是逻辑上的备份,故只能用于逻辑的恢复数据, 一旦数据库被物理损坏, 导致不能启动,逻辑备份的数据不能帮助恢复数据库。
1. Export/Import的使用举例:(以下操作均为在
(1). 将一个用户的对象导入到另一个用户模式中:
把数据库中原有的用户Export至一个dmp文件(如把用户olduser的对象导出到文件olduser0701.dmp中):
$ exp sys/password file= olduser0701 owner=olduser grant=N indexes=Y rows=Y
从dmp文件中把一个用户的对象import至一个用户的模式中(从olduser0701.dmp中,把用户olduser的对象导入到用户newuser中):
$imp sys/password file=olduser0701 fromuser=olduser touser=newuser indexes=Y rows=Y
(2). 导入时避免出现ORA-00942(表或是图不存在)错误:
因为,导出是按照在数据库中对象建立的顺序进行的,从而在导入时,数据库对象之间的依赖性会引起某些先导入对象找不到其依赖对象(如view、procedure等等),就会引起ORA-00942(表或是图不存在)错误。通常解决这种问题的方法是,做两次导入工作,第一遍导入时设置如下:
$ imp sys/password file=demo0701 full=Y commit=y rows=Y
导入时如果出现错误,就修改设置:rows=n,ignore=n:
$ imp sys/password file=demo0701 full=Y rows=N commit=Y ignore=N
(3). 做无增量的全数据库备份及恢复的例子:
全数据库Export至dmp文件(如sidfull0701.dmp):
$ exp sys/password file=sidfull0701.dmp Full=y -- rows确省为Y
把整个数据库备份的sidfull0701.dmp文件至数据库中:
$ imp sys/password file=sidfull0701.dmp ignore=y full=y-- rows确省为Y
注意:导入/导出是最彻底的减少磁盘碎片的方法。
===
2. 备份策略和综合应用举例:
(1). 做全数据库增量备份和恢复的方法:
全数据库Export至dmp文件(如sidfull0701.dmp):
$ exp sys/manager file= sidfull0701.dmp Full=y inctype=complete
第一天增量备份Export至dmp文件(如sidincr1.dmp):
$ exp sys/manager file= sidincr1.dmp inctype=incremental
第二天增量备份Export至dmp文件(如sidincr2.dmp):
$ exp sys/manager file= sidincr2.dmp inctype
=incremental
第三天增量备份Export至dmp文件(如sidincr3.dmp):
$ exp sys/manager file= sidincr3.dmp inctype=incremental
现假设Oracle数据库在第三天被破坏了重新建一个O


