oracle full database backup

本文介绍了一个使用RMAN进行Oracle数据库备份的shell脚本。该脚本包括清除过期备份、检查归档日志、全备数据库、备份归档日志及控制文件等操作。通过分配多个通道提高备份效率,并采用压缩备份集减少存储占用。


#!/bin/sh
source /home/oracle/.bash_profile


DICPATH=/oafile/archlog


LOGPATH=$DICPATH/backuplog
DATPATH=$DICPATH/backup


rman target /  nocatalog msglog=$LOGPATH/rman_db_`date '+%Y%m%d%H%M%S'`.log <<EOF 
#rman target sys/c21nzhxg24cd@20.1.1.11/c2db1.19pay.com  nocatalog msglog=$LOGPATH/rman_db_`date '+%Y%m%d%H%M%S'`.log <<EOF


run{
REPORT OBSOLETE;
crosscheck archivelog all;
DELETE force NOPROMPT OBSOLETE;
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset full database  tag 'dbfull' format '$DATPATH/dbfull_%u_%s_%p' ;
sql 'alter system archive log current';
backup as compressed backupset filesperset 3 archivelog all tag 'arch' format '$DATPATH/arch_%u_%s_%p' delete input;
backup current controlfile tag 'ctl' format '$DATPATH/ctl_%s_%p_%t';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
DELETE force NOPROMPT OBSOLETE;
}
exit;


EOF


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16976507/viewspace-2132431/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16976507/viewspace-2132431/

### ### 简单易用的 Oracle 数据库备份工具推荐 在选择简单易用的 Oracle 数据库备份工具时,需兼顾功能性、操作便捷性以及对不同备份场景的支持能力。以下是几种主流且易于使用的备份方案: #### **1. RMAN(Recovery Manager)** RMAN 是 Oracle 自带的物理备份与恢复工具,具备高效、稳定的特点。它支持全量备份、增量备份以及归档日志备份等多种方式,适用于生产环境中的数据保护需求。例如,使用 RMAN 进行全量备份的基本命令如下: ```bash RUN { ALLOCATE CHANNEL c1 TYPE DISK; BACKUP DATABASE FORMAT '/backup/rman/full_%U'; RELEASE CHANNEL c1; } ``` 该命令通过分配磁盘通道执行数据库全量备份,并将备份文件存储至指定路径[^1]。 #### **2. Data Pump Export (expdp) / Import (impdp)** Data Pump 提供了高效的逻辑备份能力,支持按用户、表空间或整个数据库进行导出操作。相较于传统的 `exp` 工具,其性能更优,适合需要灵活选择备份对象的场景。例如,执行完整数据库导出的命令如下: ```bash expdp system/password FULL=Y DIRECTORY=backup_dir DUMPFILE=full_backup.dmp LOGFILE=export.log ``` 此命令中,`FULL=Y` 表示导出整个数据库,`DIRECTORY` 指定转储文件的目录对象,`DUMPFILE` 定义输出文件名称,`LOGFILE` 则生成日志记录[^1]。 #### **3. Shell 脚本 + OS 文件拷贝(冷备份)** 对于小型数据库或测试环境,可通过编写 Shell 脚本实现冷备份。该方法要求在关闭数据库后手动复制数据文件、控制文件和归档日志文件到备份目录。以下是一个简单的冷备份脚本示例: ```bash #!/bin/bash # 关闭数据库 sqlplus / as sysdba << EOF SHUTDOWN IMMEDIATE; EOF # 备份数据文件 cp -r /u01/oradata/mydb /backup/cold/ # 启动数据库 sqlplus / as sysdba << EOF STARTUP; EOF ``` 此方法适用于非生产环境或对停机时间不敏感的系统[^2]。 #### **4. 第三方开源工具** 一些开源项目也支持 Oracle 数据库的备份操作,如 Bacula 和 Amanda,它们可用于集中管理多个数据库服务器的备份任务,支持自动调度和远程存储。此外,结合 `rsync` 使用脚本可实现基于文件系统的物理备份同步,尤其适合异地容灾场景[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值