目的:在不同的系统中传输AWR数据。
例如:
    需要在测试环境测试生产中的性能问题,需要生产环境的AWR数据。对生产环境不会造成影响。
形成一个AWR数据库。生产环境的AWR报告可由此生成。**************************************************************************************
方法一:通过SQL脚本导出导入AWR数据
**************************************************************************************
导出AWR数据
1. 在SQL提示符下,输入导出命令:
SQL> @$ORACLE_HOME/rdbms/admin/awrextr.sql2. 指定将要导出AWR数据的数据库ID
Enter value for db_id: 13778633813. 指定想要导出的天数,对应的snapshot会列出:
Enter value for num_days: 24. 指定要导出的AWR数据的起始和终止snapshot ID:
Enter value for begin_snap: 30
Enter value for end_snap: 40
A list of directory objects is displayed.5. 指定存放导出文件的路径(要导出到指定路径,导出路径需要提前创建)。6. 指定导出文件名(.dmp后缀会自动追加):
Enter value for file_name: awrdata_30_407. 执行导出,查看导出日志确定导出是否成功。
加载AWR数据
1. 在SQL提示符下,输入命令:
SQL> @$ORACLE_HOME/rdbms/admin/awrload.sql2. 指定导出文件的存放路径:
Enter value for directory_name: DATA_PUMP_DIR
In this example, the directory object DATA_PUMP_DIR is selected.3. 指定导出文件名(.dmp后缀会自动追加):
Enter value for file_name: awrdata_30_40
In this example, the export dump file named awrdata_30_40 is selected.4. 指定AWR数据加载的临时schema:
Enter value for schema_name: AWR_STAGE5. 指定临时schema的默认表空间:
Enter value for default_tablespace: SYSAUX6. 指定临时schema的temporary 表空间:
Enter value for temporary_tablespace: TEMP7. 名为AWR_STAGE的临时schema被创建,AWR数据将被加载到该schema下,完成后,数据被转移到SYS schema的AWR表中(数据加载完后,临时schema自动被删除):
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Completed 113 CONSTRAINT objects in 11 seconds
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Completed 1 REF_CONSTRAINT objects in 1 seconds
Job "SYS"."SYS_IMPORT_FULL_03" successfully completed at 09:29:30
... Dropping AWR_STAGE user
End of AWR Load
**************************************************************************************
方法二:通过存储过程导出导入AWR数据
**************************************************************************************
导出
begin
DBMS_SWRF_INTERNAL.AWR_EXTRACT (
   dmpfile   => 'awr_data.dmp',
   dmpdir    => 'TMP_DIR',
   bid       => 302,
   eid       => 305
);
end;
/
dmpfile   指定导出文件的文件名,默认为awrdat.dmp
dmpdir    指定导出文件的路径名(导出路径需要预先创建)。
bid          指定导出的起始snapshot ID
eid          指定导出的终止snapshot ID查看当前snapshot
SQL> select snap_id,dbid from dba_hist_snapshot order by snap_id;删除指定范围的snapshot
BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 93, 
high_snap_id => 98, dbid => 1244006465);
END;
/
删除snapshot的同时,指定范围内的Active Session History data (ASH) 的数据同时也被purge导入:
先导入临时schema
begin
DBMS_SWRF_INTERNAL.AWR_LOAD (
   SCHNAME => 'ARUP',
   dmpfile => 'awr_data',
   dmpdir => 'TMP_DIR'
);
end;
/导入到sys schema
begin
DBMS_SWRF_INTERNAL.MOVE_TO_AWR (
   SCHNAME => 'ARUP'
);
end;
/