日期:2014-05-17  浏览次数:20788 次

跟大家分享一下我昨天的数据库笔试题
以下题目基于oracle或sql server
1、如果DB服务器CPU负荷过高,作为DBA首先要关注哪些对象?
2、说出五个常用数据库字典
3、有个员工月薪资表salary,查出薪资sal排位在6—10的记录

------解决方案--------------------
1、并发高、热块?
2、dict,v$session,v$process,v$session_wait,v$sql,v$datafile,v$log
3、rownum
------解决方案--------------------
1)这个问题不能单纯看DB、
   ① OS层面、长时间运行,可能是某些进程出现异常,占用大量CPU资源:top
   ② 很多愚蠢的SQL都会令CPU跑满、

2)v$segment_statistics、v$session_ops、v$session_wait、

3)
WITH 
  t AS (SELECT rownum num,salary.*  
          FROM salary 
        )
SELECT num,t.sal 
  FROM t
 WHERE num>=6 AND num<=10;