gpt4 book ai didi

oracle - 无法删除 Oracle 闪回数据存档

转载 作者:行者123 更新时间:2023-12-04 04:10:58 25 4
gpt4 key购买 nike

想要对闪回数据存档进行干净的测试,因此必须删除现有的。

我在所有启用的表上禁用了 FDA 并删除了 FDA。

但我仍然在 DBA_FLASHBACK_ARCHIVE 和 DBA_FLASHBACK_ARCHIVE_TS 中看到记录

如果我尝试删除表空间,我会收到“ora-55641 无法删除闪回数据存档使用的表空间”。当我删除 FDA 时,它成功且没有错误。

我尝试了 alter flashback data archive purge 但我仍然无法删除 TS

alter flashback archive fla1 purge all;

然后我尝试更改 FDA 并查看是否可以取消链接 - alter flashback archive fla1 remove tablespace tbs2;我收到错误“ORA-55626:无法删除闪回存档的主表空间”

我能知道是否需要清理任何内部表吗?

最佳答案

我也遇到过类似的情况;在我的案例中,我一直在使用闪回数据存档(也称为 FBA、FBDA、FDA)进行一些查询,这可能是由于物化 View 。因此,为解决该问题,我使用 DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA(owner_name, table_name) 解除了这些表与 FBDA 的关联,这解决了性能问题,但当然不再跟踪这些表。

现在,我暂时放弃了该实例上的 FBA,在清理时,我遇到了相同的 ORA-55641 和 ORA-55626。

我最终做的是将表重新关联到闪回数据存档,并且(不确定是否需要这样做,但是......)我清除了所有记录:

alter flashback archive ARCH_FLASHBACK_10_YEAR purge all;

-- Identify tables tied to the flashback archive; mine was named ARCH_FLASHBACK_10_YEAR
select owner_name, table_name, FLASHBACK_ARCHIVE_NAME,
ARCHIVE_TABLE_NAME, status from DBA_FLASHBACK_ARCHIVE_TABLES;

-- look for ones with a STATUS of "DISASSOCIATED" and do the next two
-- statements for those tables

exec DBMS_FLASHBACK_ARCHIVE.REASSOCIATE_FBA ('YOUR_OWNER', 'YOUR_TABLE')
alter table YOUR_OWNER.YOUR_TABLE no flashback archive;

-- Then query again. When clean:

alter flashback archive ARCH_FLASHBACK_10_YEAR remove tablespace ARCH_HIST;
drop flashback archive ARCH_FLASHBACK_10_YEAR;

-- And if ARCH_HIST has no other data:
drop tablespace ARCH_HIST including contents and datafiles;

在完成这些步骤后,我能够删除闪回存档,并删除与该闪回存档关联的表空间。

关于oracle - 无法删除 Oracle 闪回数据存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61745317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com