AWR Warehouse在上传时失败 - 没有新的快照

可以在EM12C或EM13C AWR仓库环境中看到此问题。 Â它发生在AWR仓库和/或源数据库上的停电时。

OH_GIF_BY_GIFSANDSTOCK-D4LDOQ9.

第一个迹象表明问题,是一旦环境备份并运行,数据库就会上传。

awrw5

看到上传的最佳方式,从头到尾都要突出显示要手动加载的数据库,(点击行的中心,如果您单击数据库名称,请您’LL从AWR仓库到源数据库’S Performance主页。)ÂÂ单击 操作,现在上传快照.

一份工作将提交和你’LL通过控制台顶部的通知来了解它:

awrw1

点击查看工作详细信息和您’LL被带到工作中运行AWR仓库ETL的所有步骤

  1. Â查看通过比较Metadata表与源数据库中的内容所需的快照。
  2. 从AWR架构执行这些快照的DataPump导出并更新元数据表。
  3. 执行代理到代理从源数据库服务器向AWR仓库服务器推送文件。
  4. 将数据库数据导入数据库数据的DataPump导入为AWR仓库存储库,按DBID,SNAPSHOT ID或两者组合分区。
  5. 更新在仓库中的支持表显示状态和成功。

现在注意更新元数据和成功的步骤。我们’现在重新检查我们的工作’RE目前正在运行以更新我们的表,而不是成功,我们在作业日志中看到以下内容:

awrw2

我们可以清楚地看到提取物,(源数据库上的ETL步骤到DataPump的AWR数据)Â已经失败。

滚动到输出,我们可以看到详细的日志,以查看此初始步骤上返回的错误:

awrw3

ORA-20137:没有新的快照提取。

根据源数据库,在步骤1中,在步骤1中将数据库快照信息与元数据表进行比较,它不会返回任何应提取的新快照。问题,是我们知道在AWR仓库方面,(在控制台第3节中看到的警报)有避风港的快照’T一直以及时上传。

如何排除故障

首先,让我们’S验证AWR仓库认为是通过ETL加载到仓库的最后一个和最新的快照:

通过SQL * Plus或SQLDeveloper登录AWR仓库,并使用Caw_dbid_mapping表运行以下查询,该表驻留在dbsnmp数据库中:

SQL> select target_name, new_dbid from caw_dbid_mapping;
TARGET_NAME
--------------------------------------------------------------------------------
NEW_DBID
----------
DNT.oracle.com
3695123233
cawr
1054384982
emrep
4106115278

是什么 ’s的最大快照,我为数据库dnt,一个有问题的人?

SQL> select max(dhs.snap_id) from dba_hist_snapshot dhs, caw_dbid_mapping cdm
2 where dhs.dbid=cdm.new_dbid
3 and cdm.target_name='DNT.oracle.com';
MAX(DHS.SNAP_ID)
----------------
501

来源

这些后续步骤需要查询源数据库,就像我们一样’已经验证了AWR仓库中的最新快照,并且源环境中发生错误,以及它在ETL进程中的该步骤失败的位置。

使用SQL * Plus或其他查询工具登录数据库。

我们将再次需要权限到DBSNMP架构和DBA_HIST视图。

SQL> select table_name from dba_tables
where owner='DBNSMP' and table_name like 'CAW%';
TABLE_NAME
--------------------------------------------------------------------------------
CAW_EXTRACT_PROPERTIES
CAW_EXTRACT_METADATA

这些是在源数据库中保存有关AWR仓库ETL进程的信息的两个表。

我们有多种方式可以检查提取数据,但我们的第一件事’ll do从元数据表中获取最后一个加载信息,这将告诉我们是什么

SQL> select begin_snap_id, end_snap_id, start_time, end_time, filename
from caw_extract_metadata 
where extract_id=(select max(extract_id) 
from caw_extract_metadata);
502 524
23-MAR-16 10.43.14.024255 AM
23-MAR-16 10.44.27.319536 AM
1_2EB95980AB33561DE053057AA8C04903_3695123233_502_524.dmp

所以我们可以看到每个元数据表,ETL相信它’s已从502-524加载了快照。

We’现在LL查询属性表,告诉我们将转储文件提取到以下位置:

SQL> select * from caw_extract_properties
 2 where property_name='dump_dir_1';
dump_dir_1
/u01/app/oracle/product/agent12c/agent_inst
ls /u01/app/oracle/product/agent12c/agent_inst/*.dmp
1_2EB95980AB33561DE053057AA8C04903_3695123233_502_524.dmp

所以这是我们的问题。 Â我们有一个创建的转储文件,但从未执行代理到代理推送或加载到AWR仓库。 Â由于源表已使用行更新为元数据表,因此它无法加载这些行。

纠正的步骤

  1. 从DataPump目录清理转储文件
  2. 更新元数据表
  3. 重新训练这份工作
cd /u01/app/oracle/product/agent12c/agent_inst
rm 1_2EB95980AB33561DE053057AA8C04903_3695123233_502_524.dmp

注意:如果您希望保留在文件中,您还可以选择重命名该文件中的扩展,直到您熟悉一切都是成功加载,但在$ Agent_Home目录中都会意识到大小约束。 ÂI’由于空间限制而看到的问题。

登录数据库并删除元数据表中的最新行更新:

select extract_id from caw_extract_metadata
where being_snap_id=502 and end_snap_id=504;
101
delete from caw_extract_metadata where extract_id=101;
1 row deleted.
commit;

登录您的AWR仓库仪表板,并再次运行手动上传快照。

awrw4

dbakevlar.

http://about.me/dbakevlar

2 thoughts on “AWR仓库在上传时失败 - 没有新的快照

  • 2016年4月15日在下午4:33
    永久链接

    无论如何要更改转储目录? / U01 / app / Oracle /产品/代理12C / Agent_inst

    it’真正的痛苦无法改变它…不应该是一个复杂的变化吗?可能需要修改mgmt_caw_extract和传输的perl脚本?

  • 2016年4月15日晚上5:07
    永久链接

    I’刚刚被要求在这个确切的问题上工作。一世’LL让你知道很快,所以在这个主题上观看我的博客来了解新帖子!
    谢谢,
    凯利恩

评论被关闭。