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