如何禁用特定表(Oracle)的闪回查询日志记录?

Art*_*dez 3 database oracle flashback

我们有一个具有大量活动的特定表,它会创建大量的更改记录.结果是闪回数据只能回溯几天.对于许多情况来说这是可以的,但访问更多历史数据将是有益的.

我们想要限制我们的一个高活动表上的日志记录.或者完全禁用它.我想我们可以通过表空间来做到这一点,我对如何进行这些更改没有太多了解.

Thi*_*Jet 5

您可以使用以下alter table子句禁用闪回存档:

alter table YOUR_TABLE_NAME no flashback archive;
Run Code Online (Sandbox Code Playgroud)

也可以将存档限制为指定的大小.为此,您需要创建指定给此表的闪回存档,并使用所需的保留和可选的大小配额:

create flashback archive YOUR_TABLE_ARCHIVE tablespace SOME_TABLESPACE quota 512M retention 1 DAY;
Run Code Online (Sandbox Code Playgroud)

然后将新存档分配给表:

alter table YOUR_TABLE_NAME flashback archive YOUR_TABLE_ARCHIVE;
Run Code Online (Sandbox Code Playgroud)

检查Oracle文档以检查其他要求.例如,您需要FLASHBACK ARCHIVE ADMINSTER特权才能执行上述语句.