If you partition your data correctly, use VPD policies to restrict access to all data. Use cheap storage to store old data and set the old data to read-only so its not included in the backup then you shouldn't need to archive.
Archiving is very difficult to setup correctly and takes a lot of time. Maintaining all the relationships is quite a challenge
Personally my first choice would keep all the data in the database. Consider a central archive database and use features like transportable tablespace to move the data quickly. Then you only remove data from the database when you no longer need it.
With ILM it should be possible to partition the data of a table over different tablespaces using different media. Problem (or question) that I have is the fact that XML DB isn't a 'simple table' to partition and I wanted to know if it was possible somehow.