数据库名(DB_NAME)、数据库实例名(INSTANCE_NAME)、操作系统环境变量(ORACLE_SID)、数据库服务名(SERVICE_NAME)、数据库域名(DB_DOMAIN)以及全局数据库名(GLOBAL_DB_NAME)是几个使用Oracle数据库容易混淆的概念。

INSTANCE_NAME一般和DB_NAME相同
INSTANCE_NAME=ORACLE_SID
SERVICE_NAMES=全局数据库名=db_name+db_domain

  • 数据库名与实例名

1. 数据库名(DB_NAME)

数据库名是区分数据的内部标识(即是给Oracle数据库内部使用的),因为其在数据库多处保存,并且控制文件中保存是二进制的,所以很难改变其名字。在pfile和spfile中有db_name参数就是它,或者查v$database视图
数据库名作用
内部标记,在数据库安装、创建、创建控制文件、修改数据库结构、使用数据库备份与恢复时都使用数据库名(注意这些时候不是用什么sid。。。),如alter database时都是使用该数值

2. 实例名(Instance_name)

实例是计算机中oracle数据库的一组进程和内存区域的集合,实例名用于和操作系统间联系(对外连接使用),数据库名与实例名之间的关系一般是一一对应关系,有一个数据库名就有一个实例名,在8i、9i的并行服务器结构中,一个数据库可以有多个实例(并行服务,一对多关系,一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。)。要和一个数据库服务器相连,必须知道其实例名,光知道数据库名是没用的。
在spfile中有instance_name参数,其实一般设置与数据库名称是相同的(不相同是自找麻烦),可以较容易改变该参数。
INSTANCE_NAME与ORACLE_SID区别
都是指数据库实例名,但ORACLE_SID是操作系统的环境变量设置,用于和操作系统交互,其取值必须与INSTANCE_NAME相同,也就是说,在操作系统中要想得到实例名,就必须使用ORACLE_SID。此参数与ORACLE_BASE、ORACLE_HOME等用法相同。在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称。通过切换不同的ORACLE_SID来通过操作系统来启动不同的实例(instance) 。而INSTANCE_NAME可在参数文件中查到,windows下需要到注册表中定义修改相关参数即ORACLE_SID
在网络服务配置中(旧的协议不说了),net8i里面有一个选项就是sid配置就是指ORALCE_SID名称!

  • 数据库域名与服务名

1. 数据库域名
类似网络域名的概念,一个数据库名db_name在不同的域里可以相同。在安装时确定(全局数据库名中填写),定义规则也相似于网络定义。参数文件中db_domain,没有该项则全局数据库名和数据库名相同,该数据库没有使用域名。

全局数据库名:=db_name+db_domain

2. 数据库服务名

数据库服务名(SERVICE_NAMES),这可不是你在客户端配置的网络服务的概念,这是数据库本身的概念!
SERVICE_NAMES=全局数据库名(GLOBAL_DB_NAME)=db_name+db_domain
在参数文件中service_names可以查到
在9i新提供的Net Services网络服务中,推荐使用该种方式连接(Net8i也可配)域名可以容易修改(改参数重起实例可)。
Oracle的内存,从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA和UGA)。而这两部分内存里面,根据功能不同,还分为不同内存池(Pool)和内存区(Area)。

Oracle数据库各种名字的区别的更多相关文章

  1. Oracle数据库和实例的区别

    一般Oracle数据库(Oracle Database)可以分为两部分,即实例(Instance)和数据库(Database). 实例:是一个非固定的.基于内存的基本进程与内存结构.当服务器关闭后,实 ...

  2. Oracle数据库名、实例名、数据库域名、全局数据库名、服务名之间的区别

    数据库名.实例名.数据库域名.全局数据库名.服务名 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数据库 ...

  3. Oracle—数据库名、数据库实例名、数据库域名、数据库服务名的区别

    Oracle-数据库名.数据库实例名.数据库域名.数据库服务名的区别 一.数据库名 1.什么是数据库名       数据库名就是一个数据库的标识,就像人的身份证号一样.他用参数DB_NAME表示,如果 ...

  4. Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别

    [转]   SYS.SYSTEM.DBSNMP. Oracle 数据库中 SYS.SYSTEM.DBSNMP.SYSMAN 四用户的区别 用户: SYS 用户: SYS,默认密码为 CHANGE_ON ...

  5. 查看oracle数据库服务器的名字

    原文:查看oracle数据库服务器的名字 windows 中 1. select name from v$database ; 直接运行就可以查看了, 2.查看tnsnames.ora 的连接,有个S ...

  6. MySql和Oracle数据库区别

    Oracle与mysql区别: 1.Oracle有表空间,mysql没有表空间. 2.mysql的char类型取值范围0-255字节,varchar为0-65535字节 3.oracle的char类型 ...

  7. ORACLE 数据库名、实例名、ORACLE_SID的区别

    数据库名(DB_NAME).实例名(Instance_name).以及操作系统环境变量(ORACLE_SID) 在ORACLE7.8数据库中只有数据库名(db_name)和数据库实例名(instanc ...

  8. Oracle数据库中的几个名字及监听的配置问题

    学习数据库的时候,由于数据库只建了一个库,而且只是本机访问,所以没有对listener.ora与tnsname.ora这两个文件进行过多设置,但是实际中要区分客户端与服务器端,相互之间的访问就存在微妙 ...

  9. oracle数据库与其他数据库区别

    本文用的是Oracle 10g数据库,利用PL/SQL Developer的集成开发环境(安装可以自行百度) Oracle数据库  ---> 数据库实例  --->  表空间(逻辑单位)( ...

随机推荐

  1. MinTTY终端模拟器要点

    1.MinTTY是一个Cygwin和MSYS的虚拟终端: 2.支持复制和粘贴操作,支持鼠标操作和右键快捷菜单: 3.支持文本.文件.文件夹的拖放: 4.支持中文,支持UTF-8字符集,支持IME(In ...

  2. js循环中使用async/await踩过的坑

    最近写koa的时候遇见需要在循环中使用async/await的情况,当然第一反应就是直接上forEach,然后就直接翻车了... 直接上代码: function handleSql(val) { re ...

  3. GoodNotes如何删除文档的某一页

    1.在“文稿”中点开需要操作的文件, 2. 点击左上角的缩略图icon(四个小方块) 3.此时你可以看到所有页,每页下面有个倒三角的小箭头 4. 点击小箭头,有删除选项.

  4. Matlab -- Portfolio

    1.创建空 p = Portfolio; 2.需要了解 均值,方差,协方差实现 X为矩阵 均值 = mean(X): 中位数 = median(X): 方差 = var(X): 标准差 = std(X ...

  5. Python面向对象 -- 继承和多态、获取对象信息、实例属性和类属性

    继承和多态 继承的好处: 1,子类可以使用父类的全部功能 2,多态:当子类和父类都存在相同的方法时,子类的方法会覆盖父类的方法,即调用时会调用子类的方法.这就是继承的另一个好处:多态. 多态: 调用方 ...

  6. 蓝桥杯第九届省赛 sscanf(),str.c_str()函数的使用

    标题:航班时间 [问题背景]小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”. 小h对超音速飞行感到十分恐惧.仔 ...

  7. ECharts前端图形展示

    这次负责慢查询预警,前后端都是自己处理,这次遇到了前端作图的需求,做一个记录以便后续使用: 使用的作图方式是ECharts,相应的example官方有相应的文档和使用方法,比较简单,一下只贴链接: h ...

  8. C语言课设——电影院选票系统

    C语言课设--电影院选票系统 1.课题介绍 大家都爱看电影,现请参考一个熟悉电影票预订系统,实现C语言版的订票系统.了解订票如何实现的.系统主要有2类用户:管理员用户和顾客用户. 管理员用户 1.电影 ...

  9. 获得ztree的所有子节点id

    var treeNodeIds="";//获得所有树节点的id function aa(){ var treeObj = $.fn.zTree.getZTreeObj(" ...

  10. Cognos命名空间不可用

    1. 问题描述 启动Cognos失败,报错代码为0146. 2. 问题分析 namespace 配置有问题,检查configuration 3. 解决方案 如果检查不出问题,删除$COGNOS_HOM ...