日期:2014-05-16  浏览次数:20425 次

Oracle 11g AWR 系列八:AWR 数据的迁移

迁移 AWR数据

Oracle Database 允许我们在几个数据库之间传输 AWR数据。当您要在单独的系统上分析 AWR数据时,这非常有用。要传输 AWR数据,您必须先从源数据库上抽取出 AWR快照数据,然后将该数据载入目标数据库中。以下内容将介绍如何在 Oracle Database上抽抽取和载入 AWR数据。

1抽取 AWR数据

利用awrextr.sql脚本可以将数据库中一系列的 AWR快照数据抽取到Data Pump导出文件中。导出 AWR快照数据后,您就可以将此 dump文件传输到您要载入该数据库的其他数据库上。要运行awrextr.sql脚本,您必须以SYS用户身份连接到数据库中。

抽取 AWR数据的步骤如下:

  1. 在 sqlplus 命令行中,输入:

@$ORACLE_HOME/rdbms/admin/awrextr.sql

显示 AWR schema中的数据库列表。

  1. 指定要从其中抽取 AWR 数据的数据库的 DBID:

Enter value for dbid: 220853307

  1. 指定您要列出多少天内的快照 IDs。

Enter value for num_days: 2

4. 指定起始和结束snapshot_id,定义要抽取的 AWR数据的范围:

Enter value forbegin_snap: 31

Enter value for end_snap: 41

  1. 指定要存放导出的 dump 文件的 directory 对象名称(需要提前创建):

sys@PROD> createdirectory db_dir as '/home/oracle/backup';

Enter value for directory_name: DB_DIR

  1. 指定导出 dump 文件的名称前置(将自动加上.dmp 后缀):

Enter value for file_name: awrdata_31_41

|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

|  The AWR extract dump file will be located

|  in the following directory/file:

|   /home/oracle/backup

|   awrdata_31_41.dmp