`

[转载]阿里巴巴DBA

阅读更多
阿里巴巴DBA
这些问题来着阿里巴巴DBA面试,你能回答多少呢?也许你能回答出来,距离DBA,你又进了一步。下面也请你来试试吧,问题后面会附上该题的一份答案,不一定完全正确,仅供参考。

第一轮:SQL tuning 类

1:列举几种表连接方式

答:merge join,hash join,nested loop

2:不借助第三方工具,怎样查看sql的执行计划?

答:sqlplus、set autotrace …、utlxplan.sql 创建 plan_table 表

3:如何使用CBO,CBO与RULE的区别?

答:在初始化参数里面设置 optimizer_mode=choose/all_rows/first_row 等可以使用 cbo。rbo会选择不合适的索引,cbo需要统计信息。

4:如何定位重要(消耗资源多)的SQL?

答:根据v$sqlarea 中的逻辑读/disk_read。以及寻找CPU使用过量的session,查出当前session的当前SQL语句,或者:监控WIN平台Oracle的运行

5:如何跟踪某个session的SQL?

答:先找出对应的’sid,serial’,然后调用system_system.set_sql_trace_in_session(sid,serial,true);参考:跟踪某个会话

6:SQL调整最关注的是什么?

答:逻辑读。IO量

7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)

答:默认的索引是b-tree。对insert的影响:分裂,要保证tree的平衡。对delete的影响:删除行的时候要标记改节点为删除。对update的影响:如果更新表中的索引字段,则要相应的更新索引中的键值。查询中包含索引字段的键值和行的物理地址。

8:使用索引查询一定能提高查询的性能吗?为什么?

答:不能。如果返回的行数目较大,使用全表扫描的性能较好。

9:Array:绑定变量是什么?绑定变量有什么优缺点?

答:通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少只有变量值不同的语句的解析。

10:如何稳定(固定)执行计划?

答:使用stored outline。

11:和排序相关的内存在8i和Arrayi分别怎样调整,临时表空间的作用是什么?

答:8i:使用sort_area_size,hash_area_size,每个session分配相同的值,不管有无使用。Arrayi:使用 pga_aggregate来统一管理。临时表空间的作用:在sort_area_size中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。还有hash join不能完成的也在临时表空间中做。

12:存在表T(a,b,c,d),要根据字段c排序后取第21-30条记录显示,请给出sql

select a,b,c,d from (select a,b,c,d from T order by c) where rownum<=30minusselect a,b,c,d from (select a,b,c,d from T order by c) where rownum <=20;或者:select * from (select rownum rn,a.* from (select a,b,c,d from T order by c) a )where rn between 21 and 30;



第二轮:数据库基本概念类

1:pctused and pctfree 表示什么含义有什么作用?

答:表示数据块什么时候移入和移出freelist。pctused:如果数据块的使用率小于pctused的值,则该数据块重新加入到fresslist中。ctfree:如果数据块的使用率高于pctfree的值,则该数据块从freelist中移出。

2:简单描述table / segment / extent / block之间的关系

答:一个table至少是一个segment,如果分区表,则每个分区是一个segment,table可以看成是一个逻辑上的概 念,segment可以看成是这个逻辑概念的物理实现;segment由一个或多个extents组成,segment不可以跨表空间但可以跨数据文件;extent由多个连续的blocks组成,不可以跨数据文件;block由1-多个os块组成,是oracle i/o的最小存储单位。

3:描述tablespace和datafile之间的关系

答:tablespace是逻辑上的概念,datafile是物理上的概念。一个tablespace可以由多个datafile组成,一个datafile不能跨越多个tablespace。

4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点?

答:一个使用freelist管理,一个使用位图管理。

5:回滚段的作用是什么?

答:保存数据的前像,保证数据读取的时间点一致性。Oracle里数据的多版本特性就是通过回滚段来实现的,正因为此,Oracle数据库实现了读写不竞争的性能优势!

6:日志的作用是什么?

答:记录对数据库的操作,便于恢复。

7:SGA主要有那些部分,主要作用是什么?

答:db_cache(缓存数据块),shared_pool(缓存sql,执行计划,数据字典信息 等),large_pool(MTS模式、parallel 、rman等要用到),java pool(java程序如SQLJ存储过程运行时要用到)。

8:Oracle系统进程主要有哪些,作用是什么?

答:smon(合并空间,实例恢复),pmon(清理失败的进程),归档进程(负责在日志切换的时候归 档日志文件),lgmr(日志书写器进程,负责写日志),ckpt(检查点进程,触发检查点),dbwr(数据库写入器,负责把数据写入导 datafile)。


这些问题来着阿里巴巴DBA面试,你能回答多少呢?也许你能回答出来,距离DBA,你又进了一步。下面也请你来试试吧,问题后面会附上该题的一份答案,不一定完全正确,仅供参考。

第一轮:SQL tuning 类

1:列举几种表连接方式

答:merge join,hash join,nested loop

2:不借助第三方工具,怎样查看sql的执行计划?

答:sqlplus、set autotrace …、utlxplan.sql 创建 plan_table 表

3:如何使用CBO,CBO与RULE的区别?

答:在初始化参数里面设置 optimizer_mode=choose/all_rows/first_row 等可以使用 cbo。rbo会选择不合适的索引,cbo需要统计信息。

4:如何定位重要(消耗资源多)的SQL?

答:根据v$sqlarea 中的逻辑读/disk_read。以及寻找CPU使用过量的session,查出当前session的当前SQL语句,或者:监控WIN平台Oracle的运行

5:如何跟踪某个session的SQL?

答:先找出对应的’sid,serial’,然后调用system_system.set_sql_trace_in_session(sid,serial,true);参考:跟踪某个会话

6:SQL调整最关注的是什么?

答:逻辑读。IO量

7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)

答:默认的索引是b-tree。对insert的影响:分裂,要保证tree的平衡。对delete的影响:删除行的时候要标记改节点为删除。对update的影响:如果更新表中的索引字段,则要相应的更新索引中的键值。查询中包含索引字段的键值和行的物理地址。

8:使用索引查询一定能提高查询的性能吗?为什么?

答:不能。如果返回的行数目较大,使用全表扫描的性能较好。

9:Array:绑定变量是什么?绑定变量有什么优缺点?

答:通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少只有变量值不同的语句的解析。

10:如何稳定(固定)执行计划?

答:使用stored outline。

11:和排序相关的内存在8i和Arrayi分别怎样调整,临时表空间的作用是什么?

答:8i:使用sort_area_size,hash_area_size,每个session分配相同的值,不管有无使用。Arrayi:使用 pga_aggregate来统一管理。临时表空间的作用:在sort_area_size中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。还有hash join不能完成的也在临时表空间中做。

12:存在表T(a,b,c,d),要根据字段c排序后取第21-30条记录显示,请给出sql


select a,b,c,d from (select a,b,c,d from T order by c) where rownum<=30minusselect a,b,c,d from (select a,b,c,d from T order by c) where rownum <=20;或者:select * from (select rownum rn,a.* from (select a,b,c,d from T order by c) a )where rn between 21 and 30;
第二轮:数据库基本概念类

1:pctused and pctfree 表示什么含义有什么作用?

答:表示数据块什么时候移入和移出freelist。pctused:如果数据块的使用率小于pctused的值,则该数据块重新加入到fresslist中。ctfree:如果数据块的使用率高于pctfree的值,则该数据块从freelist中移出。

2:简单描述table / segment / extent / block之间的关系

答:一个table至少是一个segment,如果分区表,则每个分区是一个segment,table可以看成是一个逻辑上的概 念,segment可以看成是这个逻辑概念的物理实现;segment由一个或多个extents组成,segment不可以跨表空间但可以跨数据文件;extent由多个连续的blocks组成,不可以跨数据文件;block由1-多个os块组成,是oracle i/o的最小存储单位。

3:描述tablespace和datafile之间的关系

答:tablespace是逻辑上的概念,datafile是物理上的概念。一个tablespace可以由多个datafile组成,一个datafile不能跨越多个tablespace。

4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点?

答:一个使用freelist管理,一个使用位图管理。

5:回滚段的作用是什么?

答:保存数据的前像,保证数据读取的时间点一致性。Oracle里数据的多版本特性就是通过回滚段来实现的,正因为此,Oracle数据库实现了读写不竞争的性能优势!

6:日志的作用是什么?

答:记录对数据库的操作,便于恢复。

7:SGA主要有那些部分,主要作用是什么?

答:db_cache(缓存数据块),shared_pool(缓存sql,执行计划,数据字典信息 等),large_pool(MTS模式、parallel 、rman等要用到),java pool(java程序如SQLJ存储过程运行时要用到)。

8:Oracle系统进程主要有哪些,作用是什么?

答:smon(合并空间,实例恢复),pmon(清理失败的进程),归档进程(负责在日志切换的时候归 档日志文件),lgmr(日志书写器进程,负责写日志),ckpt(检查点进程,触发检查点),dbwr(数据库写入器,负责把数据写入导 datafile)。



第三轮:备份恢复类

1:备份如何分类?

答:逻辑备份(exp)与物理备份。或者冷备份与热备份。

2:归档是什么含义?

答:把日志文件放到另一个地方。

3:如果一个表在2004-08-04 10:30:00 被drop,在有完善的归档和备份的情况下,如何恢复?

答:拷贝备份,recover database until time 2004-08-04 10:30:00 alter database open resetlogs;

4:rman是什么,有何特点?

答:rman叫恢复管理器。特点很多。可以在线备份,到少目标数据库是mount状态。1)热备份。2)可以存储脚本。3)可以增量备份。4)自动管理备份集

5:standby的特点

答:利用传输重做日志来达到同步的目的。可以设定多个保护级别,Arrayi后支持逻辑standbyDB。

6:对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略

答:每天一个全备份。



第四轮:系统管理类

1:对于一个存在系统性能的系统,说出你的诊断处理思路

答:做一个statspack,根据top 5,system load,top sql等来做相应的调整。

2:列举几种诊断IO、CPU、性能状况的方法

答:hp-unix:iostat -x 1 5;top/vmstat/glance

3:对statspack有何认识?

答:一个性能诊断工具而已,其本质就是在两个时间点采样两个系统数据。(动态性能视图),然后根据两个snapshot,产生一个报告。

4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响

答:1)增大sort_area_size(8i)/pga_aggregate_target(Arrayi)值。2)如果表有分区(一般大表都要用到分区的),按分区逐个建索引,如果是本地索引的话。3)系统空闲的时候建。

5:对raid10 和raid5有何认识?

答:raid10是先镜像后条带,适合对写入速度要求较高的数据库系统,特别是online redolog文件,raid5适合大部分的数据库系统和数据仓库系统,读性能优于写性能。
分享到:
评论

相关推荐

    阿里巴巴DBA面试题

    在阿里巴巴等大型科技公司,对DBA的专业技能要求尤为严格,通常会通过面试来考察应聘者的技术能力和经验。本文将根据给出的文件内容,对面试中可能涉及的DBA相关知识点进行详细说明。 首先,面试中可能会询问关于...

    阿里巴巴DBA笔试题

    阿里巴巴作为中国乃至全球知名的互联网企业,其数据库管理员(DBA)的角色至关重要,负责维护和优化海量数据的存储、处理和访问效率。这份“阿里巴巴DBA笔试题”旨在考察候选人在数据库管理领域的专业知识和实践能力...

    DBA面试阿里巴巴DBA面试题!看了有帮助阿!

    阿里巴巴DBA面试题!看了有帮助阿

    阿里巴巴离职DBA 35岁总结的职业生涯_IT新闻_博客园

    这篇文章写得真的不错,看完挺有感触的,推荐给大家看看,就一分吧

    炼数成金 MySQL数据库运维全套视频教程 阿里巴巴DBA讲授

    专业运维维护MySQL,阿里巴巴DBA讲述,专业线上生产环境讲述,非玩具。

    阿里巴巴公司DBA笔试题

    根据给定的文件信息,以下是从“阿里巴巴公司DBA笔试题”中提炼出的关键知识点,这些知识点涵盖了数据库管理、查询优化、性能监控等多个方面,对于理解数据库系统的工作原理及优化策略具有重要意义。 ### 1. SQL ...

    阿里巴巴公司DBA笔试题.txt

    根据给定文件的信息,我们可以提炼出以下IT领域的关键知识点: ### 1. pctused 和 pctfree 的含义及其作用 - **pctused**: 这个参数定义了在Oracle数据库中,一个区(extent)需要被占用多少百分比的数据后才会触发...

    阿里巴巴校园招聘笔试面试题淘宝校园招聘笔试试题27个文档资料合集.zip

    阿里巴巴校园招聘Oracle_DBA笔试题及参考答案.doc 阿里巴巴校园招聘前端在线笔试.doc 阿里巴巴校园招聘测试笔试题总结.doc 阿里巴巴校园招聘销售类笔试题.doc 阿里巴巴校园招聘阿里云笔试试题题目.doc 阿里巴巴校园...

    阿里巴巴公司DBA笔试题.doc

    【阿里巴巴公司DBA笔试题】涉及的IT知识点主要包括数据库管理和SQL优化。以下是对这些知识点的详细解释: 1. **表连接方式**:SQL中的表连接主要有四种类型:哈希连接(Hash Join)、归并连接(Merge Join)、嵌套...

    阿里巴巴ORACLE DBA面试题.pdf

    对于应聘阿里巴巴的DBA职位者来说,这些知识点是必须要深入理解和熟练应用的。掌握这些知识不仅能够帮助应试者在面试中表现出色,更重要的是在实际工作中能够高效地优化和维护Oracle数据库系统。

    阿里巴巴公司DBA笔试题及参考答案

    原因很简单,只因为小彭需要MySQL的相关资料

    阿里巴巴数据库操作手册

    以上规范旨在指导阿里巴巴DBA人员高效、安全地进行数据库操作,通过标准化流程降低风险,保障数据库系统的稳定性和数据的安全性。这些操作不仅适用于阿里巴巴内部,对于其他组织和企业也具有很高的参考价值。

    阿里巴巴大并发插入优化案例

    本文将深入解析阿里巴巴B2B团队首席DBA吕海波(VAGE)分享的优化案例,探讨在面对每日新增1至2亿条记录、高峰期每秒插入2000至3000行数据的挑战时,如何有效解决系统性能瓶颈,尤其是针对“Buffer Busy Waits”等待...

    阿里巴巴-数据库-标准操作手册

    - **标题**:“阿里巴巴-数据库-标准操作手册”明确了文档的核心内容是针对阿里巴巴内部使用的数据库管理与操作的标准指南。 - **描述**:“阿里巴巴-数据库-标准操作手册”简明扼要地概述了该手册的目标和作用,即...

Global site tag (gtag.js) - Google Analytics