优化这东西,水很深,主要还看你对体系结构的理解够不够深刻,体系结构会了,优化自然也就会了
采集数据库信息的工具:
8i:
@$ORACLE_HOME/rdbms/admin/utlbstat.sql ----begin
@$ORACLE_HOME/rdbms/admin/utlestat.sql -----end
会产生一个report.txt,8i前产生报告的主要方法,但是比较的内容太少!不好用~
-----------------------------------------------------------------------------------------------------------
9i: 引进的新的工具spreport,功能强大
1、建立perfstat用户:@$ORACLE_HOME/rdbms/admin/spcreate.sql ------建立perfstat用户,并建立一些表等
2、生成报告: @$ORACLE_HOME/rdbms/admin/spreport.sql
3、整点自动照相: @$ORACLE_HOME/rdbms/admin/spauto.sql -------建立作业,select job,what from user_jobs; 移除作业:exec dbms_job.remove(21);
4、删除: @$ORACLE_HOME/rdbms/admin/spdrop.sql -------删除用户、对象、任务等都删了
手工照相:execute statspack.snap;
-------------------------------------------------------------------------------------------------------------
10g:AWR
1、快照:
查看收集快照的间隔、保留几天:select snap_interval,retention from dba_hist_wr_control;
修改间隔20分钟,保留2天:
begin
dbms_workload_repository.modify_snapshot_settings(
interval => 20,
retention =>2*24*60
);
end;
手动收集信息产生快照:execute dbms_workload_repository.create_snapshot('ALL');
2、产生报告:
conn system/manager@tt
@%ORACLE_HOME%\rdbms\admin\awrrpt ------windows本地awrrpt.sql的路径
查看快照
col BEGIN_INTERVAL_TIME for a30
col STARTUP_TIME for a30
select SNAP_ID,BEGIN_INTERVAL_TIME,STARTUP_TIME from WRM$_SNAPSHOT
order by STARTUP_TIME,BEGIN_INTERVAL_TIME;
----------------------------------------------------------------------------------------------------------------------
v$sysstat ----数据库启动以来的统计信息
v$system_event ----数据库启动以来,发生过的,等待事件,次数,等待时间