oracle 导入awr dump,AWR数据的导出和导入全过程

导出导入AWR数据,不仅对远程诊断有用,而且对历史数据的对比诊断也是很有价值。例如,最近某个SQL突然变慢,想看看他过去的这段时间该SQL的执行计划及AWR报告,那也可以利用AWR的导出导入功能(前提是将每个月的AWR数据导出后进行归档)。如下是导出导入的全过程:[@more@]

1、因为在导出(或导入)时,我们需要指出导出(导入)文件存放路径。因首先要建立导出(或导入)路径。

SQL>connect sys/password as sysdba;

SQL>create directory dump_awras ‘E:DBwork’;

SQL>grant read,write on directory dump_dir to system;

2、通过awrextr.sql脚本进行导出

利用有权限的用户调用$ORACLE_HOME/rdbms/admin/awrextr.sql脚本,并按提示操作就可以导出就可以了。

SQL> @?/rdbms/admin/awrextr.sql

3、利用有权限的用户调用$ORACLE_HOME/rdbms/admin/awrload.sql脚本,并按提示操作就可以实现导入。如果需要导入,则按如下步骤执行

SQL> @?/rdbms/admin/awrload.sql

我在第一次执行时,总是报如下错误。经过仔细观察发现,在按提示输入数据文件名时,一般不需要填写后缀.dmp字样,如E:DBworkawrdat_1737_2443_july而不是E:DBworkawrdat_1737_2443_july.dmp,如下所示:

|*** AWR Load Started ...

|

|This operation will take a few moments. The

|progress of the AWR load operation can be

|monitored in the following directory/file:

|E:DBwork

|awrdat_1737_2443_july.dmp.log

|

Exception encountered in AWR_LOAD

ORA-39001: 参数值无效

ORA-39000: 转储文件说明错误

ORA-31640: 无法打开要读取的转储文件 "E:DBworkawrdat_1737_2443_july.dmp.dmp"

ORA-27041:

无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) The system cannot find the file specified.

ORA-39001: 参数值无效

begin

*

第 1 行出现错误:

ORA-06512: 在 "SYS.DBMS_SWRF_INTERNAL", line 1208

ORA-06512: 在 line 3

begin

*

第 1 行出现错误:

ORA-20106: AWR tables do not exist for the 'AWR_STAGE' user

ORA-06512: 在 "SYS.DBMS_SWRF_INTERNAL", line 1733

ORA-06512: 在 line 3

... Dropping AWR_STAGE user

4、在本地作出刚导入的AWR数据的数据库的AWR报表,则需要调用$ORACLE_HOME/rdbms/admin/awrrpti.sql脚本,按提示操作即可。

SQL> @?/rdbms/admin/awrrpti.sql

Instances in this Workload Repository schema

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB IdInst Num DB NameInstanceHost

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

37479808941dbdb1test-db1

37479808942dbdb2test-db2

* 18759601751 KUQLAN10kuqlan10abc123

输入 dbid 的值:3747980894-----在此要选择要刚导入数据所对应的数据库DBid

Using3747980894 for database Id

输入 inst_num 的值:1

Using 1 for instance number

Specify the number of days of snapshots to choose from

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Entering the number of days (n) will result in the most recent

(n) days of snapshots being listed.Pressing without

specifying a number lists all completed snapshots.

输入 num_days 的值:

….

如上所示,按提示输入即可。

总结:

通过以上方法我们不仅克服时间的限制,也能远程仔细看到数据库健壮性所需的所有关键数据。

我在第一次测试时遇到两个问题:

其一是数据库没有进入打开状态而mount状态原因,导入后制作AWR报告时无法显示snapshot id,打开数据库后重新导入问题被解决了。

其二是制作AWR报告不知存放到(比如HTML格式的)哪一个路径底下,实际上AWR报告就在你的当前目录下存放(即在sqlplus / assysdba执行前的cmd提示所对应的路径)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值