只有数据库的性能已经影响到业务的正常工作或用户已经无法满意于这种性能时,才考虑优化它,对于绝大多数系统,数据库的安全和稳定才是最重要的。
Oracle给一个参数一个默认值是让它最大限度地适用于每个数据库,几乎是最优的。
在每个技术面前先停下来思考一下,这个技术究竟在什么时候应该用,什么时候不应该用。
引起数据性能的因素
- 软件设计
- 软件架构
是否采用中间件,是否使用MTS。
-
- 软件代码
应用程序代码中对数据库操作的代码部分对数据库产生的影响。SQL语句或者PL/SQL包。
- 数据库设计
- OLTP数据库
对一个非常重要的系统,一些前瞻性的预测和系统的压力测试非常重要。
-
- OLAP数据库
数据块很少重用,缓存失去意义,物理IO很大,现在出现了内存数据库软件,将整个系统放到数据库里面。
对于OLAP, SQL的优化特别重要。
- 硬件设计
- 存储容量
占用空间的对象都可以在DBA_SEGMENTS视图里面找到。
-
- 存储的物理设计
存储结构SAN?还是其他
-
- 数据安全
- Data Guard结构
- 数据安全
-
-
- RAC结构
-
RAC结构和DATA GUARD结构属于不同级别的安全设计。
RAC是实力级别的冗余,DATA GUARD是数据库级别的冗余。
-
-
- Rman+归档的方式
-
RMAN+归档的方式相对RAC+DATA GUARD的,主要是成本上廉价。需要较长的宕机时间。
-
-
- 数据导出方式
-
exp/imp, exdp/imdp