ORA-13199 ORA-47401 Create Semantic Model Error With Oracle Database Vault Enabled (Doc ID 1608085.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Spatial and Graph - Version 11.2.0.3 and later
Information in this document applies to any platform.

Symptoms

Trying to create a model we get error

 

ERROR at line 1:
ORA-13199: Error in SDO_RDF.CREATE_RDF_MODEL: SQLERRM=ORA-55320: model Error
occurred while dropping model:ORA-47401: Realm violation for DROP VIEW on
MDSYS.SEMP_PERSON
ORA-47401: Realm violation for ALTER TABLE on MDSYS.RDF_LINK$

Steps

1. Configure for Semantics:

@?/md/admin/catsem

CREATE TABLESPACE rdf_tblspace
 DATAFILE '/oradata/orcl/rdf_tblspace.dat' SIZE 64M REUSE
 AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED
 SEGMENT SPACE MANAGEMENT AUTO;

EXECUTE SEM_APIS.CREATE_SEM_NETWORK('rdf_tblspace');


2. Enable Database Vault at the binary level: renaming oradv11.dll.dbl to oradv11.dll
and configure at the database level running DBCA to configure OLS (requirement for DV) and Database Vault

Reference:
B Disabling and Enabling Oracle Database Vault
Oracle® Database Vault Administrator's Guide 11g Release 2 (11.2)
http://docs.oracle.com/cd/E11882_01/server.112/e23090/dvdisabl.htm#DVADM012


3. Try to create an rdf model

conn / as sysdba

create user rdfperson identified by rdfperson
default tablespace users
temporary tablespace temp;

grant create session to rdfperson;
grant CREATE TRIGGER to rdfperson;
grant CREATE SEQUENCE to rdfperson;
grant CREATE TYPE to rdfperson;
grant CREATE PROCEDURE to rdfperson;
grant CREATE CLUSTER to rdfperson;
grant CREATE OPERATOR to rdfperson;
grant CREATE INDEXTYPE to rdfperson;
grant CREATE TABLE to rdfperson;
GRANT CREATE VIEW TO rdfperson;
GRANT CREATE SYNONYM TO rdfperson;
GRANT QUERY REWRITE TO rdfperson;
GRANT UNLIMITED TABLESPACE TO rdfperson;
grant create public synonym to rdfperson;
grant drop public synonym to rdfperson;

SQL> conn rdfperson/rdfperson
Connected.
SQL>
SQL> CREATE TABLE tb_rdf_family(id NUMBER, triple SDO_RDF_TRIPLE_S);

Table created.

SQL>
SQL> -- Create the model.
SQL> execute SEM_APIS.create_rdf_model('person', 'tb_rdf_family', 'triple');
BEGIN SEM_APIS.create_rdf_model('person', 'tb_rdf_family', 'triple'); END;

*
ERROR at line 1:
ORA-13199: Error in SDO_RDF.CREATE_RDF_MODEL: SQLERRM=ORA-55320: model Error
occurred while dropping model:ORA-47401: Realm violation for DROP VIEW on
MDSYS.SEMP_PERSON
ORA-47401: Realm violation for ALTER TABLE on MDSYS.RDF_LINK$
format_error_backtrace is:
ORA-06512: at "MDSYS.RDF_APIS_INTERNAL", line 4778
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 11668
drop attempt failed: dss=SELECT count("TRIPLE") FROM "TB_RDF_FAMILY"
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_RDF", line 1675
ORA-06512: at "MDSYS.RDF_APIS", line 1185
ORA-06512: at line 1


4. Trying to drop the model:

conn rdfperson/rdfperson
execute SEM_APIS.drop_rdf_model('person');

*
ERROR at line 1:
ORA-55320: model Error occurred while dropping model:ORA-47401: Realm violation
for DROP VIEW on MDSYS.SEMP_PERSON
format_error_backtrace is:
ORA-06512: at "MDSYS.RDF_APIS_INTERNAL", line 4778
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 11668
drop attempt failed:
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 17
ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 11726
ORA-06512: at "MDSYS.SDO_RDF", line 1699
ORA-06512: at "MDSYS.RDF_APIS", line 1191
ORA-06512: at line 1

DROP TABLE tb_rdf_family;

*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-20000: Cannot drop table "TB_RDF_FAMILY" because this table owns RDF
objects
ORA-06512: at line 79

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms