1. 物理备份
物理备份是直接复制Oracle数据库物理文件的备份方式,适用于CentOS环境下对数据一致性要求高的场景,主要包括以下两类:
shutdown immediate)状态下执行,备份所有数据文件(*.dbf)、控制文件(control01.ctl)、重做日志文件(redo01.log)等。其优点是备份一致性高、恢复过程简单;缺点是无法实现点恢复(Point-in-Time Recovery),且备份期间数据库不可用。alter database archivelog;)后执行,可在数据库运行时备份数据文件。通过ALTER TABLESPACE xxx BEGIN BACKUP;标记备份开始,完成后用ALTER TABLESPACE xxx END BACKUP;结束。热备份允许点恢复,但可能对系统性能产生一定影响。2. 逻辑备份
逻辑备份是通过Oracle工具将数据库中的逻辑结构(表、视图、存储过程等)和数据导出为文件的备份方式,适用于需要导出特定对象或跨数据库迁移的场景:
exp用于导出数据(如exp scott/tiger file=scott.dmp owner=scott),imp用于导入数据(如imp scott/tiger file=scott.dmp)。适合小规模数据迁移,但效率较低。parallel=4)、压缩(compression=all)和增量备份(incremental=true)。例如,导出SCOTT用户的表可使用expdp scott/tiger directory=dump_dir dumpfile=scott.dmp tables=(emp,dept),导入时用impdp scott/tiger directory=dump_dir dumpfile=scott.dmp。3. 增量与差异备份
增量与差异备份是基于全备份的优化策略,用于减少备份时间和存储空间:
BACKUP INCREMENTAL LEVEL=1 DATABASE PLUS ARCHIVELOG;)。恢复时需依次应用全备份和所有后续增量备份。4. 归档日志备份
归档日志备份是备份数据库的归档重做日志文件(archive log),用于实现点恢复。当数据库处于归档模式时,重做日志文件会写满后自动归档(alter system archive log current;)。备份归档日志的命令如BACKUP ARCHIVELOG ALL DELETE INPUT;(RMAN中),需定期执行以避免归档日志占满磁盘空间。
5. 自动化备份
通过脚本和定时任务(crontab)实现备份的自动化执行,减少人工干预。例如,在CentOS中编辑crontab -e,添加以下内容可实现每日自动备份:
0 1 * * 0 /home/oracle/backup_ora_level0.sh);0 1 * * 1,2,3,4,5,6 /home/oracle/backup_ora_level1.sh)。log=/home/oracle/rmanlog/${TIME}.log),便于后续检查。6. 备份验证
备份完成后,需验证备份文件的完整性和可恢复性,避免因备份失败导致数据无法恢复。常用方法包括:
VALIDATE BACKUPSET命令检查备份集是否可恢复(如RMAN> VALIDATE BACKUPSET 123;);RESTORE DATABASE;),并执行RECOVER DATABASE UNTIL SCN 123456;,确认数据是否正确恢复。7. RMAN(Recovery Manager)备份
RMAN是Oracle内置的专业备份恢复工具,支持物理备份(数据文件、控制文件、归档日志)和逻辑备份(通过BACKUP AS COPY DATABASE),并提供以下高级功能:
INCREMENTAL LEVEL参数实现Level 0(全备份)、Level 1(增量备份);AS COMPRESSED BACKUPSET减少备份文件大小(如BACKUP AS COMPRESSED BACKUPSET DATABASE;);CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;设置保留30天的备份,自动清理过期备份。