在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测试备份文件可用性。参考来源: