ORA-01110报错中单引号内的路径即为损坏文件名,是明确结论而非线索;需立即用ls -l或asmcmd验证该路径存在性、状态及SCN一致性,并比对v$datafile与v$datafile_header的CHECKPOINT_CHANGE#确认是否需介质恢复。
ORA-01110本身不表示“出错了”,它只是在告诉你“问题出在这个文件上”。报错格式固定为:ORA-01110: data file : '',其中是数据文件号,是完整物理路径——这就是你要立刻验证的目标,不是线索,是结论。
常见错误是去查ORA-01157或ORA-01122文档,却漏掉末尾单引号里的内容。直接复制整个(含单引号),粘贴进终端执行:ls -l '';如果是ASM路径(如+DATA/ORCL/DATAFILE/users.256.123456789),必须用asmcmd ls -l +DATA/ORCL/DATAFILE/users.256.123456789,ls无效。
MISSING00005,说明控制文件没登记该文件,需补进或重建users01.dbf.bak,而RMAN试图恢复到users01.dbf,冲突即根源RMAN RESTORE只拷文件,不更新检查点;RECOVER才刷SCN。如果恢复后立即ALTER DATABASE OPEN,而文件头SCN仍落后于控制文件记录值,Oracle就会卡在ORA-01110并拒绝打开。
执行这两条SQL查差异:
SELECT FILE#, CHECKPOINT_CHANGE# FROM V$DATAFILE_HEADER WHERE FILE# = ;
SELECT FILE#, CHECKPOINT_CHANGE# FROM V$DATAFILE WHERE FILE# = ;
若两个CHECKPOINT_CHANGE#不一致,说明RECOVER没完成,不是文件损坏,是日志没跟上。
RECOVER DATAFILE
V$ARCHIVED_LOG里找不到对应FIRST_CHANGE# → 归档被清理或路径未注册,需手动指定归档位置恢复STATUS = 'OFFLINE'且ENABLED = 'DISABLED' → 不能直接ONLINE,必须先RECOVER DATAFILE
LIST FAILURE依赖当前控制文件状态,如果控制文件本身陈旧(比如从旧备份恢复过),它可能漏掉已损坏但尚未被识别的文件。真正权威的日志在alert_.log和DBWR/ARCn进程trace里。
关键动作:
tail -n 50 $ORACLE_BASE/diag/rdbms///trace/alert_.log搜ORA-01110附近上下文,常能看到前置错误如ORA-01157或ORA-00376
V$DIAG_INFO定位trace目录,进trace/子目录找最近的DBWR_*.trc,里面会有datafile block corruption细节v$database_block_corruption有记录,FILE#字段直接对应ORA-01110里的,无需猜测物理备库上STATUS = 'OFFLINE'很常见,但真正决定能否操作的是ENABLED列。如果ENABLED = 'DISABLED',说明这个文件已被逻辑排除在恢复流程外,此时执行ALTER DATABASE DATAFILE ONLINE必然触发ORA-01113。
正确路径只有两条:
RMAN RECOVER DATAFILE BLOCK 修复坏块,或RESTORE DATAFILE 重拉整文件cp新文件过来,并在备库执行ALTER DATABASE CREATE DATAFILE ''注册,否则RECOVER会一直失败最易忽略的点:备库RECOVER DATAFILE默认只找LOG_ARCHIVE_DEST_n下已注册的归档,如果归档被mv走或路径变更,RMAN不会自动发现——得用USING BACKUP CONTROLFILE UNTIL CANCEL手动喂路径。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)