gpt4 book ai didi

oracle - 使用Oracle SQLDeveloper时SID和服务名称有什么区别?

转载 作者:行者123 更新时间:2023-12-02 21:23:51 25 4
gpt4 key购买 nike

英语不是我的母语,请理解

当我尝试通过 sqldeveloper(window) 以系统/密码作为 sysdba 登录到 oracle(linux) 时

通过服务名称失败并返回 ORA-0131:权限不足

但是SID?顺利通过

有什么区别?以及如何与服务名称连接?

最佳答案

Thomas Kyte 精彩地解释了其中的区别:

A service name is more flexible than a SID would be.

A database can dynamically register with a listener using one or more service names. In fact, more than one database can register with a listener using the same service name (think about a clustered environment where you have multiple instances that all are the same database under the covers).

A database on the other hand has a single SID. And a single SID goes to a single database. It is a pure 1:1 relationship.

A service is a many to many relationship.

服务名称与动态注册一起使用 - 数据在监听器启动后注册到监听器。一旦完成,您就可以连接了。

使用 SID - 这更像是告诉听众“我希望你连接到这个特定的数据库,我知道‘地址’,给你”

使用服务 - 您要求监听器让您联系可以满足您的请求的数据库,即使用该服务注册的数据库。

更多信息请点击此处,https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1508737000346067364

六年前,Stack Overflow 中曾提出过类似的问题,How SID is different from Service name in Oracle tnsnames.ora

在您的测试环境中,使用 tnsnames.oralistener.ora。 AFAIK,从 12c 开始,Oracle 仅使用 service_name,因为它很灵活并且具有多对多关系。如果我发现不正确,我会根据文档进行交叉验证。

关于oracle - 使用Oracle SQLDeveloper时SID和服务名称有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25959063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com