资源描述:
《oracle面试题(网摘)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一份ORACLEDBA面试题收藏一:SQLtuning类1:列举几种表连接方式答:mergejoin,hashjoin,nestedloop2:不借助第三方工具,怎样查看sql的执行计划答:sqlplussetautotrace...utlxplan.sql创建plan_table表3:如何使用CBO,CBO与RULE的区别答:在初始化参数里面设置optimizer_mode=choose/all_rows/first_row等可以使用cbo.
rbo会选择不合适的索引,cbo需要统计信息。4:如何定位重要(消耗资源多)的SQL答:根据v$sqlarea中的逻辑读/dis
2、k_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的影响.(删除
3、行的时候要标记改节点为删除).对update的影响,如果更新表中的索引字段,则要相应的更新索引中的键值。查询中包含索引字段的键值和行的物理地址。8:使用索引查询一定能提高查询的性能吗?为什么答:不能。如果返回的行数目较大,使用全表扫描的性能较好。9:绑定变量是什么?绑定变量有什么优缺点答:通俗的说,绑定变量就是变量的一个占位符,使用绑定变量可以减少只有变量值不同的语句的解析。10:如何稳定(固定)执行计划答:使用storedoutline.11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么答:8i:使用sort_area_size,hash_area_size
4、,每个session分配相同的值,不管有无使用。9i:使用pga_aggregate来统一管理。临时表空间的作用:在sort_area_size中不能完成的部分在临时表空间完成,临时表空间在重建索引,创建临时表等都要用到。还有hashjoin不能完成的也在临时表空间中做。12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sqlselecta,b,c,dfrom(selecta,b,c,dfromTorderbyc)whererownum<=30minusselecta,b,c,dfrom(selecta,b,c,dfromTorderbyc)wh
5、ererownum<=20;或者:select*from(selectrownumrn,a.*from(selecta,b,c,dfromTorderbyc)a)wherernbetween21and30;二:数据库基本概念类1pctusedandpctfree表示什么含义有什么作用答:表示数据块什么时候移入和移出freelist。pctused:如果数据块的使用率小于pctused的值,则该数据块重新加入到fresslist中。pctfree:如果数据块的使用率高于pctfree的值,则该数据块从freelist中移出。2:简单描述table/segment/extent/bl
6、ock之间的关系答:一个table至少是一个segment,如果分区表,则每个分区是一个segment,table可以看成是一个逻辑上的概念,segment可以看成是这个逻辑概念的物理实现;segment由一个或多个extents组成,segment不可以跨表空间但可以跨数据文件;extent由多个连续的blocks组成,不可以跨数据文件;block由1-多个os块组成,是oraclei/o的最小存储单位。3:描述tablespace和datafile之间的关系答:tablespace是逻辑上的概念,datafile是物理上的概念。一个tablespace可以由多个datafil
7、e组成,一个datafile不能跨越多个tablespace。4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点答:一个使用freelist管理,一个使用位图管理。5:回滚段的作用是什么答:保存数据的前像,保证数据读取的时间点一致性。Oracle里数据的多版本特性就是通过回滚段来实现的,正因为此,Oracle数据库实现了读写不竞争的性能优势!6:日志的作用是什么答:纪录对数据库的操作,便与恢复。7:SGA主要有那些部分,主要作用是什么答:db_cache(缓存数据块),