常见 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 status、local_listener、PDB 是否 open。连接串里的 host 用文档 IP 示例 192.0.2.10,不要写真实地址。
读日志的位置
SHOW PARAMETER diagnostic_dest
alert 在 ADR 的 trace 目录。一次故障只保留相关时间窗,脱敏后再存档。