当前位置:首页 > 问答 > 正文

Oracle数据库 面试宝典 OracleDBA面试题,不得不看

Oracle数据库 | 面试宝典 Oracle DBA面试题,不得不看

2025年8月最新动态:Oracle近期发布了Oracle Database 23c的长期支持版本(LTS),重点强化了AI集成、JSON文档存储及自动化运维功能,对于准备DBA面试的朋友来说,掌握23c新特性(如AI向量搜索、SQL防火墙)可能成为加分项!


Oracle DBA面试高频技术题

基础架构与实例管理

Q:Oracle实例(Instance)和数据库(Database)有什么区别?
A:实例是内存结构和后台进程的集合(比如SGA、PGA、PMON等),而数据库是物理文件的集合(数据文件、控制文件、日志文件),实例挂载(MOUNT)数据库后才能打开(OPEN)提供服务。

Q:说说SGA的组成及其作用?
A:SGA(系统全局区)包含:

  • 共享池:缓存SQL解析树、执行计划
  • 数据缓冲区:缓存数据块,减少物理I/O
  • 重做日志缓冲区:临时存储redo条目
  • 大池/Java池:备用内存区域

备份恢复必问题

Q:RMAN全备和增量备份如何搭配使用?
A:典型策略是每周一次全备(BACKUP DATABASE)+每日增量备份(BACKUP INCREMENTAL LEVEL 1),增量备份仅备份上次备份后变化的块,节省空间。

Q:遇到“ORA-01555 快照过旧”错误怎么解决?
A:根本原因是UNDO表空间不足或事务过长,可:

Oracle数据库 面试宝典 OracleDBA面试题,不得不看

  1. 增大UNDO表空间
  2. 优化长事务SQL
  3. 调整UNDO_RETENTION参数

性能调优实战题

Q:如何分析一条SQL的执行计划?
A

  1. EXPLAIN PLAN FOR [SQL]生成计划
  2. 查看DBMS_XPLAN.DISPLAY输出
  3. 关注全表扫描(FULL SCAN)、低效连接(NESTED LOOP)等红色标志
  4. 通过索引或改写SQL优化

Q:AWR报告中最需要关注的指标有哪些?
A

  • DB CPU Time:数据库CPU消耗
  • Top 5 Timed Events:等待事件(如db file sequential read
  • Buffer Hit Ratio:缓冲命中率(低于90%需警惕)

刁钻情景题:考察实战应变

Q:生产库突然报“ORA-00257: archiver error”,如何处理?
A:这是归档日志满导致,紧急步骤:

  1. 连接RMAN:DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-1' 清理旧归档
  2. 若空间不足,临时添加归档目录:ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/new_path' SCOPE=MEMORY
  3. 长期方案:监控归档空间,设置自动清理策略

Q:如何在不重启实例的情况下扩大数据文件?
A:使用ALTER DATABASE DATAFILE '/path/file.dbf' RESIZE 10G; 注意表空间需有剩余空间。


23c新特性加分项

  1. AI向量搜索

    Oracle数据库 面试宝典 OracleDBA面试题,不得不看

    CREATE VECTOR INDEX vec_idx ON products (product_embedding)  
    ORGANIZATION NEIGHBOR GRAPH;  

    支持相似性搜索(如“找与图片A最相似的商品”)。

  2. SQL防火墙
    通过DBMS_SQL_FIREWALL包阻止恶意SQL模式,比如高频全表扫描。


面试软技能Tips

  • 故障处理逻辑:强调“先恢复业务,再分析根因”的优先级
  • 学习能力:提到跟踪Oracle MOS补丁或认证(如OCM)
  • 团队协作:举例如何与开发协作优化SQL

最后提醒:很多面试官会故意描述一个错误场景(我删了数据文件,现在库起不来了”),实际是考察你是否会问关键问题(“有备份吗?归档模式吗?”),冷静提问比直接答题更重要!

(注:本文技术点基于Oracle 19c/23c环境,部分命令需根据实际版本调整)

发表评论