本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解。比如,何种情况应该使用何种数据库加载模式,以及数据库文件打开模式。
若用 startup 命令启动数据库,执行的操作要经历三个不同的阶段:
实例启动(instance startup),在这个阶段,Oracle 分析数据库参数文件,并通过设法获得实例锁来确定实例还未运行。随后,Oracle 启动多种不同的数据库进程,如 DBWn 和 LGWR 进程。Oracle 还将分配SGA所需的内存。一旦启动了实例,Oracle 会向启动实例的用户报告后台进程已经启动了实例。
数据库加载(加载启动),在加载阶段,Oracle 打开数据库控制文件。成功打开控制文件后,Oracle 从这个控制文件中析取数据库数据文件名,为打开这些数据库文件做准备。需要注意的是,这个时候,Oracle 不会检查这些数据文件是否存在,而只是从控制文件中标识数据文件的位置。完成这个步骤后,Oracle 向用户报告已经加载了数据库。
数据库打开,Oracle 将继续启动进程并设法打开数据库。在数据库打开阶段,Oracle 验证数据库文件是否存在,并打开这些文件。Oracle 打开数据文件时会检查数据文件头,并且比较这些文件头中的 SCN 信息和控制文件中存储的 SCN(SCN 是跟踪数据库状态的 Oracle 方法)。
Oracle 设法打开数据库时,会检查每个数据文件和数据库控制文件中的 SCN。如果 SCN 相同,并且位映射标记设置正确,则认为这个数据库是一致的,即可打开和使用数据库。如果 SCN 不相同,则 Oracle 会自动执行灾难或实例恢复。如果联机重做日志文件中存在生成一致的映像所需要的重做,就会发生灾难或实例恢复。如果由于数据文件损坏或由于恢复需要的重做不在联机重做日志中而不能执行灾难或实例恢复,Oracle 会要求 DBA 执行介质恢复。介质恢复需要从一个数据库备份中恢复一个或多个数据库数据文件,与实例恢复不同的是,介质恢复是一个手动执行的进程。
与启动对应是关闭 shutdown 命令,关闭卸载数据库,执行与 startup 相反的操作。
下面本例,启动或关闭数据库都在服务器上进行。
图 1 启动数据库
图 2 关闭数据库
先关闭数据库,再启动。
Startup 有几种不同的变体,这些变体包括:
Startup force restrict
Startup force mount
Startup force nomount
换句话说,Startup 命令后面是可以加上数据库加载模式命令;加载模式命令后面,还加上数据库打开模式。
Shutdown命令有如下形式:
Shutdown immediate 一般比较常用,而 Shutdown 往往关闭数据库很慢~
Oracle——数据库启动与关闭,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/liuning8023/p/Oracle_Startup_Shutdown.html