SID就是实例名。你在机器上创建多个实例,但是你每次只能运行一个实例(两个实例)不能同时运行,你的这几个实例都有自己独立的数据文件,日志文件,控制文件,参数文件等。它们直接没有任何关联。
一个数据库对应多个实例的情况是:比如RAC,是两个及以上的实例共享数据文件,日志文件等,在同一时刻都对外可用,这样的好处是就算其中一个实例出了问题,客户端还可以通过领外一个实例来使用数据库。

解决方案 »

  1.   

    通俗点讲,你可以理解为“对外服务名”,也就是客户端要连接到服务端需要指定的一个服务名。
    SID是在数据库建立的时候就已经确定的了?
      

  2.   

    数据库启动分为三个状态,NOMOUNT,MOUNT,OPEN
    NOMOUNT,启动数据库实例和读取数据库参数,依据参数分配合适的SGA和PGA给实例,并且启动核心的后台数据库进程(实例是由数据库进程和内存所组成)。从参数文件中读取相应的数据库名,进而可建立实例和数据间的关系。这时已经可以查询到一些动态性能视图
    MOUNT,读取参数文件,主要读取的内容是SCN、数据文件、日志文件、归档文件、临时文件、UNDO文件的位置
    OPEN,依据控制文件及参数文件的信息,打开数据库,主要是将数据文件置于OPEN状态,如果发现数据文件的SCN与控制文件的SCN不一致,则有SMON进程进行REDO和UNDO
      

  3.   

    SID是一个数据库的唯一标识符!是你在建立一个数据库时系统自动赋予的一个初始ID,虽说他和数据库名(DB_NAME)都是一个数据库的唯一标识符,但是在作用上就有不小区别。
    SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID,且它在注册表中也是存在的.
    而数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。 
      

  4.   

    university1、university2、university3等等 
    以上三个,应该是 LZ 创建的用户(USER),不是实例,你安装在你的机器上库,会让你指定一个 SID ,我想LZ应该是在 Windows 上安装的,你到 服务 中看看 OracleServiceXXXX 服务有几个,如果有一个,就是一个SID ,其中 XXXX 就是实例名,如果有 5 个,就是 5个SID 。
      

  5.   

    The system identifier (SID) is a unique name for an Oracle database instance on a specific host. On UNIX and Linux, Oracle Database uses the SID and Oracle home values to create a key to shared memory.
    On most platforms, the ORACLE_SID environment variable sets the SID. When connecting to an instance, clients can specify the SID in an Oracle Net connection or use a net service name. Oracle Database converts a service name into an ORACLE_HOME and ORACLE_SID.
      

  6.   

    一台机子上的oracle,其下可以建多个数据库,也就是数据库服务;
    每个库在建之时都要填一个服务名和sid,这玩意儿就是用来标识这个库的;--你连接oracle时不仅要说 ip、端口 还要说 sid 的 ;
    最常见,大家惯用的orcl,就是个sid;
    你也可以随便起一个~ fukioe什么的,哈哈~我暂时是这么理解的~