去除UTL_FILE导致的ORA12012 ORA04068 ORA04063 ORA06508

前些天由于安全等原因,应客户要求,去除了PUBLIC用户的UTL_FILE的权限

结果导致了全部数据库报类似如下错误:

ORA-12012: error on auto execute of job 52
ORA-04068: existing state of packages has been discarded
ORA-04063: package body "ORACLE_OCM.<package name>" has errors
ORA-06508: PL/SQL: could not find program unit being called
(ORACLE官方示例)

解决方法:
SQL> grant execute on UTL_FILE to oracle_ocm;
SQL> grant execute on DBMS_SCHEDULER to oracle_ocm;
SQL> ALTER PACKAGE oracle_ocm.MGMT_DB_LL_METRICS compile;
SQL> ALTER PACKAGE oracle_ocm.mgmt_config compile;

详见oracle文档
http://docs.oracle.com/cd/B19306_01/install.102/e10041/troubleshooting.htm#sthref154

原文地址:https://www.cnblogs.com/4admin2root/p/2633411.html