• [ORACLE]Oracle db_name ORACLE_SID INSTANCE_NAME SERVICE_NAMES


    db_name:

    实例启动最小参数需求,在参数文件中,通常需要最少的参数是 db_name ,设置了这个参数之后,数据库实例就可以启动.

    SID -->System IDentifier 的缩写
    ORACLE_SID --> 就是 Oracle System IDentifier

    Oracle 的实例 (instance)是由一块共享内存区域 (SGA) 和一组后台进程 (background processes)共同组成,而后台进程正是数据库和操作系统进行交互的通道,这些进程的名称就是通过 ORACLE_SID 决定的。
    在同一个$ORACLE_HOME 下,通过参数文件,Oracle 能够根据 ORACLE_SID 将实例区分开来;
    但是注意如果在不同的$ORACLE_HOME 下,即使在同一台主机上,Oracle 也是能够创建相同 ORACLE_SID 的实例的。

    Oracle ᨀ供的一个小工具 sysresv,我们可以找到对应于不同的 ORACLE_SID,操作系统上创建的共享内存段 ID(Shared Memory)和信号量 ID(Semaphores)等信息:

    [oracle@d4cdb ~]$  sysresv -l D4C
    
    IPC Resources for ORACLE_SID "D4C" :
    Maximum shared memory segment size (shmmax): 4398046511104 bytes
    Total system shared memory (shmall): 4398046511104 bytes
    Total system shared memory count (shmmni): 4096
    *********************** Dumping ipcs output ********************
    
    ------ Message Queues --------
    key        msqid      owner      perms      used-bytes   messages    
    
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status      
    0xe9edf334 0          oracle     600        28672      71                      
    0x00000000 98305      oracle     600        8896512    58                      
    0x00000000 131074     oracle     600        289406976  29                      
    0x00000000 163843     oracle     600        7880704    29                      
    0x61d1a2d4 196612     oracle     600        12288      29                      
    
    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems     
    0x5dc6f648 163840     oracle     600        250       
    0x5dc6f649 196609     oracle     600        250       
    0x5dc6f64a 229378     oracle     600        250       
    0x9a6a5b94 360451     oracle     600        250       
    0x9a6a5b95 393220     oracle     600        250       
    
    *********************** End of ipcs command dump **************

    INSTANCE_NAME
    Oracle 数据库内部存在一个初始化参数 INSTANCE_NAME,用于标示数据库实例的名称, 其缺省值通常就是 ORACLE_SID ;但是初始化参数 INSTANCE_NAME 和ORACLE_SID 可以不同,不同实例可以拥有相同的 INSTANCE_NAME。
    通过以下一段 SQL 可以获得数据库的 UPTIME 信息:

    COLUMN STARTED_AT format a25
    COLUMN UPTIME format a50
    SELECT
        TO_CHAR (startup_time, 'DD-MON-YYYY HH24:MI:SS') started_at,
        TRUNC (SYSDATE - (startup_time))    || ' day(s), ' ||
        TRUNC ( 24 * ((SYSDATE - startup_time) - TRUNC (SYSDATE - startup_time))) || ' hour(s), '||
        MOD (TRUNC ( 1440 * ( (SYSDATE - startup_time) - TRUNC (SYSDATE - startup_time))),60) || ' minute(s), '||
        MOD (TRUNC ( 86400 * ( (SYSDATE - startup_time) - TRUNC (SYSDATE - startup_time))),60) || ' seconds' uptime
    FROM v$instance;

    相较 INSTANCE_NAME 参数来说,对于 Oracle 数据库更为重要的一个参数是 DB_NAME。DB_NAME 代表了实例即将挂接的数据库名称,关系到具体的物理文件。通常缺省的数据库 instance_name 和 db_name 可以设置相同(在 RAC 环境下,由于多个实例对应一个数据库,所以 instance_name 和 db_name 不同)。

    DB_NAME 用来定义数据库名称,必须是一个不超过 8 个字符的文本串,在数据库创建过程中,db_name 被记录在数据文件,日志文件和控制文件中。如果数据库实例启动过程中参数文件中的db_name和控制文件中的数据库名称不一致,则数据库不能启动.
        1. 一个实例可以 mount 并打开任何数据库,但是同一时间一个实例只能打开一个数据库
        2. 一个数据库可以被一个或多个实例所 mount 并打开(在 OPS/RAC 环境下,一个数据库可以被多个实例所打开)。
    DB_NAME 的另外一个作用是在监听器动态注册时作为缺省服务名注册.

    SERVICE_NAMES

    SERVICE_NAMES 为实例所连接的数据库定义一个或多个服务名,可以通过定义多个服务名将不同用户连接区分开来。这个参数的缺省格式为:DB_NAME.DB_DOMAIN,如果定义了 DB_DOMAIN 那么定义的服务名就类似:
      SERVICE_NAMES = sales.doufupi.com, news.doufupi.com
  • 相关阅读:
    RGB888转RGB666
    bmp文件格式详细解析
    Qt 5简介
    IntelliJ IDEA 快捷键
    猫猫学iOS之小知识之_xcode插件的删除方法_自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示,
    sql server 2008出现远程过程调用失败
    Oracle-31-对视图DML操作
    uva 11127(暴力)
    各种排序算法的分析与实现
    我的Android进阶之旅------>怎样解决Android 5.0中出现的警告: Service Intent must be explicit:
  • 原文地址:https://www.cnblogs.com/tingxin/p/12863796.html
Copyright © 2020-2023  润新知