During a DROP USER ... CASCADE operation, you may encounter the following error:
ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-55622: DML, ALTER and CREATE UNIQUE INDEX operations are not allowed on table "SCOTT"."SYS_FBA_TCRV_83287"
Solution: disable flashback archive:
Check the currently enabled flashback archive tables:
set lines 155 col TABLE_NAME for a30 col OWNER_NAME for a30 col FLASHBACK_ARCHIVE_NAME for a30 col ARCHIVE_TABLE_NAME for a30 col STATUS for a30 SELECT * FROM DBA_FLASHBACK_ARCHIVE_TABLES WHERE OWNER_NAME=upper('SCOTT');
Put the following in a script called gen_disable_fda.sql:
set trimspool on set heading off set feedback off set echo off set verify off spool disable_flb_archive.sql SELECT 'spool disable_flb_archive.log' FROM dual; SELECT 'alter table ' || owner_name || '.' || table_name || ' no flashback archive;' FROM DBA_FLASHBACK_ARCHIVE_TABLES WHERE OWNER_NAME=upper('SCOTT'); SELECT 'exit' FROM dual; exit
The script above will generate alter table statements for all SCOTT-owned tables with flashback archive enabled:
sqlplus / as sysdba @gen_disable_fda.sql
Finally, run the script disable_flb_archive.sql, which now contain statements as shown below:
alter table SCOTT.EMP no flashback archive;
After this has been done, the schema may be dropped.
No comments:
Post a Comment