What approach do you recommend? I was planning to have a partitioned table per day (is it possible to have 60 partitions?), use a PK on those unique values, use an external table (or SQL*Loader) to load the data and use the HINT APPEND to insert new data, then use another process to drop old partitions and create a new one for today's data. I'm not very familiar with partitioned tables, so any example and help is appreciated.
What do you think about this approach? Any other ideas? Thanks.
You can use SQL*Loader to load the data into the partitioned table. With SQL*Loader, you can have a discard file which will contain the rows that were not ingested due to violating the PK constraint (or some other constraint). This can also be done with External Tables.
I recommend reading the following: the Oracle Concepts Guide (Chapter 18 talks about partitioned tables and indexes) and the Oracle Utilities Guide (Part II covers SQL*Loader and Part III covers External Tables).
This was first published in August 2006