You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle从11gR1升级11gR2后owbsys存储过程报PLS-00201错误如何解决

问题背景

Oracle数据库从11gR1版本升级至11gR2版本后,owbsys用户下的WB_OLAP_LOAD_CUBE存储过程编译触发如下报错:

PROCEDURE OWBSYS.WB_OLAP_LOAD_CUBE
On line:  1
PLS-00201: identifier 'DBMS_AWM' must be declared
问题定位步骤
  • 检查OLAP组件状态:以SYS用户执行以下SQL,确认OLAP相关组件是否正常生效
    select comp_name, version, status from dba_registry where comp_name like '%OLAP%';
    
    所有返回行的status字段值应为VALID,如果返回为空或状态为INVALID,说明OLAP组件在升级过程中安装/升级失败。
  • 检查DBMS_AWM系统包状态:执行以下SQL确认包是否存在且有效
    select owner, object_name, object_type, status from dba_objects where object_name='DBMS_AWM';
    
    无返回结果说明包未安装,status为INVALID说明包已失效。
  • 检查OWBSYS用户权限:执行以下SQL确认OWBSYS是否有DBMS_AWM的执行权限
    select * from dba_tab_privs where table_name='DBMS_AWM' and grantee='OWBSYS';
    
    无返回结果说明升级过程中OWBSYS的相关执行权限被回收。
解决方案

根据定位到的问题对应处理:

场景1:OLAP组件失效/DBMS_AWM包不存在

  1. 以SYS用户执行OLAP包安装脚本:
    @?/olap/admin/owminst.sql
    
  2. 执行全局失效对象重编译脚本,修复所有升级后失效的系统对象:
    @?/rdbms/admin/utlrp.sql
    
  3. 重新执行定位步骤的前两条SQL,确认OLAP组件和DBMS_AWM包状态为VALID。

场景2:OWBSYS无DBMS_AWM执行权限

  1. 以SYS用户授予OWBSYS对应权限:
    grant execute on sys.dbms_awm to owbsys;
    grant execute on sys.dbms_aw to owbsys;
    
    第二条授权是避免存储过程后续调用DBMS_AW.EXECUTE时触发同类权限报错。
验证结果

执行以下SQL重新编译存储过程,确认编译通过:

alter procedure OWBSYS.WB_OLAP_LOAD_CUBE compile;
-- 查看编译状态
select object_name, status from dba_objects where owner='OWBSYS' and object_name='WB_OLAP_LOAD_CUBE';

返回status为VALID即问题解决。

内容的提问来源于stack exchange,提问作者Reja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:24:03