DDL триггер - не может отключить триггер - PullRequest
0 голосов
/ 01 мая 2018

Я "случайно" создал триггер, который не позволит никому выполнять DDL в базе данных. Теперь я ничего не могу сделать с моей базой данных. Даже sysdba не может сбросить этот триггер. Я пытался отключить его, но все же он срабатывает, прежде чем сделать это. Вот злой триггер, который я включил:

CREATE OR REPLACE TRIGGER Prevent_Changes
BEFORE DDL ON DATABASE
  BEGIN
    RAISE_APPLICATION_ERROR (
      num => -20000,
      msg => 'ERROR, no changes to database allowed!');
  END;

1 Ответ

0 голосов
/ 01 мая 2018

Просто отредактируйте триггер первым. Удалить эту часть.

RAISE_APPLICATION_ERROR (
      num => -20000,
      msg => 'ERROR, no changes to database allowed!');

Вы можете просто добавить:

dbms_output.put_line('fine');

Это прекратит повышать исключение для любого вашего ddl. Он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...