面试官问「库连不上,你先看什么」,答「重启试试」基本就结束了。oracle dba 的日常,七成时间在备份、空间和性能上,剩下的才是装库升级。
先看实例状态,sqlplus / as sysdba 登录,查 v$instance 的 status 是不是 OPEN。连不上先看监听,lsnrctl status,再看 alert log 的末尾几十行,多数答案都在里面。
监听问题先 tnsping,再看 tnsnames.ora 里的地址和端口,防火墙有没有放行 1521。客户端报 ORA-12541,一般就是监听没起或端口不对。
备份恢复是底线
RMAN 全备加归档日志,是多数生产库的标准配置。备份策略要写清楚保留几天、放哪里、多久做一次恢复演练。没演练过的备份,只能算心理安慰。
归档目录满了比表空间满更常见,archive log 撑爆闪回区,库会直接挂起。每天看一眼 v$recovery_file_dest 和 alert log,比出事再扩空间从容。
表空间满了先看 dba_data_files 和 dba_free_space,别急着加数据文件。临时表空间爆了,多半是排序或大批量导入,查 v$tempseg_usage 能找到会话。
多数公司早上有巡检:实例状态、表空间、归档空间、备份任务、告警日志,五样过一遍,十分钟够用。
性能问题从等待事件入手
慢 SQL 先看 AWR 报告,重点看 Top 10 等待事件和 SQL。全表扫描多就查索引,锁等待就查 v$lock 和 v$session。别一上来就改参数,多数问题在 SQL 和索引上。
日常还要管用户和权限,建用户、给表空间配额、收回不必要的 DBA 角色。审计要求严的行业,这一步不能省。
证书和现实
OCP 的培训费不低,招聘 oracle dba 时更看真实排障经验。云数据库普及后,纯装库的岗位少了,会调优、会恢复、懂备份策略的人更稳。
装测试库时字符集选 AL32UTF8,内存参数别照搬网上的教程,2G 内存的机器也能跑起来。
想入门,自己在测试机装一套 19c,故意删个数据文件再恢复,比看十篇文档管用。生产库千万别拿来练手。