錯誤描述:在進行用戶以及表空間刪除時候,報ORA-55622 不容許對錶」XXX」執行DML,ALTER和CREATE UNIQUE INDEX 操做錯誤,具體錯誤信息以下:數據庫
drop user TJ_CZDJ_GX cascade;工具
錯誤緣由:經查看,「SYS_FBA_TCRV_XXX」命名的表爲數據庫閃迴歸檔所使用的表,其主要負責記錄在特定的時間範圍,進行特定操做的信息記錄。3d
閃迴歸檔主要用於長時間保存某些表的變化數據,用於審計等,在刪除表空間時,須要先關閉閃迴歸檔。blog
能夠經過下面語句查看全部用戶下哪些表開啓了閃迴歸檔。get
select * from dba_flashback_archive_tables;flash
另外也能夠根據提示,經過下面語句查看具體報錯的表:it
select object_id,owner,object_name from dba_objects t where t.object_id=217444;table
其中217444爲報錯信息中「SYS_FBA_TCRV_XXX」表提示XXX的內容。object
解決方法:關閉相應表的閃迴歸檔。select
能夠經過下面語句關閉指定表的閃迴歸檔:
alter table XXX no flashback archive;
由於我這裏有多個表開啓了閃迴歸檔,爲了方便,直接構建多條關閉閃迴歸檔語句,批量執行便可(注意構造好的alter語句是在當前用戶下執行,若是要在sys下執行須要增長用戶名前綴,即用戶名.表名的格式)。
select 'alter table ' || table_name || ' no flashback archive ;'
from dba_flashback_archive_tables;
再次執行drop user TJ_CZDJ_GX cascade;語句,已經再也不提示ORA-55622錯誤。
另外,在執行過程當中提示沒法刪除當前鏈接的用戶:
咱們直接到工具—>會話中,終止須要刪除用戶的會話便可。