Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

While I was trying to drop a table, it throws following error in Oracle SQL Developer:

ORA-40341: Access violation on model storage object

The tables are temporary tables created while pushing into the database using Oracle R Enterprise. The names of the tables are: DM$PRORE$21_473, DM$PGORE$21_473, ...

I need to drop all these tables as these tables have occupied large space of my database. While googling, I found this link but it provides no solution clues.

share|improve this question
1  
The error message advises you to contact your DBA or Oracle Support. Have you done either? –  APC Jul 9 '13 at 9:33
1  
Cause: An attempt was made to directly access/modify a schema object that stores model metadata and content.Action: Perform all mining operations (create,drop,alter, and select using data mining functions) against named model objects. Contact your DBA or Oracle Support if you suspect that an orphaned schema object. –  Gaurav Soni Jul 9 '13 at 9:42
    
Should I contact to DBA? As we donot have a dedicated DBA, I would like to do using some PL/SQL queries. –  Zane Jul 9 '13 at 9:44
    
So you don't have a DBA. And presumably you don't have an Oracle Support contract either. That's tough. Oracle R is a very new technology, so there's really not that many people who know it. –  APC Jul 9 '13 at 10:11
    
It sounds like these tables are "owned" by a parent table, and they store various meta-data / structures to improve access performance. Try finding their "parent". –  beiller Jul 9 '13 at 15:34
add comment

migrated from stackoverflow.com Jul 10 '13 at 3:31

This question came from our site for professional and enthusiast programmers.

1 Answer

up vote 1 down vote accepted

Database tables created using ore.push will have the prefix ORE$. Normally, these are automatically cleaned up when the R session ends or the ORE db connection terminated (unless you save the ore.frame objects in an ORE datastore).

In-database models from Oracle Data Mining (ODM) as created from ore.odmSVM will also normally be deleted automatically and the end of the R session or ORE db connection termination. You should not attempt to remove DM$ tables as they are part of the in-database model. If you do delete any of these, their corresponding models will be corrupted/invalid.

You can invoke

SELECT name FROM dm_user_models;

to see the list of models in the database for your schema.

You can drop ODM models using the following in SQL*Plus or SQL Dev:

BEGIN 
  DBMS_DATA_MINING.DROP_MODEL('MY_MODEL'); 
END;

Lots of thanks goes to Mark Hornick, Senior Manager, Oracle Advanced Analytics for his constant support in ORE implementation in my project.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.