一份DBA试题,你要不要来试试(杭州)
注:以下题目,可根据自己情况挑选题目作答,不必全部作答
您也可以就相关问题直接找负责面试人员面述而不笔答
一:SQL tuning 类
1:列举几种表连接方式
左外连接,右外连接,内连接,笛卡尔积
2:不借助第三方工具,怎样查看sql的执行计划
3:如何使用CBO,CBO与RULE的区别
修改optimizer_mode
9i以前默认是RULE,这种情况下对表进行分析后就会采用CBO
CBO是Oracle根据分析的结果按照自己的原理来使用最优的访问路径,
RULE是采用特定的规则来执行结果
4:如何定位重要(消耗资源多)的SQL
5:如何跟踪某个session的SQL
6:SQL调整最关注的是什么
7:说说你对索引的认识(索引的结构、对dml影响、对查询影响、为什么提高查询性能)
8:使用索引查询一定能提高查询的性能吗?为什么
不一定,如果某个查询中查询的数据占的比例较大就不会提高性能相反可能会降低性能
9:绑定变量是什么?绑定变量有什么优缺点?
采用绑定变量后可以减少hard parse提高查询效率
10:如何稳定(固定)执行计划
11:和排序相关的内存在8i和9i分别怎样调整,临时表空间的作用是什么
9i是通过调整pga_aggrete来实现的
临时表空间作用是,在使用临时表时这时候临时表暂时存储的数据是存储在临时表空间的
在进行排序的时候如果pga的空间不够也会使用临时表空间,大数据量的查询也会占用临时表空间
12:存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql
select * from (
select a,b,c,d,rownum id from (
select a,b,c,d from t order by c desc)
) where id>=21 and id<=30
二:数据库基本概念类
1:pctused and pctfree 表示什么含义有什么作用
2:简单描述table / segment / extent / block之间的关系
block是数据库的最新存取单元
extent是磁盘的存储单元
segment一般情况下一个表占用一个segment,cluster表例外,此时两个表占用一个segment
大小关系segment>extent>block
3:描述tablespace和datafile之间的关系
tablespace是一个数据库存储的逻辑概念
datafile是数据库的物理存储概念
4:本地管理表空间和字典管理表空间的特点,ASSM有什么特点
LMT可以减少碎片的产生
ASSM
5:回滚段的作用是什么
作用是在用户执行DML语句时候保存修改前的数据库镜像,在数据库发生rollback时可以将数据恢复到执行dml语句之前,保证数据完整性
在执行insert语句时回滚段保存新插入的数据的rowid
update保存更改字段之前的value和rowid
delete保存该条语句的所有的字段值和rowid
所以同等情况下占用回滚段的大小是delete>update>insert
6:日志的作用是什么
日志分为两种
1、联机日志
2、归档日志
联机日志的作用是在数据库发生故障时(如:突然掉电、shutdown abort)可以保证数据的完整性,
归档日志可以保证数据恢复到过去的某个时间点,如:不小心delete部分数据,我们就可以通过归档日志将其找回
7:SGA主要有那些部分,主要作用是什么
SGA:shared pool保存最近被解析过的sql语句,防止同条语句的反复解析提高执行速度
large pool:一般RMAN时使用
java pool:为数据库中的java程序保留空间
8:racle系统进程主要有哪些,作用是什么
SMON:系统监视进程
DMON:数据库读写进程,将buffer cache中提交的脏数据写到磁盘中
LMON:将log buffer中修改的数据写入到日志文件中
PMON:进程监控进程,回收失效的进程
三:备份恢复类
1:备份如何分类
1、热备份
2、冷备份
3、imp/exp
2:归档是什么含义
归档是将切换的联机日志保存到磁盘中,
3:如果一个表在2004-08-04 10:30:00 被drop,在有完善的归档和备份的情况下,如何恢复
10g可以通过flashback drop恢复
可以在测试机上恢复备份文件
4:rman是什么,有何特点
RMAN是recover manager恢复管理器
可以联机备份,不影响系统的正常使用
备份速度快,恢复快
成功率:相比冷备份低
5:standby的特点
standby是备用数据库
standby分为logical standby和physical standby
特点是可以在很短的时间切换故障数据库,从而很大限度保证系统的可用性
6:对于一个要求恢复时间比较短的系统(数据库50G,每天归档5G),你如何设计备份策略
可以做一个data guard
四:系统管理类
1:对于一个存在系统性能的系统,说出你的诊断处理思路
2:列举几种诊断IO、CPU、性能状况的方法
3:对statspack有何认识
4:如果系统现在需要在一个很大的表上创建一个索引,你会考虑那些因素,如何做以尽量减小对应用的影响
5:对raid10 和raid5有何认识
五:综合随意类
1:你最擅长的是oracle哪部分?
2:喜欢oracle吗?喜欢上论坛吗?或者偏好oracle的哪一部分?
3:随意说说你觉得oracle最有意思的部分或者最困难的部分
4:为何要选择做DBA呢?