【问题标题】:How to check history of tablespace autoextend status in oracle如何在 oracle 中检查表空间自动扩展状态的历史记录
【发布时间】:2021-05-25 08:02:06
【问题描述】:

我是甲骨文的新手。我在 oracle 数据库 12c 版本上工作。我必须查明表空间自动扩展状态是否在前一周被禁用。但我可以查看表空间的当前自动扩展状态。是否有任何直接的方法可以使用数据库视图查找表空间自动扩展状态?

下面的输出显示了当前表空间的自动扩展状态。

示例输出:

SQL> select TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;

TABLESPACE_NAME                AUT
------------------------------ ---
SYSTEM                         NO
SYSTEM                         YES
SYSAUX                         YES
UNDOTBS1                       YES
USERS                          NO
USERS                          NO
USERS                          YES
EXAMPLE                        YES

预期

自动扩展状态 - 前一周是或否

【问题讨论】:

  • 没有。不会有一个视图可以为您提供过去某个时间的数据文件配置。如果您想继续跟踪这一点,您需要创建一个作业,以您想要的任何频率将信息持久化到新表中。
  • 我们可以从审计或任何静态 dba_hist 视图中跟踪自动扩展禁用状态吗?
  • 如果您启用了对 DDL 语句的审计,例如启用和禁用自动扩展,那么这些数据肯定会在审计表中。不过,我假设如果你这样做了,你就不会问这个问题了。

标签: oracle12c tablespace


【解决方案1】:

如果幸运的话,您可以使用闪回查询来查找数据文件的历史值。要在数据字典上使用闪回,您需要以 SYS 等特权用户身份登录:

SYS@orclpdb> select tablespace_name,autoextensible from dba_data_files as of timestamp timestamp '2021-05-20 00:00:00';

TABLESPACE_NAME                AUT
------------------------------ ---
SYSTEM                         YES
SYSAUX                         YES
UNDOTBS1                       YES
USERS                          YES

很遗憾,要获得历史 (UNDO) 数据需要一周的时间。您的查询可能会失败,并出现类似“ORA-08180: no snapshot found based on specified time”之类的错误。不过试一试也无妨。

如果闪回不起作用,您需要听从 Justin 的建议,并执行一些操作,例如创建调度程序作业以定期将数据写入表中。

【讨论】:

    猜你喜欢
    • 2021-11-29
    • 2012-10-23
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多