在 Oracle 网络配置中,SERVICE_NAME 和 SERVICE 扮演的角色确实有所不同,这里确实容易产生混淆。我来详细解释一下这两者之间的关系和各自的作用。
1.服务名 (SERVICE_NAME):
SERVICE_NAME 是指向特定数据库服务的名称。在 Oracle 数据库环境中,一个物理服务器上可以运行多个数据库实例,每个实例都可以有一个或多个服务名。
在示例配置中,SERVICE_NAME 是 orcldg。这是远程数据库实例的具体服务名称,用于客户端连接和操作该数据库。
2.Oracle Net 服务名 (SERVICE 关键字指向的内容):
在 LOG_ARCHIVE_DEST_n 参数中使用的 SERVICE 关键字后跟的是 Oracle Net 服务名,这个名称是用于 Oracle 网络连接的逻辑名称,通常定义在 tnsnames.ora 文件中。
在配置示例中,orcldgserver 是 Oracle Net 服务名。它定义了如何通过网络访问名为 orcldg 的数据库服务,包括所需的网络协议、目标服务器地址、端口等。
关系解释
orcldgserver(Oracle Net 服务名)是一种网络别名,用于通过网络配置文件(如 tnsnames.ora)解析到一个具体的数据库服务 orcldg。你可以将 orcldgserver 理解为一个指向 orcldg 的指针或路径。
orcldg(服务名)是实际数据库服务的名称,它在数据库服务器上配置,并被客户端用于连接和识别具体的数据库实例。
应用场景
在实际应用中,例如设置归档日志传输到远程数据库(如灾难恢复场景)时,你会在 LOG_ARCHIVE_DEST 参数中使用 SERVICE=orcldgserver,告诉 Oracle 数据库通过在 tnsnames.ora 文件中定义的 orcldgserver 网络服务连接到远程的 orcldg 服务上。这样,归档日志就可以被正确地传输到目的地数据库。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




