第十五课
15、 性能管理
EMDE性能界面:
活动类:
等待
用户I/O
CPU
都是基于性能视图。
ASH top 10
如果将STATISTICS_LEVEL 设置为TYPICAL 或ALL,则将自动收集抽样统计信息。
概要、活动、工作量、监视的SQL、ADDM
监视会话性能:
EMCC->性能->top活动
begin
for i in 1 .. 500000 loop
insert into t
values
(i, 'oracle');
commit;
end loop;
end;
/
性能监控:top会话:
概要、顶级服务、顶级模块、顶级操作、顶级客户机、顶级会话。
顶级会话:CPU、PGA、物理读、逻辑读、硬解析、磁盘排序等。
select * from t order by id;
v$statname:线上统计信息名称
v$sesstat: 显示用户会话统计信息
v$session_event:显示会话等待事件信息
v$event_name:显示等待事件信息
v$mystat:显示当前会话的统计信息
v$sessmetric:显示所有会话的度量值(cpu、逻辑读数、物理读数等)
搞清楚p1,p2,p3含义。
计算:
- 某会话使用的PGA大小
- 总共使用的PGA大小
性能监控:top服务:
如果使用了连接池技术。
v$service_event:显示聚合的等待计数和时间。
v$service_wait_class
dbms_service包
--rac下修改服务名
BEGIN
dbms_service.create_service(service_name => 'prod3'
,network_name => 'prod3');
dbms_service.start_service(service_name => 'prod3');
END;
–单机下修改服务名
alter system set service_names=‘prod’,‘prod2’;
查看等待事件:
内存管理:
select * from v$sgainfo;
SGA指导、PGA指导
AMM: memory_target、memory_max_target
ASMM: sga_target、sga_max_size、pga_aggregate_target、pga_aggregate_limit
如果指定的值比目前的值小,这些值将被视为各个组件的最小内存
大小。如果指定的值比目前的值大,那么只要有空闲内存,就可以将内存组件的大小重新上调至提供的值。
alter system set shared_pool_size=1024M;
alter system set shared_pool_size=800M;
select * from v$memory_target_advice;
select * from v$sga_target_advice;
select * from v$pga_target_advice;
ipcs -m
MMON: manageability monitor process可管理性监控进程
MMAN: Memory Manager内存管理
统计信息和内存指导数据由MMON 定期在内存中捕获。
MMAN 根据MMON 决策来协调内存组件的大小。
pga_aggregate_target
pga_aggregate_limit