数据库的实例组成部分及作用是什么?一个oracle数据库可以有多个实例吗?

数据库的实例组成部分及作用是什么?一个oracle数据库可以有多个实例吗?,第1张

很容易混淆,这就是“实例”(instance)和“数据库”(database)。作为Oracle术语,这两个词的定义如下:

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

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

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

是不是更糊涂了?我们还会做进一步的解释,应该能帮助你搞清楚这些概念。实例就是一组 *** 作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以 *** 作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)。在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行 *** 作。不过,Oracle的真正应用集群(Real Application Clusters,RAC)是一个例外,这是Oracle提供的一个选项,允许在集群环境中的多台计算机上 *** 作,这样就可以有多台实例同时装载并打开一个数据库(位于一组共享物理磁盘上)。由此,我们可以同时从多台不同的计算机访问这个数据库。Oracle RAC能支持高度可用的系统,可用于构建可扩缩性极好的解决方案。

q 数据库可以由一个或多个实例(使用RAC)装载和打开。

创建顺序是 2 3 1 4。

实例是由访问数据库的一组进程和内存组成。而数据库则是一系列储存数据的文件。 一个数据库可以被一个实例或者多个实例打开(RAC)。 访问数据库的时候,你连上的是一个实例,通过实例访问到数据库中的数据。

ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作

你查的是监听,不是数据库。

原因:1521端口只有一个,被某一个数据库(实例)的监听程序占据以后,其他数据库(实例)将不能利用这个端口进行监听。

解决办法:用其他端口监听其他的数据库。比如1522,1523等等。具体写法也简单,只要将listener.ora文件的端口那行复制一下,然后复制几个,根据实例名改为相应端口。数据库实例的默认端口要不要改我忘了,好久没这么干了,你自己查查怎么修改监听端口就行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6627070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存