Skip to Main Content

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, Lal.

Asked: September 19, 2018 - 4:09 am UTC

Last updated: September 19, 2018 - 3:13 pm UTC

Version: 12.2.0.1

Viewed 1000+ times

You Asked

Hi,

Currently i am using list partitioning based on a status column to classify the data as ACTIVE and EXPIRED. And then the corresponding partitions are exported and then dropped from Prod.

The problem with this approach is the internal data movement when the status is marked as EXPIRED.

I went through the in-database archiving feature. I found it almost similar to what we are doing now.

Any advantage for us in mving to in-database archving from the current list partitioning (with reference partitioning for child tables)


and Chris said...

You can combine In-Database Archiving with partitioning:

https://asktom.oracle.com/pls/asktom/asktom.search?tag=statistics-in-database-archiving#9537345800346657311

So it sounds like you could use this to do something similar to your current solution. Rows will still move between the partitions when you "delete" them though.

Would I move to it if you already have a working solution? Probably not. You'll have (significant?) rework for your application to move to it. The benefits would have to be large to outweigh this cost. Unless your current solution has other significant drawbacks, it'll take a while for In-Database Archiving to recoup the rework effort.

Would I consider it for a new table/application? Yes.

So the real question is:

What problems (other than "internal data movement") is the current solution causing you? And how do you expect In-Database Archiving to solve these?

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Design

New to good database design? Check out Chris Saxon's full fundamentals class.