Ubuntu下Oracle数据库恢复方法需根据备份类型选择,以下是常用方式及操作要点:
适用场景:数据文件、控制文件损坏或需完整恢复数据库。
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
rman target /
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN;
若需重置日志(如不完全恢复):ALTER DATABASE OPEN RESETLOGS;
适用场景:逻辑备份(如表、用户数据)或跨版本迁移。
CREATE DIRECTORY dp_dir AS '/path/to/backup';
GRANT READ, WRITE ON DIRECTORY dp_dir TO username;
impdp username/password@SID FULL=Y DIRECTORY=dp_dir DUMPFILE=backup.dmp LOGFILE=import.log
参数说明:
FULL=Y
:全库导入;TABLE_EXISTS_ACTION
:处理表冲突(如REPLACE
覆盖)。适用场景:误操作(如误删数据)且需恢复到特定时间点。
SELECT * FROM v$flashback_database_log;
FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('YYYY-MM-DD HH24:MI:SS', '2025-01-01 10:00:00');
ALTER DATABASE OPEN;
RMAN VALIDATE BACKUP
命令检查。SYSDBA
或具备相应权限的用户。工具选择参考: