Oracle 12c:使用EXPDP导出视图DBA_HIST_ACTIVE_SESS_HISTORY数据

需积分: 28 6 下载量 199 浏览量 更新于2024-07-18 收藏 957KB PDF 举报
"这篇博客主要介绍了如何在Oracle数据库中导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据,特别是在12c版本中利用expdp工具的新特性VIEWS_AS_TABLES进行数据导出的方法。" 在Oracle数据库中,活动会话历史(ASH)数据存储在视图DBA_HIST_ACTIVE_SESS_HISTORY中,这个视图提供了关于系统性能的详细信息,包括会话的等待事件、CPU使用情况等。然而,由于视图本质上不存储数据,通常的导出工具如exp或expdp只能导出视图的定义,而无法导出其查询结果。 在Oracle 12c中,引入了一个新的expdp参数`VIEWS_AS_TABLES`,这个参数允许我们将视图当作实际的表来处理,从而能够导出视图的查询结果数据。这在需要备份或迁移ASH数据时非常有用。但是,要注意的是,并非所有视图都能通过expdp导出,特别是属于SYS和SYSTEM模式下的表,以及像AUD$这样的特殊表,它们通常受到更严格的权限限制,不能直接使用expdp进行导出。 博客作者提到了一些实用技巧和注意事项。首先,文章提供了一些建议,如通过exp导出基表的数据来获取ASH数据,这可能适用于那些不支持`VIEWS_AS_TABLES`的环境。其次,作者分享了12c的expdp新参数`VIEWS_AS_TABLES`的使用方法,这对于那些需要导出视图数据的用户来说是一大福音。同时,他还提醒读者,某些高度安全的系统可能不允许创建表或使用特定的客户端工具,因此在这些环境中需要寻找其他解决方案来获取和处理ASH数据。 此外,博客还包含了相关文章链接,比如关于将12c的dmp文件导入11g的故障处理,这可能是对那些需要跨版本迁移数据的用户的额外参考。作者强调,如果在线文章的代码格式出现混乱,建议下载PDF版本进行阅读,同时也提供了云盘链接以获取文章中提及的所有相关资源。 这篇博客旨在帮助Oracle DBA和性能优化人员更好地理解和操作ASH数据,提供了一种在12c中导出视图查询结果的新方法,并给出了在不同环境下的应对策略。通过学习这些知识,读者可以更有效地管理和分析Oracle系统的性能数据。