I am migrating multiple databases from Sybase to Oracle. By default, the resulting schema name is <owner>_<dbname> (dbo_SALES). To change that, I am following the example to migrate objects into an existing user as described here: http://dermotoneill.blogspot.com/2012/03/migrate-to-existing-oracle-users.html
The change to the Object Naming changes "DATABASE.dbo" to "DATABASE" - and this seems to work fine. The problem I'm having is that there are a lot of references to DATABASE..OBJECT, which do not include 'dbo', the object owner. These references seem to be replaced with dbo_DATABASE.Object.
Is there a way I can add another rule to the Object Naming to catch these references? I'm OK doing the offline migration, however I would like to avoid performing a massive find/replace.
I played around with some examples and I was able to replicate your issue with dbo..object name conversion.
Looks like we try to guess the target name as we do not capture the default database owners. The guess works ok, unless you specify the target name yourself, as in your case.
Using SQL Developer 3.2.2 there is no workaround except the search and replace dbo_databasename in the generation script as you suggested.
Ill work on a better solution for the next release, If SQL Developer is going to guess "dbo" as the user, then it may as well find the specified target name of dbo instead of assuming the default naming conversion.
Thanks for the feedback,