写一个对oracle数据库完整备份的shell脚本
#!/bin/bash
设置 Oracle 环境变量
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl
设置备份目录和文件名
BACKUP_DIR=/u01/backup BACKUP_FILE=orcl_full_$(date +%Y%m%d).dmp
备份全库
expdp system/password full=Y directory=backup_dir dumpfile=$BACKUP_FILE logfile=backup.log
使用 RMAN 备份控制文件和归档日志
rman target / << EOF backup as compressed backupset format '$BACKUP_DIR/%U' controlfile; backup as compressed backupset format '$BACKUP_DIR/%U' archivelog all delete input; EOF
压缩备份文件
gzip $BACKUP_DIR/$BACKUP_FILE
删除过期备份
find $BACKUP_DIR -name "orcl_full_*" -type f -mtime +7 -exec rm {} ;
输出备份完成信息
echo "Oracle database backup is completed at $(date +%Y-%m-%d_%H:%M:%S)."
原文地址: https://www.cveoy.top/t/topic/g3A 著作权归作者所有。请勿转载和采集!