分类: Oracle
2010-09-13 14:40:59
1.手工创建一个快照 SQL> select * from dba_hist_snapshot order by 1 desc; SQL> exec dbms_workload_repository.create_snapshot; 2.手工删除指定范围的快照 SQL> select * from sys.wrh$_active_session_history order by snap_id desc; SQL> select * from dba_hist_snapshot order by 1 desc; SQL> execute dbms_workload_repository.drop_snapshot_range(low_snap_id => 26, high_snap_id => 44, dbid => 1236598332); SQL> select * from sys.wrh$_active_session_history order by snap_id desc; 3.修改采集时间和统计信息保留时间(默认的的收集间隔为1小时,保存时间为1周) SQL> select * from dba_hist_wr_control; SQL> execute dbms_workload_repository.modify_snapshot_settings(interval =>10,retention => 60*24*7); --修改快照的收集间隔为10分钟,保存时间为1周。 SQL> select * from dba_hist_wr_control; 4.设置基线 基线(baseline)是一种机制,这样你可以在重要时间的快照信息集做标记。一个基线定义在一对快照之间,快照通过他们的快照序列号识别.每个基线有且只有一对快照。 SQL> select * From dba_hist_baseline; SQL> select * from sys.wrm$_baseline; SQL> exec dbms_workload_repository.create_baseline(45, 46, 'base_line_test_1'); 这一操作将快照从 45 到 46 编号,作为上面指定的基准线的一部分。查看现有的基准线: SQL> select * From dba_hist_baseline; SQL> select * from sys.wrm$_baseline; 在一些调整步骤之后,我们可以创建另一个基准线 — 假设名称为 apply_interest_2,然后只为那些与这两条基准线相关的快照比较量度。 SQL> exec dbms_workload_repository.create_baseline(46, 47, 'base_line_test_2'); 5.删除基线 SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'base_line_test_1', cascade=>false); SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'base_line_test_2', cascade=>true); 说明:cascade=>false,只删除基线,不删除快照;cascade=>true基线、快照都删除。 6.生成报表 可以使用脚本awrrpt.sql或awrrpti.sql来查看AWR报告,这两个脚本都在目录$ORACLE_HOME/rdbms/admin中。Awrrpt.sql脚本可以显示指定快照id范围的诊断信息,报告可以保存为文本文件或HTML文件;awrrpti.sql脚本与awrrpt.sql类似,唯一的不同就是在awrrpti.sql脚本中,你可以指定数据库ID和实例ID(作为参数)。 SQL> @D:\oracle\product\10.1.0\db_1\RDBMS\ADMIN\awrrpt.sql; 注意看提示,一步步操作。 7.将AWR数据导出并迁移到其它数据库以便于以后分析(Oracle10g Release2提供两个新工具来完成导出和迁移,需要在sys用户下) SQL> execute DBMS_SWRF_INTERNAL.AWR_EXTRACT(dmpfile => 'awr_data', dmpdir => 'UTL_DIR', bid => 32, eid => 35 ,dbid => 1233305016 ); 8.迁移AWR数据文件到其他数据库(Oracle10g Release2提供两个新工具来完成导出和迁移,需要在sys用户下) SQL> exec DBMS_SWRF_INTERNAL.AWR_LOAD(SCHNAME => 'EDW', dmpfile => 'awr_data', dmpdir => 'UTL_DIR'); 把AWR数据转移到SYS模式中: SQL> exec DBMS_SWRF_INTERNAL.MOVE_TO_AWR (SCHNAME => 'TEST'); 说明:傻瓜版ORACLEDBA性能分析、调优! |