If your database is only 4GB you have a lot of options. Especially if it is only used during business hours. For larger databases it makes sense to set up the new server as a standby, and ship the log files until you are ready to cut over. you can then shutdown your primary after doing a few log switches, make sure that all of the logs are applied and run dbua to upgrade the database.

however, if this database was created with dictionary managed table spaces, i.e. pre 10g you may want to consider export and import into a new 11g database. This will clean up any strange extent issues that you might have.

You may want to practice the bringing the new database up a few times, and do testing with it before you do the final cut over. That way you can work the kinks out.