Striving for Optimal Performance
  • Blog
    • Archive
    • Categories
    • Search
  • Troubleshooting Oracle Performance
    • Description
    • Structure
    • Table of Contents
    • Forewords
    • Reviews
    • Downloadable Files
    • Addenda and Errata
    • First Edition
  • Public Appearances
    • Past Public Appearances
  • Contact
  • About

Purging Unused Triples Is a Never-ending Operation

18 December 2017 Leave a Comment Written by Christian Antognini

This is a short post to point out a problem I recently discovered and for which I couldn’t find information online. Hence, in case you hit it, thanks to this short post I hope that you’ll save some time.

The documentation describes a procedure you can use to get rid of dangling triples stored in a semantic network. Simply put, you must execute a PL/SQL block like the following:

BEGIN
  sem_apis.purge_unused_values(flags => 'PARALLEL');
END;

BEGIN sem_apis.purge_unused_values(flags => 'PARALLEL'); END;

Since one of my customers was/is concerned by the number of dangling triples that are stored in its databases, in October I experimented with the SEM_APIS.PURGE_UNUSED_VALUES procedure. Unfortunately, I quickly discovered that with a non-trivial number of triples it resulted in a never-ending operation. For one specific case I estimated ca. 300 days for one single run! It goes without saying that the issue was recognized as a bug.

Oracle Support provided a patch that I could test today. Note that I can’t share with you the patch number because, as far as I can see, it has no official number (two “references” are provided in the README: “12_1_02_SEM_NOV_30_2017” and “12.1.0.2.0_P1”). Anyway, the essential thing is that according to my tests the patch works. Now the never-ending operation takes less than 3 minutes to complete. Way better!

In case you experience a similar issue, you should open a service request. Oracle Support should be able to help you…

12.1.0.2, Bug, RDF Semantic Graph
SQL_ADAPTIVE_PLAN_RESOLVED Is Broken
How Well a Query Optimizer Handles Subqueries?

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.