我"意外"创建了一个不允许任何人在数据库上执行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;
答案 0 :(得分:2)
首先编辑触发器。删除此部分。
RAISE_APPLICATION_ERROR (
num => -20000,
msg => 'ERROR, no changes to database allowed!');
您可以添加:
dbms_output.put_line('fine');
这将停止在您的任何ddl上引发异常。它应该工作。