My solution(months in german):
PARTITION BY LIST ((to_char(GEBURTSDATUM, \'Month\')))
(
PARTITION p1 VALUES(\'JANUAR\'),
PARTITION p2 VALUES(\'Februar\'
In 11g you can use function-based partitioning through defining a virtual column: http://www.oracle-base.com/articles/11g/partitioning-enhancements-11gr1.php#virtual_column_based_partitioning
Otherwise, you must manually define and maintain a separate column for the partitioning month.
I'd suggest using month numbers instead of names in either case.