oracle 面试题


 1.你在设计数据库时,怎样解决锁?
  锁:同一时间段,很多用户占用一个资源。
      抢火车票,提交了订单但未支付,为了避免出现死锁,则可以设计为预-1,等待一段时间之后查看该订单,进行调整。
  预扣决策。
     例子:抢火车票,抢小米,一元秒杀。
 2.有10000条数据,其中有1000条数据是错误的(比如pk了或数据格式不对),怎样把剩下9000条数据写进table?

 3.你现在公司oracle db 是用什么备份?假如db down掉了,怎样恢复?
 
    通过备份的数据文件+重做日志,共同完成。100%恢复 
 
   (exp命令进行备份,数据崩备份,)

 4.如果系统突然变慢了,你怎么处理?

      慢慢变慢:重建索引,降低水位线,添加分区

      突然变慢:(检查io,检查sql)

 5.分区有几种?解释一下什么时候用到范围分区,什么时候用到hash分区?

 6.如果一个table很大,你怎样考虑建立索引?你建立组合索引考虑什么?

  查询条件,索引类型,索引放到企业级SSD(3万150G)上。

  建立一个表空间,建索引时指定表空间。


 7.如果一条sql执行很慢,是走全表扫描,你怎样考虑建立索引?

  按时间维度分区 ,按地区维度分区,减少扫描,

      查询条件,索引类型,索引放到企业级SSD(3万150G)上。

  建立一个表空间,建索引时指定表空间。

  

  
posted @ 2017-02-13 14:33  一怒成仙  阅读(1446)  评论(0编辑  收藏  举报