这部分和awr,ash,addm构成了oracle性能监控的一整套体系。内容涉及很多,下面不能够全面详细介绍,希望有抛砖引玉的作用。
[oracle@localhost ~]$ lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: EnterpriseEnterpriseServer
Description: Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Release: 5.5
Codename: Carthage
SQL> select * from v$version where rownum=1;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
在EM中直观的看到已经创建的部分度量:
简单创建一个度量,用于警告数据文件6使用情况:
SQL> alter database datafile 6 resize 2m;
数据库已更改。
SQL> alter database datafile 6 autoextend off;
数据库已更改。
SQL> select bytes/1024/1024 from dba_data_files where tablespace_name=‘WANG‘;
BYTES/1024/1024
---------------
2
SQL> create table tt tablespace wang as select * from t;
表已创建。
SQL> select count(*) from tt;
COUNT(*)
----------
1048576
EM中出现了告警信息:
我们可以用过查找:
select *from v$metricname(所有度量的名称)
select * from dba_outstanding_alerts;(突出的告警信息)
select * from dba_alert_history;(告警信息历史)
select * from wri$_alert_histroy;
select * from dba_thresholds(阈值)
通过度量产生告警信息的是后台进程SMON(v$bgprocess)
下面我们谈一下baseline,当产库正常运转时,希望保存快照作为后来诊断数据库性能的依据。
通过包
sys.dbms_workload_repository里的过程 create_baseline创建基线(也可以通过em来创建)
select * from dba_hist_snapshot;
select * from dba_hist_baseline;
介绍一个重要的参数:
statistics_level:
这个参数有三个值:all,typical,basic
SQL> show parameter statistics_level ;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
statistics_level string TYPICAL
默认是typical
typical:The default setting of typical ensures collection of all major statistics required for database self-managerment functionality and provides best overall performance.
all:包括了typical的特性,但是增加了对系统的信息收集和执行计划的信息收集
basic:如果设置成了basic,很多信息不能收集
如:
AWR
ADDM
SGA内存自动管理
自动收集数据库对象统计信息的功能
......
......
有一个很重的视图v$
statistics_level :displays
the status of the statistics/advisories (http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2135.htm#REFRN30264)
我们可以通过v$statistics_level里的信息作出如pga,shared pool ,buffer cache手动管理时的建议曲线。
我们以buffer cache advice为例:
select statistics_name,statistics_view_name from v$statistics_level where statistics_name=‘Buffer Cache Advice‘;
此时我们禁用SGA自动管理:可以修改参数sga_target,设置为0
SQL> show parameter sga;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 404M
sga_target big integer 264M
SQL> show parameter sga_target;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 0
此时我们通过EM:
baffuer cache分了76mb
上面分配信息可以通过sga动态组件查看:
select * from v$sga_dynamic_components;
通过em可以查看buffer cache的大小建议信息:
我们可以根据手动画出oracle建议的buffer cache大小信息:
select size_for_estimate,ested_pyhsical_read_factor from v$shared_pool_advice
两列可以装换成图标即可( size_for_estimate 横坐标 ested_pyhsical_read_factor 纵坐标),感兴趣可以自己作出。