可以通过dba_hist_wr_control查看当前的配置情况,当前awr为每1小时做一次数据快照,保留时间为7天。
SYS@PENG SQL> select * from dba_hist_wr_control;
---------- --------------------------- ------------------------------------ ----------
Elapsed: 00:00:00.16
SYS@PENG SQL>
调整配置数据:
SYS@PENG SQL> execute dbms_workload_repository.modify_snapshot_settings(interval=>30,retention=>14000);
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.17
再查看修改后的效果:
SYS@PENG SQL> select * from dba_hist_wr_control;
---------- --------------------------- ------------------------------------ ----------
Elapsed: 00:00:00.02
SYS@PENG SQL>
除自动建立快照以外,还可以在需要的时候手工创建快照,数据和自动创建的一样使用。
SYS@PENG SQL> select dbms_workload_repository.create_snapshot() from dual;
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT()
------------------------------------------
Elapsed: 00:00:01.00
SYS@PENG SQL> select dbms_workload_repository.create_snapshot() from dual;
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT()
------------------------------------------
Elapsed: 00:00:00.60
SYS@PENG SQL>
这里存放了很多sql脚本,有时间可以打开阅读,对提高水平有作用。这里我们用到awrrpt.sql。
可以先打开看一下内容。
[oracle@localhost admin]$ cat awrrpt.sql
Rem $Header: awrrpt.sql 24-oct-2003.12:04:53 pbelknap Exp $
Rem
Rem awrrpt.sql
Rem
Rem Copyright (c) 1999, 2003, Oracle Corporation.
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
Rem
--
-- Get the current database/instance information - this will be used
-- later in the report along with bid, eid to lookup snapshots
set echo off heading on underline on;
column inst_num
column inst_name heading "Instance"
column db_name
column dbid
prompt
prompt Current Instance
prompt ~~~~~~~~~~~~~~~~
select d.dbid