项目上需要使用job在每月月初重置序列,在我本机的Oracle上创建job成功了,但在项目的测试平台上创建却报了ORA-04063的错误,详见下图:
在网上搜索,有人说要重新编译DBMS_INTERNAL_LOGSTDBY这个包体,尝试了一下,编译后还是有错。
在PL/SQL中查看DBMS_INTERNAL_LOGSTDBY,发现其依赖的视图“DBA_LOGSTDBY_PROGRESS”有错误,打开“DBA_LOGSTDBY_PROGRESS”的DDL语句并执行,报“找不到system.logmnr_session$”的错误:
经过查找发现system用户下的确没有logmnr_session$这张表,于是我从其他数据库拷贝system.logmnr_session$的DDL语句过来执行。然后再执行创建“DBA_LOGSTDBY_PROGRESS”的DDL语句,依然报错:
查看LOGSTDBY_LOG的DDL语句,并执行:
提示找不到“system.logmnr_log$”&