数据库连接地址的那些事

jdbc连接数据库使用sid和service_name的区别

Oracle有三种方法:

复制代码
格式一: Oracle JDBC Thin using a ServiceName:

例如: jdbc:oracle:thin:@//192.168.2.1:1521/name

格式二: Oracle JDBC Thin using an SID:

例如: jdbc:oracle:thin:@192.168.2.1:1521:sid

格式三:Oracle JDBC Thin using a TNSName:

例如: jdbc:oracle:thin:@GL

service name 和 sid的关系

service_name:该参数是由oracle8i引进的。在8i以前,使用sid来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,这样设置繁琐。
为了方便并行环境中的设置,引进了service_name参数,该参数对应一个数据库,而不是一个实例。该参数的缺省值为Db_name. Db_domain。一个数据库可以对应多个service_name,以便实现更灵活的配置。该参数与sid没有直接关系,即不必service name 必须与sid一样。
sid是数据库实例的名字,每个实例各不相同。多个sid可以共用一个service name

你可能感兴趣的:(笔记)