oracle为啥创建实例,为何通过实例来访问数据,这样有啥优点吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle为啥创建实例,为何通过实例来访问数据,这样有啥优点吗相关的知识,希望对你有一定的参考价值。

参考技术A

实例是一组内存缓冲区和后台进程的集合,用于管理数据库中的文件。用户对数据的所有访问是在实例中的内存结构中进行。

通过实例访问数据的优点有:

    数据位于内存中,用户对内存的读写速度远高于对磁盘的读写速度,只要数据还在内存中,用户随后对数据的访问都将在内存中进行;

    内存中的数据可以在多个用户之间共享,用户事务在内存中对数据加锁,从而提高了数据访问的并发性。

参考技术B 一个oracle可以创建多个实例,访问数据库时通过不同的实例名,可以访问多个实例。比如
oracle 10g有装了两个实例orcl1和orcl2 通过export $ORACLE_SID=orcl1或export $ORACLE_SID=orcl2来却换不同的实例,就可以访问不同的数据库
参考技术C 这个没有什么优点,一个实例表示一个数据库,如我们有2010年的一套数据库,2011年一套数据库分开,这时就用到不同的实例。

oracle 实例

(1)客户机用sqlplus通过网络访问数据库服务器,每次登录时输入sqlplus 用户名@服务器名,要登录的服务器存在2个实例,但是每次登录时都未指定具体的实例,那么每次sqlplus 用户名@服务器名登录后,用的是哪个实例?
(2)每次使用sqlplus登录数据库,其实都是先连接一个实例,然后打开数据库?
(3)建立多个实例是做什么用的?防止某个实例换了,另一个不会影响工作?
(4)一个实例就是一组内存和进程,那么一个用户使用这个实例的时候,另一个用户就不能使用这个时例了吧?可是实际不是这样,怎么回事?

参考技术A (1)登录默认的数据库(用的是与之相对应的实例)
(2)实例是存取ORACLE数据库的软件机制。
它包括系统全局区(分配的内存),和一些ORACLE后台进程
你是通过实例去访问并打开数据库的
(3)允许在集群环境中的多台计算机上操作,这样就可以有多台实例同时装载并打开一个数据库,一个实例只可以为一个ORACLE数据库服务。
而一个ORACLE数据库可以对应多个实例
(4)这个就涉及到服务器是共享模式还是专用模式

以上是关于oracle为啥创建实例,为何通过实例来访问数据,这样有啥优点吗的主要内容,如果未能解决你的问题,请参考以下文章

oracle 实例

oracle SQL*PLUS在创建数据库时为啥会提示数据库已装载

如何创建oracle实例

Oracle数据库实例及其相关概念

为啥需要下载管理器来利用通过 isp 从加利福尼亚的计算机访问弗吉尼亚的 ec2 实例提供的完整下载速度?

oracle的rac实例名为啥两个