日期:2014-05-16  浏览次数:20848 次

oralce数据备份与还原的问题,在线等
oracle中,有很多表,

1 如何对oralce中的一个user表,进行备份呢,又怎么还原呢,
2 能不能每天定时在早上2点定时备份呢,

大家帮我想下,多谢.
------解决方案--------------------
exp tables={...}
------解决方案--------------------
同意一楼的,系统做一个2点的计划任务,然后用oracle的exp命令导出一个dmp文件,还原的话就用imp把dmp文件还原回去,推荐使用expdb和impdb
------解决方案--------------------
以前回答过类似的帖子。
一、编写备份命令脚本:
1、新建文本文档编辑内容如下:
实例:
exp sd_run/sd_run@orcl file=D:/sdsbbak/dmp/sdsb_run%date:~0,10%.dmp log=D:/sdsbbak/log/sdsb_run%date:~0,10%.log
2、另存为bat文件格式。

下面是对以上命令的解释:
exp 用户名/密码@服务名称 file=D:/sdbak/dmp/sddata%date:~0,10%.dmp log=D:/sdbak/log/sddata%date:~0,10%.log
file=D:/sdbak/dmp/      文件存放位置
sddata%date:~0,10%.dmp  备份文件名称(文件名+备份日期)
log=D:/sdbak/log/sddata%date:~0,10%.log   同上,备份的是日志文件。
参考tnsnames.ora监听文件

以上备份的是全部表,你也可以选择某些表进行备份。
二、添加定时任务计划
1、添加任务计划,如下图


2、选择命令脚本,点击“浏览”,选择第一步写好的bat命令脚本。


填写好定时执行的时间、频率,点下一下,直至完成。

这样你的定时备份任务计划就完成了
三、还原备份文件(导入备份文件)
imp sd_run/sd_run@orcl file=D:/sdsbbak/sddata2014-01-13.dmp full=y
以上是导入全部备份表、文件
也可以选择性的
如:imp sd_run/sd_run@orcl tables(user) file=D:/sdsbbak/sddata2014-01-13.dmp 
------解决方案--------------------
问题1,什么平台?
问题2,数据量多大?
问题3:业务高峰和低谷在什么时候?
问题4:是否允许服务器宕机,如果允许,允许的服务器宕机时间;
问题5:能够容忍的数据丢失量;

如果没把这几个问题说清楚,制定的备份和恢复策略有问题。