My vote goes to Postgresql, because it's fast, very customizable (e.g. you can use it as a spatial database with postgis), it's ANSI SQL compliant, allows to write stored procedures and functions in numerous programming languages (Including R and Python), you can define additional data types, It also can handle NoSQL data (e.g. JSON, XML) and It´s free.
Since both Postgresql and Oracle SQL are (more or less) ANSI SQL compliant, it should be easy to move your code from one to another with minimum changes. Also, there are books that can help you with the translation problems
This actually depends on how much sql you already know, but I like this book for featuring the key points of PostgreSQL.