You can also use the Transport Tablespace Option other then 2 you mentioned.
if your database is small in size.. i'd suggest data pump export/Import is simple and good Option.
You can also Check the Note ID for other methods:Migration Of An Oracle Database Across OS Platforms (Generic Platform) (Doc ID 733205.1)
Hope this Help
his post describes the procedure required to migrate a database from Windows to Linux using the RMAN Convert Database command.
Both Windows and Linux platforms have the same endian format, which makes possible to transfer the whole database, making the migration process very straightforward and simple.
To migrate between platforms that have a different endian format, Cross Platform Transportable Tablespaces (XTTS) needs to be used instead.
List of Steps Needed to Complete the Migration
The migration process is simple, but as it has several steps it is convenient to be familiar with them before running it.
1. Check platform compatibility between source and target OS
2. Start the database in read only mode
3. Check database readiness for transport from Windows to Linux using DBMS_TDB.CHECK_DB
4. Check if there are any external objects
5. Execute the Rman Convert database command
6. Copy converted datafiles, generated Transport Script and Parameter File to Linux
7. Edit the init.ora for the new database
8. Edit the Transport Script and Parameter File changing the windows paths to Linux Paths
9. Execute the Transport Script
10.Change the Database ID
11.Check database integrity