关于数据库名、实例名

最近因看到论坛有人问起这方面的东西,将自己的理解加上查阅相关资料整理如下,如果不全或不当的地方,望指正并补全它。

数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID)

在ORACLE7、8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。在ORACLE8i、9i中出现了新的参数,即数据库域名(db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID)。这些都存在于同一个数据库中的标识,用于区分不同数据库的参数。

一、什么是数据库名(db_name)?
数据库名是用于区分数据的内部标识,是以二进制方式存储于数据库控制文件中的参数,在数据安装或创建之后将不得修改。数据库安装完成后,该参数被写入数据库参数文件pfile中,格式如下:

[code:1:1aaf156970]
.........
db_name="orcl" #(不允许修改)
db_domain=dbcenter.toys.com
instance_name=orcl
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
[/code:1:1aaf156970]

在每一个运行的ORACLE8i数据库中都有一个数据库名(db_name),如果一个服务器程序中创建了两个数据库,则有两个数据库名。其控制参数据分属在不同的pfile中控制着相关的数据库。

二、什么是数据库实例名(instance_name)
数据库实例名则用于和操作系统之间的联系,用于对外部连接时使用。在操作系统中要取得与数据库之间的交互,必须使用数据库实例名。例如,要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据安装或创建数据库之后,实例名可以被修改。数据库安装完成后,该实例名被写入数据库参数文件pfile中,格式如下:
[code:1:1aaf156970]
db_name="orcl" #(不允许修改)
db_domain=dbcenter.toys.com
instance_name=orcl #(可以修改,可以与db_name相同也可不同)
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
[/code:1:1aaf156970]
数据库名与实例名之间的关系。
数据库名与实例名之间的关系一般是一一对应关系,有一个数据库名就有一个实例名,如果在一个服务器中创建两个数据库,则有两个数据库名,两个数据库实例名,用两个标识确定一个数据库,用户和实例相连接。
但在8i、9i的并行服务器结构中,数据库与实例之间不存在一一对应关系,而是一对多关系,(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。)

三、操作系统环境变量(ORACLE_SID)
在实际中,对于数据库实例名的描述有时使用实例名(instance_name)参数,有时使用ORACLE_SID参数。这两个都是数据库实例名,它们有什么区别呢?(经常弄混)
[code:1:1aaf156970]

(ORACLE_SID)
OS<----------------> ORACLE 数据库 <--------(Instance_name(实例名))

[/code:1:1aaf156970]
上图表示实例名instance_name、ORACLE_SID与数据库及操作系统之间的关系,虽然这里列出的两个参数都是数据库实例名,但instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量。
操作系统环境变量ORACLE_SID用于和操作系统交互。也就是说,在操作系统中要想得到实例名,就必须使用ORACLE_SID。此参数与ORACLE_BASE、ORACLE_HOME等用法相同。在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称。如:
$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。
定义方法:
[code:1:1aaf156970]
export ORACLE_SID=orcl
[/code:1:1aaf156970]

如果在同一服务器中创建了多个数据库,则必然同时存在多个数据库实例,这时可以重复上述定义过程,以选择不同实例。

还可以用
[code:1:1aaf156970]
[oracle@Datacent]$ . oraenv
[/code:1:1aaf156970]

来切换不同的ORACLE_SID来通过操作系统来启动不同的实例(instance)

 

转载于:https://www.cnblogs.com/boriscao/archive/2005/03/01/110631.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 文件inode,linux文件系统-inode学习整理

linux文件系统-inode学习整理介绍linux文件系统可讲的模块有很多&#xff0c;包括文件系统整体架构、文件系统分类、虚拟文件系统以及文件系统存储结构等等&#xff0c;本文主要介绍的是文件系统的存储结构&#xff0c;也就是本文的重点-inode。文件存储结构首先从开天辟地开始…

操作方法:Maven的Spring Boot和Thymeleaf

Spring Boot是一款很棒的软件&#xff0c;可让您在几秒钟内引导Spring应用程序。 它确实有效。 尽可能少的配置即可上手。 而且仍然可以更改默认值。 让我们看看用Thymeleaf和Maven引导Spring MVC并在IntelliJ中使用它是多么容易。 Spring MVC Thymeleaf与Maven的基本设置 确…

csharp: 百度语音合成

public string API_id "3333"; //你的IDpublic string API_record null; public string API_record_format null; public string API_record_HZ null;public string API_key "geovindu"; //你的KEYpublic string API_secret_key "geovindu"…

20080408 - VS2003 中 Jscript 文件中文乱码问题

在 VS2003 中新建 Jscript 文件中使用中文时&#xff0c;如果和网页的编码不一致&#xff0c;有可能会出现中文乱码问题。 而 VS2003 的Web页面默认是用 UTF-8&#xff0c;这是多语的首选方案。 但 VS2003 产品的本地化工作可能做得不到位&#xff0c;在其中新建的 Jscript 文件…

一个简单的发布工具

自己写的一个简单工具&#xff0c;可以把做好的程序中的.cs,.sln,等代码文件排除掉&#xff0c;只剩下页面文件 是用.net 2.0做的程序文件 转载于:https://www.cnblogs.com/itants/archive/2007/10/24/935824.html

用于大型事件处理的Akka Java

我们正在设计一个大型的分布式事件驱动系统&#xff0c;用于跨事务数据库的实时数据复制。 来自源系统的数据&#xff08;消息&#xff09;在到达目的地之前经历了一系列转换和路由逻辑。 这些转换是多进程和多线程的操作&#xff0c;包括可以同时执行的较小的无状态步骤和任务…

pygame-KidsCanCode系列jumpy-part8-记录历史最高分

通常在多玩家的游戏中&#xff0c;每个玩家都会有自己的得分&#xff0c;最高分数会成为该游戏的最佳记录。这一篇&#xff0c;学习下如何记录最高得分&#xff1a;&#xff08;为了简化代码&#xff0c;本文采用文件方式&#xff0c;仅记录本机得分&#xff0c;明白原理后&…

linux下查看进度命令,在Linux系统中使用Coreutils Viewer显示命令运行进度

Coreutils Viewer(cv)是一个简单的程序&#xff0c;它可以用于显示任何核心组件命令(如&#xff1a;cp、mv、dd、tar、gzip、gunzip、cat、grep、fgrep、egrep、cut、sort、xz、exiting)的进度。它使用文件描述信息来确定一个命令的进度&#xff0c;比如cp命令。cv之美在于&…

每个Java开发人员都应该阅读的10本书

我已经阅读了自己的软件开发书籍&#xff0c;并且发现发现一本我想多次阅读的书籍非常罕见。 但是&#xff0c;有时我会发现一本书&#xff0c;每次阅读时都会教给我新的东西。 这篇博客文章是对这些稀有宝石的致敬。 现在&#xff0c;我毫不犹豫地向您介绍十本书&#xff0c…

存储过程生成流水号

1&#xff0c;首先在数据库中创建一个存放流水号的表 CREATE TABLE [dbo].[NumSeq] ([Cate] [varchar] (2) NOT NULL ,[DateNo] [varchar] (4) NOT NULL ,[Seq] [int] NULL ,[CrTime] [datetime] NOT NULL ) 上面的代码中&#xff0c;Cate 字段为流水号的头&#xff0c;可以…

tennylvHTML5实现屏幕手势解锁(转载)

来源:https://github.com/lvming6816077/H5lockhttp://threejs.org/examples/http://www.inf.usi.ch/phd/wettel/codecity-download.html (JSCity&#xff1a;把源码可视化成建筑物的 JS 库)http://www.alloyteam.com/2015/07/html5-shi-xian-ping-mu-shou-shi-jie-suo/ (Web前…

Linux中mysql的卸载和重装,linux mysql 卸载后重装

$sudo apt-get remove mysql-common清理残留数据:$sudo dpkg -l |grep ^rc|awk {print $2} |sudo xargs dpkg -P按照正常安装步骤安装注意:如果你想进行远程访问或控制&#xff0c;那么你要做两件事&#xff1a;其一&#xff1a;mysql>GRANT ALL PRIVILEGES ON xoops.* TO x…

NOIP模拟赛(by hzwer) T3 小奇回地球

【题目背景】 开学了&#xff0c;小奇在回地球的路上&#xff0c;遇到了一个棘手的问题。 【问题描述】 简单来说&#xff0c;它要从标号为 1 的星球到标号为 n 的星球&#xff0c;某一些星球之间有航线。 由于超时空隧道的存在&#xff0c;从一个星球到另一个星球时间可能会倒…

oracle 执行多条insert 语句

其实这是一个sqlserver的脚本改的。用脚本的原因是&#xff1a;当时我的oracle不能导入execl,也不能从别的数据库直接导入&#xff0c;最后就用脚本了。 insert all INTO TestA (ID, tbname, colname, coltxt, collen, coltype, coloper, colcontent) VALUES(1, A主表, ZHD0A00…

JUnit ExpectedException规则:超越基础

JUnit测试中有多种处理异常的方法。 正如我在以前的一篇文章中所写的那样 &#xff0c;我最好的方法是使用org.junit.rules.ExpectedException规则。 基本上&#xff0c;规则是用org.junit.Before &#xff0c; org.junit.After &#xff0c; org.junit.BeforeClass或org.junit…

sql 基本操作

数据库表的操作 SQL code ------------------------------列操作-------------------------------------添加列ALTERTABLEt ADDMycolumn intidentity(1,1)||notnulldefault(0) --删除列altertablet dropcolumnMycolumn --修改列altertablet altercolumnMycolumn varchar(20) no…

[EffectiveC++]item34:区分接口继承和实现继承

[EffectiveC]item34&#xff1a;区分接口继承和实现继承 转载于:https://www.cnblogs.com/jeanschen/p/3363569.html

web 上传文件到linux没权限,Javaweb上传文件到Linux 没有读写权限

一、 问题描述背景描述&#xff1a;0.saas-business-运营后台&#xff0c;website-网站页面。1.javaweb程序(saas-business)部署在linux系统 tomcat服务器下&#xff0c;使用该程序里面上传图片功能&#xff0c;上传图片至linux服务器挂载盘(共享盘)中/nfs/uploads/目录下。tom…

2008Beta 版AJAX的一个奇怪的问题

最近在用ASP.&#xff2e;&#xff25;&#xff34;做一个MIS系统&#xff0c;为了使页面有比较好的效果&#xff0c;减少刷新&#xff0c;用了AJAX控件&#xff0c;比如日历&#xff0c;水印等。 最主要的是用它来实现几个DropDownList控件之间的联动。起初问题是当也面加载时…

如何将IntelliJ项目添加到GitHub

尽管GitHub文档包含有关如何将现有GitHub项目添加到本地计算机的好信息&#xff0c;但是我对如何将本地计算机上的现有&#xff08;未版本化&#xff09;项目添加到GitHub的了解还很少。 这是我使用的步骤。 从IntelliJ 选择“ VCS”菜单->在版本控制中导入->在GitHub上…