Search code examples
oracle-databasestoragespacedisksynonym

How many disk space oracle synonym takes?


We've a problem at my company because everyone shares the development oracle database. Thus, if a developer wants to modify a procedure or package, for example, other's application will fail, until this first developer ends his work.

So I thought it will be great if I could create a User in my database for each demand of work within a synonym (or many) for datase objects.

Here comes the example:

I have a demand called D9877, for instance. My work on this demand is to alter a package named MYPCKG. So to start assignment, I first create a Oracle user as D9877 within a synonym for my MYPCKG. This way, any modification will be applied on synonym, without affecting any other developers.

And here are my questions:

  • Could I do that without my server storage explodes?

  • How many disk space a oracle synonym takes?


Solution

  • I think your understanding of synonyms is not quite correct.

    Synonym is a link on another object. As a shortcut on file on Windows or link on Linux.

    To be able to parallel change of some packages you need to make sure that your application could be installed on dedicated schema. You can create local synonyms on you tables (because tables do take space!) from main application schema and compile packages in your schema. Another developers can have their own version of application (i.e. packages, views).

    However you need to consider some cases like triggers (it could be tricky to have 2 versions of the trigger on the same table), some dynamic DDL to tables executed by your application, like truncate table and etc.