Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何判断是否正在使用Oracle中的物化视图?_Oracle_Oracle9i_Materialized Views - Fatal编程技术网

如何判断是否正在使用Oracle中的物化视图?

如何判断是否正在使用Oracle中的物化视图?,oracle,oracle9i,materialized-views,Oracle,Oracle9i,Materialized Views,我们的Oracle 9i数据库中有一些具体化视图,这些视图是很久以前由一个不再在这里工作的人创建的。有没有一种简单(或任何)的方法来确定Oracle是否正在使用这些视图来服务查询?如果它们不再被使用,我们想把它们处理掉。但我们不想在这些视图允许一些随机报告在不到几个小时的时间内运行之后发现。我梦想的答案是 SELECT last_used_date FROM dba_magic WHERE materialized_view_name = 'peters_mview' 更令人敬畏的是,它可以告

我们的Oracle 9i数据库中有一些具体化视图,这些视图是很久以前由一个不再在这里工作的人创建的。有没有一种简单(或任何)的方法来确定Oracle是否正在使用这些视图来服务查询?如果它们不再被使用,我们想把它们处理掉。但我们不想在这些视图允许一些随机报告在不到几个小时的时间内运行之后发现。我梦想的答案是

SELECT last_used_date FROM dba_magic
WHERE materialized_view_name = 'peters_mview'
更令人敬畏的是,它可以告诉我使用物化视图的实际SQL查询是什么。我意识到我可能不得不接受更少


如果有需要10g的解决方案,我们将很快升级,因此这些答案也会很有用。

Oracle auditing可以在根据文档配置后告诉您这一点。配置后,通过“在{物化视图的名称}上选择AUDIT”启用它。审计跟踪将在SYS架构的AUD$表中。

Oracle auditing可以在根据文档配置后告诉您这一点。配置后,通过“在{物化视图的名称}上选择AUDIT”启用它。审核跟踪将位于SYS架构的AUD$表中。

审核以外的一种方法是在一次刷新后和下一次刷新前读取v$段\ U统计视图,以查看是否有任何读取。您还必须考虑任何自动统计数据收集作业。

除了审核之外,还有一种方法是在一次刷新之后和下一次刷新之前读取v$segment\u statistics视图,以查看是否有任何读取。您还必须考虑任何自动统计数据收集作业。

V$SQLAREA表有两列,它们有助于识别数据库执行的查询

SQL_TEXT-VARCHAR2(1000)-当前游标的SQL文本的前1000个字符 SQL_全文-CLOB-当前光标的SQL文本的所有字符


我们可以使用这些列来查找使用所述物化视图的查询

V$SQLAREA表有两列,它们有助于识别数据库执行的查询

SQL_TEXT-VARCHAR2(1000)-当前游标的SQL文本的前1000个字符 SQL_全文-CLOB-当前光标的SQL文本的所有字符


我们可以使用这些列来查找使用上述物化视图的查询

我以前使用过这些表来查看SQL正在运行,但是它们是否具体告诉您正在使用哪些内部对象(索引、物化视图等)?即使在用户运行的原始sql中没有提到物化视图,也可以使用它们。Peter:您可以从V$SQLAREA相关表中获取计划。我以前使用过这些表来查看sql正在运行的是什么,但它们是否具体告诉您正在使用哪些内部对象(索引、物化视图等)?即使在用户运行的原始sql中没有提到具体化视图,也可以使用它们。Peter:您可以从V$SQLAREA相关表中获取计划。