4

我一直在想这个问题,但由于它没有出现太多,所以我把它留在了“神秘的巫师”一栏中。

在我看来,像 ABC 和 ABC.DEFG 这样的连接标识符之间存在某种关系,我不太明白它是什么。

例如,我刚刚设置的一台机器在使用标识符 ED2 时遇到问题,即使在我的 tnsnames 文件中我显然有

EDC2 = (....)

这是从另一台运行良好的计算机复制和粘贴的。但是,做 tnsping EDC2 将无法解决,直到我将其更改为

EDC2.WORLD = (...)

此时解析到 EDC2 开始工作。这里发生了什么?

4

1 回答 1

7

tnsnames.ora 文件中的 TNS 别名与参数交互

NAMES.DEFAULT_DOMAIN

在 sqlnet.ora 文件中。例如,如果NAMES.DEFAULT_DOMAIN设置为 WORLD,那么当您尝试连接到没有域的别名时,sqlnet.ora 文件会告诉 Oracle 在 tnsnames.ora 文件中进行查找之前自动附加域。如果您尝试使用域连接到别名,NAMES.DEFAULT_DOMAIN则会被忽略。

我的一般偏好/建议是NAMES.DEFAULT_DOMAIN在 sqlnet.ora 中设置为 WORLD,并在 tnsnames.ora 文件中指定 EDC2.WORLD。这样,连接标识符 EDC2 和 EDC2.WORLD 都将起作用——前者因DEFAULT_DOMAIN参数而更改为后者。

于 2008-10-27T21:07:46.710 回答