在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