OracleAWR删除历史快照说明(二)

2014-11-24 12:31:06 · 作者: · 浏览: 1
d = 877621333;

MIN(SNAP_ID) MAX(SNAP_ID)

------------ ------------

SQL> select dbid, retention fromdba_hist_wr_control;

DBID RETENTION

-------------------------------------------------------------------------------

879543530 +00008 00:00:00.0

SQL>

dbms_swrf_internal.unregister_database 会把所有的快照直接干掉,与我们上节中的删除是不同的效果。

2.2.2.2 删除本机的AWR

我们之前把快照清空了,所以没有结果:

SQL> select * from dba_hist_snapshotwhere dbid = 879543530;

no rows selected

SQL> executedbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> executedbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> executedbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

SQL> executedbms_workload_repository.create_snapshot();

PL/SQL procedure successfully completed.

--现在又有快照了:

SQL> select min(snap_id), max(snap_id)from dba_hist_snapshot where dbid = 879543530;

MIN(SNAP_ID) MAX(SNAP_ID)

------------ ------------

177 180

--删除快照:

SQL> exec dbms_swrf_internal.unregister_database(879543530)

BEGINdbms_swrf_internal.unregister_database(879543530); END;

*

ERROR at line 1:

ORA-13521: Unregister operation on localDatabase id (879543530) not allowed

ORA-06512: at"SYS.DBMS_SWRF_INTERNAL", line 99

ORA-06512: at line 1

这里直接提示,dbms_swrf_internal.unregister_database不能对本地的数据库使用。所以如果本地的数据库,就只能使用dbms_workload_repository包了。

2.2.3 小结

dbms_workload_repository:

可以删除本地和其他数据库的快照,可以选择不同的快照来进行删除。

dbms_swrf_internal:

只能对其他数据库的快照来进行操作,会把整个快照unregister掉。