我是靠谱客的博主 坚强秀发,最近开发中收集的这篇文章主要介绍Oracle实例对应mysql_oracle里实例和数据库之间的关系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个数据库服务器上可以装几个数据库它们都是用sid来标志,例如orcl1,orcl2,orcl3等等,一个数据库如orcl1中可以有多个实例吗?

Oracle数据库,实际上应该是说,我们使用的是Oracle服务server。

来源:(http://blog.sina.com.cn/s/blog_4dc6402101009156.html) - oracle 数据库与实例的关系(转)_XW_普罗旺斯_S_新浪博客

Oracle服务server包括有两个部分:

一个部分是Oracle数据库database

一个部分是数据库实例instance。

数据库(database):物理操作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。

实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。

这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!

Oracle数据库database,包括有数据文件、控制文件、重做日志文件,都是一些物理上的文件。

数据库实例instance,包括有数据库后台进程(PMON、SMON、DBWR、LGWR、CKPT等)和内存区域SGA(包括shared pool、db buffer cache、redo log buffer等)。实例是一系列复杂的内存结构和操作系统进程

严格的说:一个Oracle服务,只包括一个Oracle实例和一个数据库(不考虑双机并行等这样的情况)。但是一个实例只能对应一个数据库,一个数据库有可能对应多个实例。除非使用并行O r a c l e服务器选项,否则每个O r a c l e数据库都有一个实例与之相关,一个数据库被唯一的一个实例装载。

数据库与实例之间是1对1/n的关系,在非并行的数据库系统中每个Oracle数据库与一个实例相对应;在并行的数据库系统中,一个数据库会对应多个实例,同一时间用户只与一个实例相联系,当某一个实例出现故障时,其他实例自动服务,保证数据库正常运行。在任何情况下,每个实例都只可以对应一个数据库。

最后

以上就是坚强秀发为你收集整理的Oracle实例对应mysql_oracle里实例和数据库之间的关系的全部内容,希望文章能够帮你解决Oracle实例对应mysql_oracle里实例和数据库之间的关系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部