关于Oracle数据库的几个概念
2018-01-27 14:16
375 查看
Oracle数据库中有这么几个概念:
数据库名(DB_NAME ),数据库实例名(INSTANCE_NAME),操作系统环境变量(ORACLE_SID),数据库服务名(SERVICE_NAME),数据库域名(DB_DOMAIN),全局数据库名(GLOBAL_NAME)。
你也许认为为什么会有这么多个名字呢,多麻烦啊,别着急,下面就来看看他们到底是怎么一回事:
数据库名(DB_NAME):是用于区分一个数据的内部标示,即Oracle数据库的内部表示。它是以二进制方式存储存储于数据库的控制文件的参数。在数据库安装或创建之后不得修改(其实是可以修改的,不过麻烦点),这个参数被写入pfile中 。
可以从形如 “D:\app\Carlos\admin\orcl\pfile”的文件夹中找到:
###########################################
# Database Identification
###########################################
db_domain=""
db_name=orcl
数据库实例名(INSTANCE_NAME):实例名用于和操作系统关联,在操作系统中要取得与数据库之间的交互必须使用数据库实例名。数据库名一般与实例名是一一对应的。但在Oracle的并行服务结构中却不是,数据库与实例是一对多的关系。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
orcl
操作系统环境变量(ORACLE_SID):操作系统环境变量(ORACLE_SID)与instance_name的关系:instance_name是Oracle的数据库参数,而oracle_sid则是操作系统的环境变量,用户和操作系统交互,也就是说要得到实例名,必须使用sid。在数据库安装结束时,oracle_sid已经是一个确定的字符串了,其值必须与数据库实例名相同。
数据库域名(DB_DOMAIN):在Oracle10g中db_domain表示域名,那么数据库域名是什么时候确定的呢?与数据库名,数据库实例名一样数据库域名在安装数据库时候已经确定。在确定数据库名时如果输入orcl则表示该数据库。如果输入orcl.carlos.net。后面的carlos.net则表示域名。
SQL> select value from v$parameter
2 where name = 'db_domain';
VALUE
--------------------------------------------------------------------------------
SQL> show parameter domain;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_domain string
没有值,表示我没有域名。
全局数据库名:则表示数据库名和域名的总和。如果没有域名那么,全局数据库名就是数据库名相同。
数据库服务名:它是从9I,10G开始引入的参数。用service_names表示。数据库服务名与全局数据库名相同。
SQL> show parameter service_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
总结:数据库实例名(INSTANCE_NAME),操作系统环境变量(ORACLE_SID)相同且与操作系统服务相关,
数据库名(DB_NAME)加上
数据库域名(DB_DOMAIN)就是 全局数据库名,也是 数据库服务名。
数据库名(DB_NAME ),数据库实例名(INSTANCE_NAME),操作系统环境变量(ORACLE_SID),数据库服务名(SERVICE_NAME),数据库域名(DB_DOMAIN),全局数据库名(GLOBAL_NAME)。
你也许认为为什么会有这么多个名字呢,多麻烦啊,别着急,下面就来看看他们到底是怎么一回事:
数据库名(DB_NAME):是用于区分一个数据的内部标示,即Oracle数据库的内部表示。它是以二进制方式存储存储于数据库的控制文件的参数。在数据库安装或创建之后不得修改(其实是可以修改的,不过麻烦点),这个参数被写入pfile中 。
可以从形如 “D:\app\Carlos\admin\orcl\pfile”的文件夹中找到:
###########################################
# Database Identification
###########################################
db_domain=""
db_name=orcl
数据库实例名(INSTANCE_NAME):实例名用于和操作系统关联,在操作系统中要取得与数据库之间的交互必须使用数据库实例名。数据库名一般与实例名是一一对应的。但在Oracle的并行服务结构中却不是,数据库与实例是一对多的关系。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
orcl
操作系统环境变量(ORACLE_SID):操作系统环境变量(ORACLE_SID)与instance_name的关系:instance_name是Oracle的数据库参数,而oracle_sid则是操作系统的环境变量,用户和操作系统交互,也就是说要得到实例名,必须使用sid。在数据库安装结束时,oracle_sid已经是一个确定的字符串了,其值必须与数据库实例名相同。
数据库域名(DB_DOMAIN):在Oracle10g中db_domain表示域名,那么数据库域名是什么时候确定的呢?与数据库名,数据库实例名一样数据库域名在安装数据库时候已经确定。在确定数据库名时如果输入orcl则表示该数据库。如果输入orcl.carlos.net。后面的carlos.net则表示域名。
SQL> select value from v$parameter
2 where name = 'db_domain';
VALUE
--------------------------------------------------------------------------------
SQL> show parameter domain;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_domain string
没有值,表示我没有域名。
全局数据库名:则表示数据库名和域名的总和。如果没有域名那么,全局数据库名就是数据库名相同。
数据库服务名:它是从9I,10G开始引入的参数。用service_names表示。数据库服务名与全局数据库名相同。
SQL> show parameter service_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
总结:数据库实例名(INSTANCE_NAME),操作系统环境变量(ORACLE_SID)相同且与操作系统服务相关,
数据库名(DB_NAME)加上
数据库域名(DB_DOMAIN)就是 全局数据库名,也是 数据库服务名。
相关文章推荐
- 关于软件工程导论的几个图的概念定义
- 关于鼠标事件坐标位置的几个概念
- 股票中关于股份数的几个基本概念
- 关于操作系统的几个重要概念(七)
- 关于DOM的几个概念
- ARCGIS中关于地图投影和坐标系的几个概念
- iOS开发中关于像素的几个概念
- 关于Concurrent的几个概念
- 关于java流的几个概念:IO、BIO、NIO、AIO,有几个人全知道?
- 关于ARM的几个基本概念浅析
- 关于功率放大电路的几个基本概念
- 关于地图学的几个基本概念
- WCDMA缩略语 & 几个容易混淆的概念 & 关于掉话原因分析
- 关于J2EE Tranaction的几个基本概念
- 关于缓冲、缓存等几个易混淆的概念
- Oracle Start Up 1: 几个概念和Oracle数据库的物理结构和逻辑结构
- 关于J2EE Tranaction的几个基本概念
- 几个方面来整理关于分区表的概念及操作:
- 关于分辨率、DPI、PPI、屏幕尺寸的几个概念辨析
- 关于JS的几个基础概念