发表于: 2005.02.27 19:43
分类: 读书笔记
出处: http://yangtingkun.itpub.net/post/468/19823
---------------------------------------------------------------
描述了INSTANCE的概念,并介绍了数据库的启动和关闭。
INSTANCE的概念:
在Oracle启动的时候,Oracle会分配一片内存区域(System Global Area)SGA,并启动一些Oracle的进程。Oracle的instance就是SGA和Oracle进程的合并。
只有具有SYSDBA或SYSOPER权限的用户才能启动或关闭数据库。由于数据库在启动之前是无法访问的,因此,SYSDBA和SYSOPER权限的验证放在数据库的外面,可以通过操作系统验证或密码文件验证的方式以SYSDBA或SYSOPER权限登陆。
为了启动Oracle的实例,必须读取初始化文件。初始化文件中包含下列三类参数:
用于命名的参数:如文件的命名;
用于设置极限的参数:如最大允许数量的设定;
用于影响容量的参数:如设置SGA的大小。
初始化文件可以告诉Oracle:
启动instance的数据库的名字;
SGA内存结构中内存的分配;
对写满的联机重做日志采用什么操作;
数据库控制文件的名称和位置;
UNDO表空间的名称或数据库中启用的PRIVATE回滚段。
INSTANCE和数据库的启动:
启动数据库包括三个步骤:
启动实例:Oracle根据初始化参数文件中的参数值确定内存的分配并启动后台进程。
装载数据库:mount阶段将数据库和实例联系在一起。Oracle根据初始化文件中的CONTROL_FILES参数给出的名称和位置找到并打开控制文件,Oracle从控制文件中得到数据库中所有的数据文件和联机重做日志文件的名称的位置。
打开数据库:Oracle打开所有的数据文件和联机重做日志文件,检查数据库是否需要进行恢复,如果数据库状态是一致的,则数据库打开供所有用户使用。
数据库和INSTANCE的关闭:
关闭数据库同样包括三个步骤:
关闭数据库:ORACLE将SGA中的数据写到数据文件和日志文件中,然后Oracle关闭所有的数据文件和重做日志文件。
UNMOUNT数据库:Oracle关闭控制文件。
关闭实例:Oracle释放SGA,并终止所有后台进程。











