想要在闪回数据归档上做一个干净的测试,所以必须删除现有的。
我在所有已启用的表上禁用了FDA,并删除了FDA。
但我仍然在DBA_FLASHBACK_ARCHIVE和DBA_FLASHBACK_ARCHIVE_TS中看到了记录
如果我尝试删除表空间,我得到"ora-55641无法删除闪回数据存档使用的表空间“。当我放弃FDA时,它成功了,并且没有错误。
我尝试了alter flashback数据归档清除,但仍然无法删除TS
alter flashback archive fla1 purge all;然后我尝试更改FDA,看看是否可以解除链接-- alter flashback archive fla1 remove tablespace tbs2;我得到错误消息"ORA-55626: Cannot remove the Flashback Archive's primary tablespace“。
我能知道是否需要清理任何内部表吗?
发布于 2020-09-01 07:09:48
我遇到过类似的情况;在我的例子中,我一直在使用Flashback Data Archive (也称为FBA、FBDA、FDA)时遇到一些查询问题,可能是由于物化视图。因此,为了解决这个问题,我使用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;在完成这些步骤之后,我能够删除闪回归档,并删除与该闪回归档相关联的表空间。
https://stackoverflow.com/questions/61745317
复制相似问题