在Ubuntu上實現Oracle數據備份與恢復,常用工具及方法如下:
使用expdp
導出數據庫邏輯數據,生成.dmp
文件:
expdp username/password@SID directory=DATA_DIR dumpfile=backup.dmp full=y logfile=backup.log
DATA_DIR
需提前通過SQL命令創建邏輯目錄并授權(如CREATE OR REPLACE DIRECTORY DATA_DIR AS '/path/to/backup';
)。使用impdp
導入數據:
impdp username/password@SID directory=DATA_DIR dumpfile=backup.dmp full=y logfile=restore.log
INCREMENTAL
參數)或指定表恢復(通過SCHEMAS
/TABLES
參數)。使用RMAN
執行全量或增量物理備份:
rman target /
BACKUP DATABASE PLUS ARCHIVELOG; # 全量備份(含歸檔日志)
BACKUP DATAFILE '/path/to/datafile' PLUS ARCHIVELOG; # 單文件備份
$ORACLE_HOME/dbs
目錄,可通過CONFIGURE
命令設置遠程存儲路徑。rman target /
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
rman target /
RESTORE DATABASE FROM TAG '增量備份標簽';
RECOVER DATABASE;
rsync
或tar
復制數據庫文件(數據文件、控制文件、歸檔日志):rsync -avz /u01/app/oracle/oradata/ /backup/oradata/
rsync -avz /backup/oradata/ /u01/app/oracle/oradata/
sudo systemctl restart oracle
ARCHIVELOG
),以支持增量恢復。RMAN LIST BACKUP
或impdp
測試備份文件可用性。參考來源: