oracle中schema和service_name之间的关系是什么?

时间:2014-11-26 07:03:56

标签: database oracle database-schema

当我连接到oracle数据库(11g)时,我必须使用以下信息: 架构名称(用户名),密码,Service_name(数据库名称?)。

连接字符串类似于' schemaName / pwd @ host:1521 / serviceName'。

据我所知,Schema与User几乎相同。包含表,索引,视图等所有对象的集合的模式由用户拥有。 我的问题是如果模式已经包含表和其他对象,为什么我们必须在尝试连接时指定service_name。(在客户端工具或tns文件中的配置) 因为使用schema_name / password,我们可以找到我们想要的各个表,service_name在这里的作用是什么?

3 个答案:

答案 0 :(得分:0)

服务名称标识要连接的服务(数据库)。最重要的是,还有一些其他功能取决于您用于连接的服务:例如资源管理器,跟踪,性能统计信息的收集。

答案 1 :(得分:0)

服务是在操作系统的后台运行的东西。因此,您使用的每个数据库都是一个持续运行的服务。比如说。如果您安装了两个数据库软件,例如oracle和mysql,则需要指定要连接的服务。我希望这能在service_name上回答您的问题。

答案 2 :(得分:0)

该服务是同一台计算机/服务器/计算机上不同数据库之间连接可能不同的方式之一。从理论上讲,你不能提到这个并且仍然可以使用正确的数据库(如果只有1个数据库),但在数据库连接的上下文中,所有参数都需要明确给出。我相信这是因为安全性和双重检查。

注意也给出了端口号,这是数据库之间不同的另一种方式。但是,要知道可以通过同一个端口访问不同的数据库。

该服务通常是对正在连接的实际数据库实例的提示。