First look up partitioning in the concepts manual.
Then setup a test system which you can benchmark
Then setup your tables and indexes with the different partitioning options and find out which one works best for your app.
Then when you want to do this on your production system I would suggest if you have space (for the existing table and the new partitioned table) use dbms_redefinition to migrate over (you can do this on a live system if its not too busy). If you dont have the space you need to use exp & imp (or expdp & impdp) to get the data out and into the new tables (but this would require downtime).