Oracle中的Instance实例和数据库的区别

2016-02-19 13:54 4 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Oracle中的Instance实例和数据库的区别,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

     在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance,启动一个Instance之类的话。 其实问他们什么是数据库,什么是Instance,很可能他们给的答案就是数据库就是Instance,Instance就是数据库啊,没有什么区别。 在这里,只能说虽然他们Oracle用了可能有了一定的经验,不过基础的概念还是不太清楚。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

     什么是数据库,其实很简单,数据库就是存储数据的一种媒介。比如常用的文件就是一种,在Oracle10G中,数据的存储有好几种。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途。这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式。当然还可能有别的形式,比如网络什么的。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。

     而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块。在Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

     所以说,数据库的应用假如想实现,数据库和数据库Instance是缺一不可的,假如只有数据库的那些文件,那么,只能代表数据在这个文件中,但是我们无法直接进行操作。而假如只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据,操作生成的数据也无法保存等等。所以,当一个Oracle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用。

     在这里要注重一点的是,Oracle的实例在启动以后,只能load一次数据库,假如想把数据库与Instance断开,然后再重新挂在一个数据库Instance,那么就需要你首先把数据库Instance进程结束,然后重新建立这个instance的一个进程,再load另外一个数据库。否则肯定要抛除ORA-16169错误,说数据库已经被打开。因为一个数据库Instance在其生存期中最多只能load和打开一个instance.

来源:http://www.tulaoshi.com/n/20160219/1605582.html

延伸阅读
跟 微软的数据库产品不一样, Oralce 把 '' 空的string 自动替换为 Null 所以下面的代码你可能考虑不一样的结果.create table suppliers( supplier_idnumber,supplier_name varchar2(100)); Next, we'll insert two records into this table.insert into suppliers (supplier_id, supplier_name ) values ( 10565, null );insert into supplie...
1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2、创建一个数据库abccs mysql Create DATABASE abccs; 注意不同操作系统对大小写的敏感。 3、选择你所创建的数据库 mysql USE abccs Databas...
今天上班犯了一个严重的错误:把我们系统所使用的Oracle数据库中的数据给改掉了!当发现自己改错时,顿时冒了一身冷汗。不过转念一想,我们不是定期作了数据库备份的嘛,适当的恢复一下,应该不会出现太大的问题吧,因为我只是错误的使用了一个update语句。 问题是这样的: 我们给系统创建了两个用户:com和comtest。前者存放的是正式库...
通常有两类形式:模板驱动和模式驱动。1 模板驱动在以模板驱动的映射中,没有预先定义文档结构和数据库结构之间的映射关系,而是使用将命令语句内嵌入模板的方法,让数据传输中间件来处理该模板。例如,下面的模板,在 元素中内嵌了SELECT语句: The following flights have available seats: SELECT Airline, FltNumber, Depart, Arrive ...
序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。 创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下: CREATESEQUENCE序列名 [INCREMENTBYn] [STARTW...

经验教程

253

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部