Oracle 11g: ORA-00604: erreur s'est produite lors de récursive SQL niveau 1

J'ai exécuté le script ci-dessous et ça fonctionne:

BEGIN
   FOR cur_rec IN (SELECT object_name, object_type
                 FROM user_objects
                WHERE object_type IN
                         ('TABLE',
                          'VIEW',
                          'PACKAGE',
                          'PROCEDURE',
                          'FUNCTION',
                          'SEQUENCE'
                         ))
 LOOP
  BEGIN
     IF cur_rec.object_type = 'TABLE'
     THEN
        EXECUTE IMMEDIATE    'DROP '
                          || cur_rec.object_type
                          || ' "'
                          || cur_rec.object_name
                          || '" CASCADE CONSTRAINTS';
     ELSE
        EXECUTE IMMEDIATE    'DROP '
                          || cur_rec.object_type
                          || ' "'
                          || cur_rec.object_name
                          || '"';
     END IF;
  EXCEPTION
     WHEN OTHERS
     THEN
        DBMS_OUTPUT.put_line (   'FAILED: DROP '
                              || cur_rec.object_type
                              || ' "'
                              || cur_rec.object_name
                              || '"'
                             );
  END;
   END LOOP;
END;
/

Mais le problème est que, après cela, je ne peux pas accorder, de créer ou de drop etc. dans ma base de données, même moi, je suis en utilisant un utilisateur sysdba.

J'obtiens l'erreur:

ORA-00604: erreur s'est produite lors de récursive SQL niveau 1
ORA-00942: la table ou la vue n'existe pas

S'il vous plaît aider. Merci.

  • S'il vous plaît dites-moi, vous n'avez pas exécuté le script le SYS ou de l'utilisateur du SYSTÈME...
  • pas de. je utiliser un autre utilisateur sur l'exécution de ce script qui est ICBI.