• ORALCE_SID、SID、INSTANCE_NAME和DB_NAME


            SID是System IDentifier的缩写,而ORACLE_SID就是Oracle System IDentifier的缩写,在Oracle系统中,ORACLE_SID以环境变量的形式存在,当Oracle实例启动时,在操作系统上fork的进程就一句这个ORACLE_SID来创建,这就是SID的作用。
            Oracle的Instance是由SGA和Background Processes共同组成,而Background Processes正是数据库与操作系统进行交互的通道,这些进程的名称都是通过ORACLE_SID决定。
            在同一个$ORACLE_HOME下,通过参数文件,Oracle能够根据ORACLE_SID将实例区分开来;但是注意如果在不同的$ORACLE_HOME下,即使在同一台主机上,Oracle也能够创建相同的ORACLE_SID的实例。
            Oracle数据库内部存在一个初始化参数INSTANCE_NAME,用于标示数据库实例的名称,其缺省值通常就是ORACLE_SID;但是初始化参数INSTANCE_NAME和ORACLE_SID可以不同,不同的实例可以拥有相同的INSTANCE_NAME。
            在数据库内部是同V$INSTANCE中也记录着一个INSTANCE_NAME,这个INSTANCE_NAME来自数据库实例的SID,始终和ORACLE_SID保持一致。
             DB_NAME代表了实例即将挂接的数据库名称,关系到具体的物理文件。通常缺省的数据库INSTANCE_NAME和DB_NAME可以设置相同(在RAC环境下,由于多个实例对应一个数据库,所以INSTANCE_NAME和DB_NAME不同)。
            Oracle文档中对于DB_NAME的定义如下:DB_NAME用来定义数据库名称,必须是一个不超过8个字符的文本串,在数据库创建过程中,DB_NAME会被记录在数据文件、控制文件和日志文件中。如果数据库实例启动过程中参数文件中的DB_NAME和控制文件中的数据库名称不一致,则数据库不能启动。
     


  • 相关阅读:
    读书笔记----软件设计原则、设计模式
    程伟杰 | 2021软件代码开发技术作业一 | 自我介绍+课程6问
    团队作业3-需求改进&系统设计
    团队项目作业2-需求规格说明书
    【Android实习】20场面试斩获大厂offer,我学会了什么
    通俗易懂,android是如何管理内存的
    关于Handler同步屏障你可能不知道的问题
    清晰图解深度分析HTTPS原理
    这一篇TCP总结请收下
    深入浅出Java线程池:源码篇
  • 原文地址:https://www.cnblogs.com/nolanchan/p/8016317.html
Copyright © 2020-2023  润新知