oracle 数据库启动

oracle 数据库启动分为三个部分: 1、nomount 启动实例 2、mount 加载数据库 3、open 打开数据库 具体如下: 1.启动实例 --startup umount,读参数文件 spfile.ora,init<sid>.ora,init.ora,分配内存 等 参考路径:/home/oracle/product/10.2.0.1/dbs/spfile.ora 、init.ora /home/oracle/product/10.2.0.1/admin/demo/pfile/init<sid>.ora 1-1读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名 1-2分配系统全局区 1-3启动后台进程 1-4打开alertSID.log文件和跟踪文件 补充说明: 在nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init<sid>.ora,init.ora如果以上三个文件均查找不到oracle在此时就会报错,同时在此阶段oracle会查找alter文件,如果没有找到alter文件会自动创建;启动相应的后台进程至少包括五个pmon,DBWn,ckpt,smon,LGWn。总之,这个阶段主要就是启动一个实例,并为加载数据库确定必要的参数。 2.装载数据库 --startup mount,读控制文件 等 2-1将数据库与一个已打开的实例相关联 2-2打开控制文件 2-3获取数据文件和重做日志文件的名称和状态. 补充说明: 在mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。 3.打开数据库 --database open 3-1打开数据文件 3-2打开联机重做日志文件. 补充说明: 在open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。 数据库的关闭顺序应当与数据库的启动顺序相反。在有序关闭数据期间,数据库首先被关闭,然后被卸载,最后实例被停止。在数据库关闭阶段,所有的会话都会被停止:活动的事物通过PMON进程被回滚,已完成的事物通过DBWn进程被转储至磁盘,同时数据文件和重做日志文件被关闭。在数据库卸载阶段,控制文件被关闭。随后,通过解除分配SGA和终止后台进程,实例被停止。 shutdown命令可以使用下列选项: shutdiwn [ normal | transactional | immediate | abort ] normal:这是默认选项。使用该选项时,不许可任何新的用户连接,但是允许继续当前的所有连接。只有所有用户(自愿地)退出登录时,数据库才能真正关闭。 transactional:使用这个选项时,不许可任何新的用户连接,没有存在于某个事务中的现有会话会被终止,允许当前位于某个事物中的会话在完成该事物之后终止。一旦所有会话终止,数据库就会被关闭。 immediate:使用这个选项时,不许可任何新的用户连接,当前的所有连接的会话都被终止。任何活动的事物都将回滚,随后数据库会被关闭。 abort:就 Oracle 而言,使用这个选项相当于断电。实例被立即终止。此时,任何数据都不会被写入磁盘,任何文件句柄都不会被关闭,同时也不会采用任何有序的方式终止正在进行的事物。 normal、transactional、immediate关闭模式通常被称为干净的,一致的,有序的关闭。在所有会话终止之后,PMON进程会回滚任何未结束的事物。接下来,CKPT进程发布一个检查点,从而促使DBWn进程将所有被更新的数据从数据库高速缓冲区写入数据文件。同时LGWR进程也将仍然存在于内存当中的所有变化矢量转储至日志文件。随后,文件头被更新,文件句柄会被关闭。这意味着数据库处于一致的状态:所有已提交的事物都位于数据文件中,不存在需要回滚的、被挂起的未提交事物,并且所有数据文件和日志文件同步。 abort模式通常被称为无序的关闭,并且回使数据库处于不一致的状态:因为已提交的事物只存在于内存中,而DBWn进程还未将它们写入数据文件,所以这些事物极有可能丢失。同样地,数据文件中的未提交事物也可能尚未回滚。数据库出现讹误的定义如下:可能丢失了已提交的事物,也可能存储了未提交的事物。这些讹误必须通过实例恢复来修复。这种模式类似于数据库运行期间数据库服务器断电或重启的情况。 转载:http://appdemo.iteye.com/blog/382099</sid></sid></sid>

你可能感兴趣的:(数据结构,oracle,Blog,活动)