首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置global_names参数

设置global_names参数
EN

Stack Overflow用户
提问于 2008-11-24 23:54:01
回答 1查看 5.4K关注 0票数 1

大家好,

我的公司使用Peoplesoft进行财务和人力资源管理。我们的实现是在Oracle数据库上。设置global_names = TRUE会强制您将数据库链接命名为与目标相同的名称。我的问题是,有人知道在init.ora参数文件中将global_names设置为false的后果吗?

更具体地说,我希望我们的一个环境(global_names = true)有一个名为PRODLINK的数据库链接,它将指向一个生产HR数据库。另一个环境(其中global_names = false)也将有一个名为PRODLINK的链接,但它将指向非生产数据库。更复杂的是,一个数据库环境是Oracle 9.2,而另一个是Oracle 10.2

我一直在寻找这个问题的答案,但找不到。提前感谢您能提供的任何帮助/建议。

J.C.

EN

回答 1

Stack Overflow用户

发布于 2008-11-25 13:55:30

使用global_names=TRUE的好处很简单,那就是它强制您使用名称来表示数据库链接,这些名称清楚地表明它们连接到哪个数据库。将其设置为FALSE简单地消除了这一限制;缺点是它将允许您使用可能令人混淆的名称创建链接。在反常的情况下,如果您有数据库A、B和C,您可以在A中创建一个名为"B“的链接,但指向C。

您还可以将其视为一个安全问题,因为设置global_names=FALSE会使某人可能恶意更改链接的定义,从而导致不适当的访问或数据损坏。不过,我想不出一个具体的场景。

总体而言,将其设置为FALSE没有太大的缺点。但是,您还可以考虑其他几种选择。

一种方法是保持全局设置为TRUE,但在需要它的代码中在会话级别将其重置为FALSE。我们在我的网站上这样做是因为只有一个应用程序需要使用“不正确”的命名链接。此方法可确保以交互方式使用该链接的任何人或编写使用该链接的代码的任何人都会被提醒该名称与目标不匹配。

另一种方法是保留global_names=TRUE,以便环境使用不同的链接名称,但在代码中将链接名称作为参数或配置选项。例如,如果您有构建PL/SQL程序包的脚本,则可以将链接名称设置为脚本的参数。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/315919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档