2 Replies Latest reply: Mar 22, 2013 1:04 PM by kevinb RSS

    Sybase to Oracle Migration: Object naming questions

      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.

      Any other ideas would be appreciated!
        • 1. Re: Sybase to Oracle Migration: Object naming questions
          Dermot Oneill-Oracle
          Hi Kevin,

          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,

          SQL Developer Team.
          • 2. Re: Sybase to Oracle Migration: Object naming questions
            Thanks for the confirmation. I've never been good at regex or sed, but they might become my new best friend!