五、看TOP SQL

  看到这里豁然开朗,果然是回收站引起的问题,那么第一步是关闭回收站;
  找到第一个点以后,细心观察你会发现第二个点:
  Execution=0    因为此AWR的生成间隔是一个小时,所以Execution等于0表示某些SQL一个小时都没有跑完;
  不难看出这是一个OLAP的数据库,OLTP一般是不会有这种SQL的,OLAP跑这么慢很有可能是没有开启nologging模式;
  OLAP如何解决慢的问题呢?
  1、创建表的时候nologging:
  --create table xxx nologging;
  2、插入数据的时候开并行:
  --insert /*+ append */;
  3、开启会话级的DML并行:
  --alter session enable parallel dml;
  4、连接sql不走hash的让他强制走hash:
  --sql hint 走hash
  那么此数据库的优化方案是:
  1、关闭收站;
  2、开启nologing;
  3、并行插入;
  4、改hash。
  回顾上面的过程,再分享一些架构设计经验:
  OLAP的block块好要设置为16K;
  OLAP的PGA要尽量设置的够大,比如接近SGA的大小。