• ORACLE中SID和SERVICE_NAME的区别


    定义

      实例(SID)是操作系统中访问数据库所需要的一系列的进程和内存的集合。即使没有任何数据文件,实 例也可以启动。但是要想访问数据库,必须把数据库文件加载进实例中。实例和数据库的区别可以简单概括为:实例是临时的,它只在相关的进程和内存集合存在时 存在,而数据库是永久的,只要文件存在它就存在。一个实例只能对应一个数据库,但是一个数据库可以由多个实例对应(如RAC)。RAC就是多个实例同时打开一个数据库文件的系统,在结构上是多台机器,每台机器运行一个实例,每个实例都打开同一个数据库 (这个是用磁盘共享技术实现的),这些实例之间需要同步高速缓存,这样保证多个实例是完全一致的,不会相互冲突乃至覆盖。

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

    JDBC连接配置

    1. 使用service_name,配置方式:jdbc:oracle:thin:@//<host>:<port>/<service_name>
    2. 使用SID,配置方式:jdbc:oracle:thin:@<host>:<port>/<SID> 
    3. 使用SID,配置方式:jdbc:oracle:thin:@<host>:<port>:<SID> 

    鉴于以上情况,建议使用第一种连接字符串

  • 相关阅读:
    css权重
    面试题目之 怪异模式和严格模式
    写点东西,以便回忆-2014最后一天,安好
    background-position 用法详细介绍
    css样式自动换行/强制换行
    浏览器兼容之Chrome浏览器: -webkit-text-size-adjust: none;
    html5常用基本标签
    css样式编辑
    Bootstrap 基本用法(续)
    Bootstrap 基本用法
  • 原文地址:https://www.cnblogs.com/zhuitian/p/11530694.html
Copyright © 2020-2023  润新知