Oracle database migration or copy
The best way to achieve what you want is to do full export/import using data pump technology. 

After successful import, you will probably have to recompile invalid objects.