数据库名(db_name) 实例名(instance_name) 服务名(service_name)

  • 数据库名(db_name)

数据库的标识,就像人的身份证号一样,数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的.

select name from v$database;--查询当前数据名

  • 数据库实例名(instance_name)

数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名.

在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。

select instance_name from v$instance;--查询当前数据库实例名

数据库实例名与ORACLE_SID

    1. 虽然两者都表是oracle实例,但两者是有区别的。
    2. instance_name是oracle数据库参数,而ORACLE_SID是操作系统的环境变量。
    3. ORACLD_SID用于与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID。
    4. ORACLE_SID必须与instance_name的值一致.

数据库实例名与网络连接

    1. 数据库实例名除了与操作系统交互外,还用于网络连接的oracle服务器标识。
    2. 当你配置oracle主机连接串的时候,就需要指定实例名,当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。
  • 数据库域名(db_domain)


使用在分布式环境

select value from v$parameter where name = 'db_domain';--查询数据库域名


全局数据库名 全局数据库名=数据库名.数据库域名

  • 数据库服务名(service_name)
    1. 从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。
    2. 如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。
    3. 从8i以后版本使用服务名进行连接。

select value from v$parameter where name = 'service_name';--查询数据库服务名

你可能感兴趣的:(instance)