防止生产库数据被drop、truncate等误删

生产库的数据很重要,一般是不需要drop 或 truncate掉的,为了防止新手误删我们可以在系统上写个系统级的触发器,避免这类事情发生。

CREATE OR REPLACE TRIGGER trg_dropdeny
  BEFORE DROP or TRUNCATE ON DATABASE

BEGIN
  raise_application_error(num => -20000,
                          msg => '你疯了,想删除生产库的表 ' || ora_dict_obj_name() ||
                                 ' ?' || '你完了,警察已在途中.....');
END;

 

 

哈哈,这样再执行drop,或truncate 等语句的时候,就会被提示拉。

你还可以根据你的需要,按照这种思路做各种限定,自己发挥拉~!

相关推荐