ORA-01306: 在从 v$logmnr_contents 中选择之前必须调用 dbms_logmnr.start_logmnr()

本文详细介绍了如何通过创建临时存储表来持久化存储logminer查询结果,确保结果在当前会话结束后仍可访问。通过在PGA内存中运行的dbms_logmrn.start_logmnr和dbms_logmrn.end_logmnr过程实现日志分析,并利用SQL语句将分析结果存储为实体表dfms.logmnr_temp01。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

使用logminer查询表v$logmnr_contents必须在同一个会话中进行,因为分析的那些
信息存储在这个session 的PGA中,在别的session 里面是查不到的。


视图v$logmnr_contents中的分析结果仅在我们运行过程'dbms_logmrn.start_logmnr'这个
会话的生命期中存在。这是因为所有的LogMiner存储都在PGA内存中,所有其他的进程是看
不到它的,同时随着进程的结束,分析结果也随之消失。 最后,使用过程DBMS_LOGMNR.END_LOGMNR
终止日志分析事务,此时PGA内存区域被清除,分析结果也随之不再存在。

 

 

生成临时存储表
因为查看Logmnr的结果需要在同一个session, 所以我们可以将session PGA中的挖掘的
内容存储在实体表中,这样其他用户也可以查询,且不会因为session的消失数据也消失。

SQL> create    table    dfms.logmnr_temp01   as    select    *    from GV$LOGMNR_CONTENTS;

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-700810/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-700810/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值