螺竹编程
发布于 2024-08-05 / 4 阅读
0

Oracle中SID和Service Name的区别

在Oracle数据库中,SID(System Identifier)和Service Name都是用于标识数据库实例的关键概念,但它们有不同的用途和含义:

  • SID:针对单个数据库实例的标识符。

  • Service Name:更高层次的服务标识,支持多个实例和连接管理。

在实际使用中,客户端通常通过Service Name连接数据库,而SID更多在数据库管理和配置时使用。

SID(System Identifier)

  • 定义:SID是一个唯一标识符,用于区分同一台机器上的多个数据库实例。

  • 用途:通常在启动和连接到特定实例时使用。每个Oracle实例都有一个唯一的SID。

  • 格式:通常是一个简单的字符串,如ORCL​。

  • 使用SID连接:格式为 @host:port:SID​

    • 示例:jdbc:oracle:thin:@localhost:1521:ORCL​

    • Spring项目:spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL

Service Name

  • 定义:Service Name用于标识数据库的服务,可以映射到一个或多个SID。

  • 用途:主要用于客户端连接,允许更灵活的负载均衡和故障转移。Service Name可以代表多个实例,支持高可用性和集群环境。

  • 格式:通常是一个描述性的字符串,如orcl.example.com​。

  • 使用Service Name连接:格式为 @//host:port/service_name​

    • 示例:jdbc:oracle:thin:@//localhost:1521/orcl.example.com​

    • Spring项目:spring.datasource.url=jdbc:oracle:thin:@//localhost:1521/orcl.example.com