linux - 巨大的 Oracle 重做日志

标签 linux oracle oracle11g

在每个星期二的晚上 10 点,oracle 突然生成大量的重做日志,直到磁盘空间用完。根据日志,我的应用程序在此期间没有运行任何大型查询或任何东西。

我唯一能找到的是 dba_scheduler_job_run_details 表当时启动了一个 oracle 作业。我在 google 上找不到关于这份工作的任何信息,所以我非常想知道任何想法。

来自 dba_scheduler_job_run_details 的信息:

JOB_NAME:ORA$AT_SA_SPC_SY_254

状态:已停止

ACTUAL_START_DATE:11-03-22 22:00:02.125060000 CST6CDT

RUN_DURATION 9:4:19.0

最佳答案

晚上 10 点通常是自动统计信息收集开始的时间。虽然它通常每天运行。在 11g 统计信息收集中使用自动任务而不是调度程序,尝试使用如下查询查找统计信息作业:select * from dba_autotask_job_history order by window_start_time desc;

但即使问题是由统计引起的,但它会导致过多的 REDO 似乎很奇怪。通常收集统计数据是大量的阅读和极少量的写作。除非你有许多随时变化的小 table ;在那种情况下,统计信息的数量可能比实际数据大得多。如果是这种情况,您可能需要更频繁地收集统计数据,或者锁定统计数据。

或者统计过程可能在特定表上爆炸。这将向您显示最后分析的表,也许它会给您一个线索:select last_analyzed, dba_tables.* from dba_tables order by 1 desc nulls last;

关于linux - 巨大的 Oracle 重做日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492871/

相关文章:

linux - 使用 "uniq -c"命令时需要从输出中删除计数

oracle - 从 pl/sql 中的只写(OUT)参数读取

linux - Xen HVM domU VNC 不刷新屏幕

sql - 查找重复行并将第一行标记为 1,其余重复行标记为 0

sql - Postgres 中的 NOCYCLE

oracle - 查询适用于 oracle 12c 但不适用于 11g

oracle - 拆分字符串并迭代存储过程中的每个值

oracle11g - 无法退出 afiedt.buf

linux - 在 RHEL Linux 框中查找 sudo su jenkins 出现的命令

Linux CLI 查找没有子路径的 dir 路径 - 结果只有父路径