Oracle面试深度解析:SQL调优与数据库基础

4星 · 超过85%的资源 需积分: 9 2 下载量 117 浏览量 更新于2024-07-28 收藏 64KB DOC 举报
"Oracle面试题-NEW" Oracle面试题涵盖了SQL优化、数据库基本概念、备份恢复、系统管理和综合问题等多个方面,以下是对这些知识点的详细解释: 1. SQL调优: - 表连接方式:内连接(INNER JOIN)、外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)、自连接以及子查询等。 - 查看执行计划:通过EXPLAIN PLAN或使用DBMS_XPLAN包。 - CBO(Cost-Based Optimizer)是基于成本的优化器,而RULE则是基于规则的优化器,CBO会根据统计信息选择最佳执行路径。 - 定位重要SQL:使用V$SQL,ASH,AWR报告等监控工具。 - 跟踪SQL:使用DBMS_MONITOR或者10053事件。 - SQL调整关注:选择正确的索引、避免全表扫描、减少数据访问和I/O。 2. 数据库基本概念: - pctused和pctfree用于控制数据块的空间利用率,以避免碎片。 - table/segment/extent/block是Oracle存储结构的层次,table是逻辑上的,segment和extent是物理上的,block是最小存储单位。 - tablespace包含datafile,是数据库的逻辑存储单元,datafile是物理存储单元。 - 本地管理表空间(LMT)和字典管理表空间(DMT)的区别在于空间分配方式,ASSM(Automatic Segment Space Management)是LMT的一种特性,简化了空间管理。 - 回滚段记录事务的回滚信息,用于事务撤销操作。 - 日志记录数据库的更改,用于崩溃恢复和归档。 - SGA包括共享池、数据缓冲区、重做日志缓冲区等,负责存储数据和共享信息。 - 主要系统进程如PMON(进程监控器)、SMON(系统监控器)、DBWR(数据写入器)等,它们各自维护数据库的正常运行。 3. 备份恢复: - 备份分类:完整备份、增量备份、差异备份。 - 归档日志记录了事务的改变,用于在非归档模式下进行数据库恢复。 - 恢复表的步骤涉及查找对应时间点的备份和归档日志。 - RMAN(Recovery Manager)是Oracle提供的备份和恢复工具,具有自动化和安全性特点。 - 主备数据库(Standby)提供高可用性和灾难恢复。 - 备份策略设计需考虑恢复目标、数据量、归档生成速度等。 4. 系统管理: - 诊断处理思路:收集性能指标、分析等待事件、调整参数、优化SQL等。 - 诊断性能方法:使用SQL Profiler、AWR报告、ASH分析、iostat、vmstat等。 - Statspack是Oracle的旧版性能监控工具,可以生成数据库性能报告。 - 创建索引前应考虑表的大小、查询模式、数据分布、应用负载,尽量在低峰时段创建,使用绑定变量避免全表扫描。 5. 其他综合问题: - Oracle DBA可能擅长SQL优化、性能调优、备份恢复等不同领域。 - 选择DBA的原因可能包括解决问题的挑战性、数据库系统的复杂性和重要性等。 - 最有趣或最具挑战性的部分因人而异,可能是SQL优化、高可用性设计等。 - 问题(1)返回100条记录,因为A.COLUMN1=A.COLUMN1总是成立。 - 问题(2)创建序列并选择下一个值,通常用于生成唯一ID。 以上是Oracle面试题中涉及的一些核心知识点,涵盖了数据库的多个方面,对于理解Oracle的工作原理和实际操作至关重要。