zoukankan      html  css  js  c++  java
  • ORA-55622 不允许对表”XXX”执行DML,ALTER和CREATE UNIQUE INDEX 操作

    错误描述:在进行用户以及表空间删除时候,报ORA-55622 不允许对表”XXX”执行DML,ALTER和CREATE UNIQUE INDEX 操作错误,具体错误信息如下:

    drop user TJ_CZDJ_GX cascade;

    QQ截图20210104095852

    错误原因:经查看,“SYS_FBA_TCRV_XXX”命名的表为数据库闪回归档所使用的表,其主要负责记录在特定的时间范围,进行特定操作的信息记录。

    闪回归档主要用于长时间保存某些表的变化数据,用于审计等,在删除表空间时,需要先关闭闪回归档。

    可以通过下面语句查看所有用户下哪些表开启了闪回归档。

    select * from dba_flashback_archive_tables;

    另外也可以根据提示,通过下面语句查看具体报错的表:

    select object_id,owner,object_name from dba_objects t where t.object_id=217444;

    其中217444为报错信息中“SYS_FBA_TCRV_XXX”表提示XXX的内容。

    image

    解决方法:关闭相应表的闪回归档。

    可以通过下面语句关闭指定表的闪回归档:

    alter table XXX no flashback archive;

    因为我这里有多个表开启了闪回归档,为了方便,直接构建多条关闭闪回归档语句,批量执行即可(注意构造好的alter语句是在当前用户下执行,如果要在sys下执行需要增加用户名前缀,即用户名.表名的格式)。

    select 'alter table ' || table_name || ' no flashback archive ;'
       from dba_flashback_archive_tables;

    image

    再次执行drop user TJ_CZDJ_GX cascade;语句,已经不再提示ORA-55622错误。

    另外,在执行过程中提示无法删除当前连接的用户:

    image

    我们直接到工具—>会话中,终止需要删除用户的会话即可。

    image

  • 相关阅读:
    令人惊艳的算法——蒙特卡洛采样法
    肺炎确诊人数增长趋势拟合和预测(截止1月28日)
    「07」回归的诱惑:深入浅出逻辑回归
    实现一个简易版Webpack
    nrm——快速切换npm源
    7个有用的JavaScript技巧
    JSON Web Token 是什么?
    【译】强化表单的9个Vue输入库
    【译】如何使用Vue过渡效果来提升用户体验
    【译】JavaScript Source Maps浅析
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/14228767.html
Copyright © 2011-2022 走看看