常见 ORA 怎么拆

不要把完整 alert 日志贴到公网。下面只记分类和处理方向。

ORA-00257 归档满

归档目的地写满,库可能挂起。先看目的地空间,归档或删已备份的归档,再查为什么没被备份进程清走。

ORA-01555 snapshot too old

查询时间跨度大于 UNDO 能保留的一致性读。查长查询、批处理、UNDO 表空间。加 UNDO 只是其中一个手段,缩短查询或避免超大读一致才是根。

ORA-01653 / 01654 不能扩展

表或索引所在表空间满。看 dba_free_space、数据文件是否 AUTOEXTEND、文件系统是否还有余量。

ORA-00054 资源忙

别人锁着对象。回到会话阻塞那套查询,不要循环重试 DDL。

ORA-01017 用户名密码

先确认连的是哪个服务名、哪个 PDB。应用配置里的密码和数据库密码不一致,比「数据库坏了」常见得多。

ORA-12514 / 12541 监听

监听没起来,或服务名没注册。查 lsnrctl statuslocal_listener、PDB 是否 open。连接串里的 host 用文档 IP 示例 192.0.2.10,不要写真实地址。

读日志的位置

SHOW PARAMETER diagnostic_dest

alert 在 ADR 的 trace 目录。一次故障只保留相关时间窗,脱敏后再存档。

参考:Error Messages