Setting the global_names parameter

Hello,

My company uses Peoplesoft for its finance and management staff. Our implementation is for Oracle databases. Setting global_names = TRUE forces you to reference your database in the same way as the target. My question is, does anyone know forking setting global_names to false in the init.ora options file?

Specifically, I want one of our environments (global_names = true) to have a link to the PRODLINK database and it will point to the production HR database. Another environment (where global_names = false) will also have a link called PRODLINK, but it will point to a non-production database. To further complicate it, one database environment is in Oracle 9.2 and the other is in Oracle 10.2

I have searched for an answer for this but cannot find it. Thanks in advance for any help / advice you can offer.

JC

+1


source to share


1 answer


The potential for global_names = TRUE is that it forces you to use names for database references that clearly indicate which database they are connecting to. Setting this parameter to FALSE simply removes this restriction; the downside is that it will allow you to create links with names that can be confusing. In the wrong case, if you had databases A, B and C, you could create a link in A called "B", but pointing to C.

You can also consider it to be a security issue, with this setting global_names = FALSE makes it slightly possible for someone to maliciously change the definition of the link, which caused either incorrect access or data corruption. I can't think of a specific scenario for this though.

All in all, there isn't much of a downside to setting FALSE. However, there are several other options you might consider.



One is to set globally to TRUE and reset to FALSE at the session level in the code it needs. We do this on my site because there is only one application that requires the use of "incorrect" named links. This method ensures that anyone using the link interactively, or the writing code that uses it, is reminded that the name is not appropriate.

Another is to keep global_names = TRUE, so the environments use different link names, but make the link name a parameter or config parameter in your code. For example, if you have scripts that create PL / SQL packages, you can make the link name a script parameter.

+3


source







All Articles