Is this still an active question?
My main thoughts were that your choices are to either make it partially relational, fully relational, or do no relations. Partially relational would have relations for:
- hostname
- log facility
- log level
- date/time
and the text of each log message is stored. Fully relational would have all messages stored in a unique table.
Doing this in perl would be easy, but probably a better way would be to take the syslog code and just modify it to interact directly with Oracle.
A great OSF project would be to do this and for max flexibility, allow the configuration to specify the SQL statements for all the inserts.