你提到的 “Ubuntu Oracle 怎样恢复” 可能有几种不同场景,下面我分情况说明,你可以对照自己的情况看。
如果你有 RMAN 备份:
# 切换到 oracle 用户
sudo su - oracle
# 启动 RMAN
rman target /
# 恢复控制文件(如果有备份)
restore controlfile from '/backup/controlfile.bak';
# 挂载数据库
alter database mount;
# 恢复数据库
restore database;
recover database;
# 打开数据库
alter database open;
如果是 不完全恢复(比如恢复到某个时间点):
recover database until time '2024-01-01 10:00:00';
alter database open resetlogs;
alter database datafile '/u01/oradata/ORCL/data01.dbf' offline;
然后用 RMAN:
restore datafile 5;
recover datafile 5;
再 online:
alter database datafile 5 online;
如果你是 系统重装了 Ubuntu,但 Oracle 数据还在磁盘上:
ORADATA 目录挂载回来startup mount;
alter database open;
⚠️ 注意:Oracle 版本、SID、文件路径必须一致。
.bash_profilespfile / pfile 启动lsnrctl status
lsnrctl start
sqlplus / as sysdba
startup
查看错误:
select * from v$diag_info;
SELECT * FROM emp
AS OF TIMESTAMP SYSTIMESTAMP - INTERVAL '1' HOUR;
FLASHBACK TABLE emp TO TIMESTAMP
TO_TIMESTAMP('2024-01-01 10:00:00','YYYY-MM-DD HH24:MI:SS');
你可以补充:
我可以一步一步带你恢复。