Oracle数据库的启动步骤
数据库的启动有三个步骤:
- 创建并启动实例:该过程是初始化参数文件的过程。实例简单来讲就是数据库在初始化时的一组进程和内存结构。实例首先在服务器的内存当中来分配系统全局区(SGA),启动实例后就构成了Oracle的内存结构,然后再启动常驻内存的操作系统进程,组成Oracle的进程结构,所以内存结构和进程结构也就是Oracle的实例。
- 装载数据库:数据库指的是用户存储数据的物理文件,这些文件包含数据文件,重做日志文件,控制文件,参数文件,密码文件,归档日志文件,备份文件等等。其中数据文件,控制文件,重做日志文件和参数文件是必需的,其他文件可选,一个实例只能操作一个数据库,但一个数据库可以由一个或多个实例来操作。装载数据库是指实例打开数据库的控制文件,从中获取数据库名称,数据文件和重做日志文件的位置、名称等数据物理结构信息,为打开数据库做好准备。如果控制文件损坏,实例将无法装载数据库。
- 打开数据库:在此阶段,实例将打开所有处于联机状态的数据文件和重做日志文件。如果任何一个数据文件或重做日志文件无法正常打开,数据库将返回错误信息,这时数据库需要恢复。
数据库的关闭步骤
关闭数据库与开启的步骤相逆的
- 关闭数据库:该步骤关闭数据文件和重做日志文件
- 卸载数据库:关闭控制文件
- 关闭实例:该步骤释放内存,关闭后台进程
在SQL*Plus中启动数据库
SQL*Plus作为Oracle客户端的工具,既可以建立位于数据库服务器上的数据连接,也可以建立位于网络中的数据连接。数据库启动前,需要确保已经启动监听服务和数据库服务。
数据库启动的几种模式
- NOMOUNT:创建并启动数据库实例,对应数据库启动的第一个步骤
- MOUNT:启动实例并装载数据库,对应数据库启动的第二个步骤
- OPEN:启动实例,装载并打开数据库,对应数据库启动的第三个步
骤 - FORCE:用于当各种启动模式都无法成功启动数据库时强制启动数据库。在以下情况下,需要使用该模式:无法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION语句关闭数据库实例;在启动实例时出现无法恢复的错误
- RESTRICT:下列操作需要使用STARTUP RESTRICT方式启动数据库 :执行数据库数据的导出或导入操作、执行数据装载操作、暂时阻止普通用户连接数据库、进行数据库移植或升级操作
- STARTUP PFILE[=path\filename] :文件可以是默认服务器端初始化参数文件、默认文本文件 和使用非默认的初始化参数文件
启动数据库的基本语法
STARTUP [NOMOUNT|MOUNT|OPEN|FORCE|RESTRIC|PFILE=filename]
STARTUP省略默认是OPEN模式
启动关闭数据库的基本语法
SHUTDOWN [NORMAL|TRANSATION|IMMEDIATE|ABORT]
SHUTDOWN后面的语法省略默认是NORMAL
各种模式下的使用特点
-
NORMAL
阻止用户建立新的连接;
等待当前所有正在连接的用户主动断开连接;
一旦所有用户断开连接则关闭数据库;
数据库下次启动时不需要任何实例的恢复过程 -
IMMEDIATE
阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;
回滚所有当前为提交的事务;
终止所有用户的连接,直接关闭数据库;
数据库下次启动时不需要任何实例的恢复过程 -
TRANSATION
阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;
等待用户回滚或提交任何当前未提交的事务,然后立即断开用户的连接;
关闭数据库;
数据库下一次启动时不需要任何实例的恢复过程。 -
ABORT
阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务;
立即结束当前正在执行的SQL语句;
任何未提交的事务不被回滚;
中断所有的用户连接,立即关闭数据库;
数据库实例重启后需要恢复