ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 20091114上海交大浩然704教室培训记录

20091114上海交大浩然704教室培训记录

原创 Linux操作系统 作者:msdnchina 时间:2009-11-14 20:46:38 0 删除 编辑

ocp.0.data-lab


gre单词量最多。 新东方,俞敏洪,红宝书,mp3 8小时。、

张道真 实用英语

优化i/o

学的“快。”!

i/o体现结构
oracle 10g的三个存储选项:
fs
raw分区包含了raw卷
asm

fs:
write -through-cache(os的缓存)

hp
ha
security


raw 分区


io
标准io :os的

同步io:

异步io:可以使oracle跑的更快。aio


io的性能取决于带宽bandwidth
--磁盘的数量
--控制器数量

所用的技术:stripe and mirror everything --same
raid 0: stripe -提高性能
raid 1: mirror --更安全
radi 5: 结合0+1  写入慢。

oracle 实用raid 0+1

数据库的io调优

rac :一个rac一个应用,

grid : 一个rac 多个应用。


asm striping

au:allocation unit

asm代替的是volume,不是代替raid。

rda只能搜集到os级别的,搜集不到网络和存储。


优化pga 和临时空间:用来优化sql查询

sql内存使用

内存密集的sql操作
sort-based :sort 、group by 、 rollup、 window,
hash-join
bitmap operators (merge and inversion)

工作区概念:

 

PGA存放sql操作需要的内存,游标的数据存放在pga中, sql的句柄是放在sga中的。
每一个server process 都对应一个pga.

sql多 还是sql需要的数据量多。

oltp 和dw

 

redo undo 临时表空间 放在高速的设备上。


临时表空间组:10g开始才有。

 

优化块空间的使用

extent :
字典管理--

本地管理--


row chain 行链接:一半一半。

row migration 行迁移:多次寻址(rowid不能变,在a处,而记录在b处)行

若是rowid变了,就可以进行shrink(shrink之前,先要row movement打开)

db_block_size 不是越大越好,因为大了,latch争用会大


free lists :类似fat文件系统的中的fat表

pctfree:留给更新用的数据空间。
pctused:是块中空闲空间的最低限度,

assm:自动段空间管理。


bigfile 表空间中,数据文件的管理使用omf


性能调优:总结.

oltp:
sga =(所有物理内存*80%)*80%

pga =(所有物理内存*80%)*20%

 

dss:
sga =(所有物理内存*80%)*50%

pga =(所有物理内存*80%)*50%

调优是调性能和调可用性。

redo最多20分钟切换一次。

常见等待事件。

 

前10个错误
1.不良的连接管理:由中间件来解决,是架构问题
2.游标和共享池的不良使用。是sql问题
3.不良的sql。sql问题
4.使用非标准的初始化参数
5.得到数据库的io错误。
6.redo机制问题。
7.serialization for data blocks in the data cache

8
9
10


上午培训结束。

下午开始.

oracle数据库体系结构。


sga在共享内存中

ipc 完成进程和进程之间的通讯。


asmm


access path
pga 是一个内存区域,

网站上的应用:mysql比oracle 快。
http:的特征是短连接,requeset reply, 然后close


连接池 先连接好 实例,预留句柄 等待客户端请求。


调优的方法
调优的核心是找瓶颈。

dba作为被告,小机,存储,程序员作为原告, 原告请举证。

tuning目标:减少响应时间,减少资源使用。

找原因
   方法:addm,statspack,
  
手工tuning

1.收集参考目标信息

hint

sql正文
结构表和索引
优化统计
视图
优化计划:当前的预先的。


2.收集最优化统计表

 

3 回顾执行计划

一看二抄三改,

 

4 调整sql语句

char 和varchar是不同的数据类型
char varchar2

连接方法,先连小表,后连大表。

5.调整index 和创建物化视图


移除不必要的索引
index the performance_critical access paths
在现有的索引中重新排列columns
新增columns 到索引中,
基于使用类型创建适当的索引:
B*tree
bitmap
bitmap join
concatenated
考虑使用索引组织表

 


6 维护执行计划(就是改变其access path)
stored outines


自动sql tuning:

sql tuning :关联 排序
sql access :是否加索引和物化视图

 

建立索引的权限:resource.
索引存储的是rowid,走索引是检索rowid,


设计和开发系能

scalablity 可伸缩性。

hard coding 就是缺少可伸缩性。

预先调优方法

简单的设计
数据建模
表和索引
使用视图
写有效的sql
游标共享
使用绑定变量
sql 与 pl.sql对应
动态sql


简单的应用设计
简单的表
好的sql
indexing only as required


表设计

principally normalize
selectively de normalize

normalize 就是拆表,越拆越细

 

      ----               ------             ---------

共享游标 :sp
数据不是能共享的,只有代码才能共享。


cursor_sharing
exact
similar


优化简介

为sql创建执行计划

评估表达式

使用表表和系统统计表
决定如何访问数据
决定如何加入表
决定哪些路径是最有效的。
比较执行不同计划的成本(costs,costs来自经验 costs based )
确定成本最低的计划


cardinality 有可能的结果集

 dba_tables 中的某表的记录数《》实际此表的记录数,
     统计来的,dbms_stats包
为什么要统计,因为costs值来自于统计信息。
oracle的优化需要统计表,以确定最佳的执行计划。

优化 sql语句
sqlplus中,打开set timing on


访问路径:
full table scan
row id  scan
index  scan
cluster  scan(簇表)
hash  scan


join 顺序
nested-lop  join
hash join
sort-merge join
cartesian jion :笛卡尔积


排序,关联,访问路径 是最耗时间的。


优化操作

 


访问路径:(使用哪种路径,要讲出道理出来)

full table scan

少索引
查询出大量的数据(4%)
小表

row id  scan
若是使用了row id ,禁止使用shrink

index  scan

full scan
fast full scan
bitmap scan


cluster  scan(簇表)


hash  scan


join:

out join (+)
优化:
连接顺序:谁在先谁在后
连接方法:

nested loop join
小表适合
use_nl (table1,table2)

hash join
先分组,再在组内进行nested loop join
大表适用。

sort-merge join
来自每一个 rs 中的行都会在join属性栏中被分类


star-join
用于数据仓库 dimension tables

关联子查询:主查询和内查询的关联。

sort操作

引起sort的操作:
unique/distinct
aggregate
group by
union (union all不排序)
order by


sort在pga完成,temp 

 

执行计划

看执行计划的方法:
explain plan --->存放于表中,使用包dbms_xplan来查看。
sql trace

  set autotrace on (执行结果和执行计划都显示出来) --当前的session

 结果集
 执行计划
 statistics

statspack
awr
v$sql_plan

包是pl/sql

 

 

 

rda
awr
set autotrace on

 

 

 

 


 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/161195/viewspace-619622/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-30

  • 博文量
    498
  • 访问量
    1542051