1 Reply Latest reply on Mar 2, 2016 7:16 PM by yenier

    ORA-02063: preceding 5 lines from DBLINK error using sem_apis.export_rdfview_model function




      I need to build a RDF model in Oracle 12c from relational data stored in Oracle 11g. I'm using a DATABASE LINK named BDLINK to connect both servers and Oracle 12c has a set of views of relational tables stored in Oracle 11g.


      Firstly, I created with success a virtual RDF model using sem_apis.create_rdfview_model  as follow :


       model_name => 'model_virtual',
       tables => NULL,
       r2rml_table_owner => 'MYUSER',
       r2rml_table_name => 'STAGE_TABLE');


      Next this, STAGE_TABLE table was truncate and now I want to export triples into STAGE_TABLE for later to build the materialized RDF model.

      I'm using sem_apis.export_rdfview_model function  to export triples into STAGE_STAGE as follow:


       model_name => 'model_virtual',
       rdf_table_owner => 'MYUSER',
       rdf_table_name => 'STAGE_TABLE');


      But the execution of this statement returns the following error:


      DBD::Oracle::db do failed: ORA-02063: preceding 5 lines from BDBLINK

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

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

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

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

      Thank you very much for who could give me a solution for this problem.


        • 1. Re: ORA-02063: preceding 5 lines from DBLINK error using sem_apis.export_rdfview_model function

          Hi people:


          In this case, I guess to discovered the problem and the solution

          The real problem is the number of cursors that are opened in the Oracle 11g server to perform queries from the Oracle server 12c when it comes to make exportation data.

          The solution then is to increase the maximum number of cursors that can be open on the server Oracle 11g through the sentence:

          alter system set open_cursors = 1000 scope = both;



          To monitor open cursors, query v$sesstat where name='opened cursors current'. This will give the number of currently opened cursors, by session:



          --total cursors open, by session

          select a.value, s.username, s.sid, s.serial#

          from v$sesstat a, v$statname b, v$session s

          where a.statistic# = b.statistic#  and s.sid=a.sid and b.name = 'opened cursors current';



          I hope this will help other people.