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;
)?;謴蜁r需依次應用全備份和所有后續增量備份。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
減少備份文件大?。ㄈ?code>BACKUP AS COMPRESSED BACKUPSET DATABASE;);CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
設置保留30天的備份,自動清理過期備份。