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

Oracle 23ai执行SEM_APIS.CREATE_SEM_NETWORK报错ORA-13199求助

Oracle 23ai 创建私有Schema语义网络报错排查

在VirtualBox虚拟机运行Oracle 23ai Free(版本23.4.0.24.05),遵循官方指南创建私有Schema语义网络时,执行SEM_APIS.CREATE_SEM_NETWORK报错。

执行的操作步骤

[oracle@localhost ~]$ sqlplus

Enter user-name: sys as sysdba
Enter password: oracle

Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.4.0.24.05

SQL> CREATE TABLESPACE rdf_tblspace
 DATAFILE 'rdf_tblspace.dat' SIZE 1024M REUSE
 AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED
 SEGMENT SPACE MANAGEMENT AUTO;

Tablespace created.

SQL> CREATE USER rdfuser IDENTIFIED BY Password99 QUOTA 5G ON rdf_tblspace;

User created.

SQL> GRANT CONNECT, RESOURCE, CREATE VIEW TO rdfuser;

Grant succeeded.

SQL> CONNECT rdfuser/Password99

Connected.

SQL> EXECUTE SEM_APIS.CREATE_SEM_NETWORK('rdf_tblspace', network_owner=>'rdfuser', network_name=>'rdfnetwork');

报错详情

BEGIN SEM_APIS.CREATE_SEM_NETWORK('rdf_tblspace', network_owner=>'rdfuser', network_name=>'rdfnetwork'); END;

*
ERROR at line 1:
ORA-13199: Error during RDF Network creation: step_num=2.2
ORA-04067: not executed, package body "SYS.SDO_RDF_SYS" does not exist
ORA-06508: PL/SQL: could not find program unit being called: "SYS.SDO_RDF_SYS"
RDF_EBTRC [
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 32175
]
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 33028
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 33002
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 32987
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 33024
ORA-06512: at "MDSYS.SDO_RDF", line 19006
ORA-06512: at "MDSYS.SDO_RDF", line 19040
ORA-06512: at "MDSYS.RDF_APIS", line 3206
ORA-06512: at line 1

问题分析

报错核心是ORA-04067,说明RDF功能依赖的核心包体SYS.SDO_RDF_SYS不存在,大概率是安装时未包含语义数据相关组件,或组件未正确初始化。

可能遗漏的操作步骤及解决方法

  • 检查并安装Spatial and Graph组件:Oracle语义数据功能属于Spatial and Graph组件,默认安装可能未勾选。需重新运行Oracle安装程序,选择添加该组件。
  • 手动执行RDF组件初始化脚本:
    1. 切换到Oracle安装目录的rdbms/admin路径:
      cd $ORACLE_HOME/rdbms/admin
      
    2. 以sys as sysdba身份登录SQL*Plus,执行初始化脚本:
      @catrdf.sql
      
  • 补充用户权限:除已授予的权限外,需给rdfuser授予RDF管理相关权限:
    GRANT SEM_ADMIN TO rdfuser;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:29:55