阿里巴巴DBA笔试精华:SQL优化、基础概念与系统管理策略

需积分: 3 3 下载量 155 浏览量 更新于2024-07-21 收藏 43KB DOCX 举报
阿里巴巴公司的DBA笔试题涵盖了多个关键领域,旨在评估应聘者的专业知识和技能。以下是各个部分的重要知识点总结: 一、SQL Tuning (优化): 1. 表连接方式:包括内连接(INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)、自连接(SELF JOIN)以及嵌套循环( Nest Loop Join)、哈希连接(Hash Join)等。 2. SQL执行计划:通过SQL*Plus的EXPLAIN PLAN或DBMS_XPLAN包来分析,理解CBO(Cost-Based Optimizer)在选择执行路径中的作用,同时区别于RULE-based优化器。 3. 重要SQL定位:使用如SQL Trace、Automatic Workload Repository (AWR) 和 Enterprise Manager Performance Advisor来识别高消耗资源的SQL。 4. 跟踪会话SQL:通过v$session视图、SQL Trace或DBMS_DEBUG_Tuning包监控特定会话的SQL活动。 5. SQL调整关注点:性能瓶颈、索引使用、数据分布、SQL语句效率等。 6. 索引理解:索引的数据结构(B-Tree、Bitmap等)、对DML操作的影响(插入/删除/更新开销)、查询性能提升的原因(减少全表扫描)。 7. 索引与查询性能:不是所有情况下使用索引都能提升性能,如全表扫描效率可能更高。 8. 绑定变量:预编译的SQL语句,避免解析重复,提高执行效率,但可能导致代码复用性降低。 9. 固定执行计划:使用Hints(显式优化提示)或动态SQL方案来确保SQL按预期执行。 10. 内存调整:8i和9i中,内存池的排序区域调整,以及临时表空间的使用和管理。 11. 排序相关内存:调整sort_area_size和pga_aggregate_target以优化排序操作。 二、数据库基础概念: 1. pctused和pctfree:表示数据块的使用率和空闲率,用于监控磁盘空间的使用情况。 2. 数据对象层次:table对应segment,segment由extent组成,extent由block构成,存储在数据文件中。 3. Tablespace和Datafile的关系:Tablespace是逻辑上的容器,包含多个Datafile,提供存储空间。 4. 表空间类型:Local Management Tablespaces(LMT)和Dictionary-Managed Tablespaces(DCT)的区别,以及ASSM(Automatic Storage Management)自动管理表空间的特性。 5. 回滚段:保存事务的修改,用于数据库恢复。 6. 日志作用:记录事务信息,用于故障恢复和重做。 7. SGA结构:包括共享池、大型池、程序全局区、数据高速缓存等,管理内存资源。 8. Oracle进程:如DB Writer、LGWR、PMON、SMON等,各自负责数据库的维护和管理任务。 三、备份恢复: 1. 备份类型:全库备份、增量备份、差异备份和归档日志备份。 2. 归档模式:将日志写入归档日志文件,便于长期保存和恢复。 3. 数据恢复策略:基于时间点恢复,利用归档日志进行UNDO和REDO操作。 4. RMAN:Oracle的备份恢复管理工具,提供高级管理和恢复功能。 5. Standby数据库:用于实时镜像和故障切换,提高可用性和性能。 6. 备份策略设计:根据容量需求、恢复时间目标和成本考虑,合理安排备份频率和归档日志大小。 四、系统管理: 1. 性能诊断:通过监控、性能计数器、诊断视图等手段确定瓶颈。 2. IO/CPU性能分析:使用操作系统工具(如top、iostat)、性能监视器和Oracle提供的工具进行分析。 3. Statspack:收集数据库运行数据的工具,用于性能分析。 4. 索引创建:考虑表的大小、业务需求变化、数据分布等因素,尽可能在非高峰期创建,减小对应用的影响。 5. RAID技术:了解RAID10和RAID5的不同,如冗余、读写性能和数据保护。 五、综合及个人偏好: 1. 候选人专业优势:询问其最擅长的Oracle模块,如存储管理、性能调优或备份恢复等。 2. 对Oracle的态度:考察候选人对Oracle的热情和是否愿意参与社区交流。 3. 兴趣爱好:了解候选人的职业兴趣和个人价值观,可能影响其工作态度和解决问题的方式。 这些知识点覆盖了阿里巴巴DBA职位所需的关键技能和理论知识,有助于全面评估应聘者的能力。