3 Replies Latest reply on Feb 24, 2016 9:40 PM by Matperry-Oracle

    Identifier SDO_RDF.CREATE_RDF_NETWORK must be declared ORA-06550 ORACLE 12c

    3180035

      I am working with semantic (RDF/OWL) data and want to store it in Oracle 12c. I have installed all necessary softwares.

      I have created a pluggable database PROJOWL and trying to create a table within that to store the RDF data.

      The steps I follow are from HERE (go to 1.11)https://docs.oracle.com/database/121/RDFRM/sdo_rdf_concepts.htm#RDFRM602

      Step 1: CREATE TABLESPACE rdf_users DATAFILE 'rdf_users.dat'

      SIZE 128M REUSE AUTOEXTEND ON NEXT 64M

      MAXSIZE UNLIMITED SEGMENT SPACE MANAGEMENT AUTO; 


      Step 2: EXECUTE SEM_APIS.CREATE_SEM_NETWORK('rdf_users');

      This is where I get the error

      SQL> EXECUTE SDO_RDF.CREATE_RDF_NETWORK('rdf_users');

      BEGIN SDO_RDF.CREATE_RDF_NETWORK('rdf_users'); END; 


      * Error on line 1: ORA-06550: line 1, column 7:

      PLS-00201: Identifier SDO_RDF.CREATE_RDF_NETWORK must be declared ORA-06550:

      line 1, column 7: PL/SQL: Statement ignored

      Not sure what to do to resolve this.

        • 1. Re: Identifier SDO_RDF.CREATE_RDF_NETWORK must be declared ORA-06550 ORACLE 12c
          Matperry-Oracle

          Hi,

           

          I believe you need to install the RDF software. It is not enabled by default. To check, connect as sys and do select * from mdsys.rdf_parameter. If this table is missing, then RDF is not installed.

          Instructions are here: https://docs.oracle.com/database/121/RDFRM/sem_enable.htm#RDFRM119

           

          Basically, you need to run $ORACLE_HOME/md/admin/catsem.sql as SYSDBA

           

          Since you are using a multi-tenant setup, you need to run catsem.sql from the command line with catcon.pl rather than through SQL*Plus.

          http://docs.oracle.com/database/121/ADMIN/cdb_admin.htm#ADMIN14073

           

          For example,

          [user5@system10]$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS -d $ORACLE_HOME/md/admin -b catsem_output catsem.sql

           

          Thanks,
          Matt

          • 2. Re: Identifier SDO_RDF.CREATE_RDF_NETWORK must be declared ORA-06550 ORACLE 12c
            3180035

            thanks i enabled it successfully. but now

            when i run

            EXECUTE sem_apis.CREATE_RDF_NETWORK('rdf_users');

            BEGIN sem_apis.CREATE_RDF_NETWORK('rdf_users'); END;

             

             

            *

            ERROR at line 1:

            ORA-13199: Error during RDF Network creation: step_num=10 SQLERRM=ORA-13199:

            RDF: Error in load_predefined_rulebases(): SQLERRM=ORA-65040: operation not

            allowed from within a pluggable database. Error backtrace is: ORA-06512: at

            "MDSYS.MD", line 1723

            ORA-06512: at "MDSYS.MDERR", line 17

            ORA-06512: at "MDSYS.LOAD_PREDEFINED_RULEBASES", line 13

            ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 17282

            ORA-06512: at "MDSYS.MD", line 1723

            ORA-06512: at "MDSYS.MDERR", line 17

            ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 17419

            ORA-06512: at "MDSYS.SDO_RDF", line 4050

            ORA-06512: at "MDSYS.RDF_APIS", line 1330

            ORA-06512: at line 1

            • 3. Re: Identifier SDO_RDF.CREATE_RDF_NETWORK must be declared ORA-06550 ORACLE 12c
              Matperry-Oracle

              I think the install is not clean somehow. ORA-65040 usually happens when you try to modify a global object from within a PDB.

              I would suggest that you uninstall and reinstall RDF and then check the MDSYS.RDF_PARAMETER table in both CDB$ROOT and all your PDBs.

               

              Before uninstall/re-install, please run sem_apis.drop_sem_network() to clean up the failed creation.

               

              To uninstall:

              [user5@system10]$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS -d $ORACLE_HOME/md/admin -b semremov_output semremov.sql

               

              To re-install:

              [user5@system10]$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -u SYS -d $ORACLE_HOME/md/admin -b catsem_output catsem.sql

               

              Thanks,
              Matt