Heim >Datenbank >MySQL-Tutorial >Oracle入门教程之数据库实例管理

Oracle入门教程之数据库实例管理

WBOY
WBOYOriginal
2016-06-07 17:21:101167Durchsuche

每个运行的oracle数据库都对应一个oracle实例(Instance),也可以称为例程。当数据库服务器上的一个数据库启动时,oracle将为其

数据库实例:

每个运行的Oracle数据库都对应一个oracle实例(Instance),也可以称为例程。当数据库服务器上的一个数据库启动时,oracle将为其分配一块内存区间,叫做系统全局区(SGA),然后启动一个或多个oracle进程。其中SGA和oracle进程结合在一起,就是一个oracle实例。为了区分不同的实例,每个oracle实例都有一个系统标识符SID

实例启动后,oracle把它与指定的数据库联系在一起,这个过程叫做装载数据库。此时,数据库处于就绪状态,有权限的用户可以访问该数据库。

区别于数据库:

数据库是存储数据的一种媒介。比如常用的文件就是一种,在Oracle11G中, 数据的存储有好几种。

第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息 。

第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,,而是把一个或 者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途。这 样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格 式。当然还可能有别的形式,比如网络什么的。

不过我们最常用的还是文件格式的,在文件格式中,数据库 指的就是那些数据文件,控制文件以及REDO文件等等一系列文件。

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

实例和数据库内容不同

ORACLE实例 = 进程 + 进程所使用的内存(SGA)实例是一个临时性的东西,你也可以认为它代表了数据库某一 时刻的状态! 

数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件数据库是永久的,是一个文件的集合。 

oracle数据库实例的状态:(4种)

(1)打开(OPEN):启动实例,装载并打开数据库。该模式是默认的启动模式,它允许任何有效用户连接到数据库,并执行典型的数据库访问操作

(2)关闭(CLOSE):关闭操作首先终止用户访问数据库所需的进程,然后释放计算机中供oracle运行使用的内存

(3)已装载(MOUNT):启动实例并装载数据库,但不打开数据库。该模式用于更改数据库的归档模式或执行恢复操作,还可以用于数据文件恢复。因为此状态下没有打开数据库,所以不允许访问

(4)已启动(NOMOUNT):启动实例,但不装载数据库。该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库等。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn