当前位置: 首页 > 图文教程 > 数据库 > Oracle > Linux ORCLE数据库增量备份脚本

Oracle
如何从Oracle 9i SQL*Loader中生成外部表定义
简单冷备份恢复操作步骤
解决ASM无法启动问题
将Oracle的数据导入EXCEL中的方法
Oracle数据库在线备份原理
利用SQL * Plus复制遗留的Oracle数据表
分析Oracle下导出某用户所有表的方法
利用SQL *Plus复制遗留的Oracle数据表
解决Oracle下的undo空间过大的问题
如何使用Oracle 10gR2's RMAN进行加密备份
利用多个转储文件导出大量Oracle数据
用Rsync备份Dreamhost 到Windows 上
从Access 2000数据库转移到Oracle 9i
利用Oracle执行计划机制提高查询性能
Oracle的自动数据库诊断监控程序剖析
教你Oracle的数据缓冲区是如何工作
Oracle DBA数据库日常维护完全手册
合理设置数据库以提高查询统计速度
Oracle数据库数据锁定机制全面解析
DBA 应遵循的 Oracle 调优原则

Oracle 中的 Linux ORCLE数据库增量备份脚本


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 202 ::
收藏到网摘: n/a

Linux下ORCLE数据库增量备份脚本 (基础篇) ,需要的朋友可以参考下。 ORCLE数据库备份策略
1.通过使用exp和imp命令实现数据库导出和导入。
有三种模式:
a. 用户模式: 导出(导入)用户所有对象以及对象中的数据;
b. 表模式: 导出(导入)用户所有表或者指定的表;
c. 整个数据库: 导出(导入)数据库中所有对象。
如:
普通导出
a.导出一个完整数据库
exp system/manager file=f.dmp full=y
b.导出数据库定义而不导出数据
exp system/manager file=f.dmp full=y rows=n
普通导入:
a.完全导入
imp system/manager file=f.dmp full=y
b.数据库结构存在时,只导入数据
imp system/manager file=f.dmp full=y ignore=y
2.每周进行数据库备份,以防数据库被意外破坏后恢复数据
安排如下:
周一: 完全备份(f1) exp xxx/xxx inctype=complete file=f1.dmp
周二: 增量备份(f2) exp xxx/xxx inctype=incremental file=f2.dmp
周三: 增量备份(f3) exp xxx/xxx inctype=incremental file=f3.dmp
周四: 增量备份(f4) exp xxx/xxx inctype=incremental file=f4.dmp
周五: 累积备份(f5) exp xxx/xxx inctype=cumulative file=f5.dmp
周六: 增量备份(f6) exp xxx/xxx inctype=incremental file=f6.dmp
周日: 增量备份(f7) exp xxx/xxx inctype=incremental file=f7.dmp
比如数据库在周日被破坏,则可用以下方式恢复:
1.创建空的数据库,同之前的结构。
2.imp xxx/xxx inctype=RESTORE FULL=y FILE=f1.dmp
3.imp xxx/xxx inctype=RESTORE FULL=y FILE=f5.dmp
4.imp xxx/xxx inctype=RESTORE FULL=y FILE=f6.dmp
说明:
完全导出:对整个数据库的备份
增量导出:是备份上一次完全导出后改变的数据。
累积导出:是备份自上次完全导出后改变的数据。
EXAMPLE:LINUX下备份数据库
BACKUP_DIR=/home/oracle/backups
if [ ! -d $BACKUP_DIR ]; then
mkdir -p $BACKUP_DIR
fi
DAYS=(Sun Mon Tue Wed Thu Fri Sat) #创建数组
TYPES=(incremental complete incremental incremental incremental cumulative incremental)
day=`date +%w` #取得本周天数,0代表周日,1代表周一
DAY_NAME=${DAYS[$day]} #取得数组的值
TYPE=${TYPES[$day]}
DATE_NAME=`date +%F`
FILE_NAME=${DATE_NAME}-${DAY_NAME}-${TYPE}.dmp #2008-12-8-Mon-complete.dmp
exp xxx/xxx inctype=$TYPE file=${BACKUP_DIR}/${FILE_NAME} > /dev/null
gzip ${BACKUP_DIR}/${FILE_NAME}
find $BACKUP_DIR -mtime +7 -delete #删除七天前更改过的文件