1.1 启动数据库实例
Oracle数据库实例的启动过程分为三个步骤:启动实例,加载数据库,打开数据库。
启动数据库的命令格式如下:
STARTUP[NOMOUNT|MOUNT|OPEN|FORCE][RESTRICT][PFILE=filename]
NOMOUNT:表示启动实例,但不加载数据库
MOUNT:表示启动实例,加载数据库并保持数据库的关闭状态
OPEN(默认):表示启动实例,加载数据库并打开数据库
FORCE:表示终止实例并重新启动数据库
RESTRICT:用于指定以受限制的会话方式启动数据库
PFILE:用于指定启动实例所需的文本参数文件
Oracle数据库实例在启动时必须读取一个初始化参数文件,以获取其中有关实例启动的参数配置信息。如果没有指定PFILE参数,则Oracle会读取默认位置的服务器初始化参数文件spfile,若没有找到,则会读取默认位置的文本初始化参数文件pfile。
NOMOUNT 模式
特点:只会启动实例,并不加载数据库,也不会打开任何数据文件

注意:用户要以sysdba的身份登录才具有关闭和启动数据库的权限
用途:通常在创建数据库或重建控制文件时,使用该模式启动数据库实例
MOUNT 模式
特点:启动实例,加载数据库并保持数据库的关闭状态

原理:根据CONTROL_FILES参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,实现数据库的装载 。
用途:重命名数据文件,添加、删除或重命名重做日志文件,改变数据库的归档模式,执行数据库完全恢复操作
OPEN 模式
OPEN 模式为默认选项,即如果startup命令的后面不带任何参数,就表示以OPEN 模式启动数据库实例
特点:启动实例,加载并打开数据库

用途:要想对数据库进行多种操作,就必须使用OPEN模式启动数据库实例
FORCE 模式
特点:终止实例并重新启动数据库

用途:用于当各种启动模式都无法成功启动数据库时强制启动数据库或在启动实例时出现无法恢复的错误
STARTUP RESTRICT

下列操作需要使用STARTUP RESTRICT方式启动数据库
1.执行数据库数据的导出或导入操作
2.执行数据装载操作
3.暂时阻止普通用户连接数据库
4.进行数据库移植或升级操作
1.2 关闭数据库实例
Oracle数据库实例的关闭过程分为三个步骤:关闭数据库,卸载数据库,关闭实例
关闭数据库的命令格式如下:
SHUTDOWN[NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT]
NORMAL:表示以正常的方式关闭数据库
TRANSACTIONAL:表示在当前所哟活动事务被提交完毕后,关闭数据库
IMMEDIATE:表示在尽可能短的时间内立即关闭数据库
ABORT:表示以终止的方式来关闭数据库
NORMAL 模式
特点:正常关闭数据库,如果对关闭数据库的时间没有限制,通常使用该方式来关闭数据库

使用NORMAL模式关闭数据库时,Oracle将执行以下操作:
1.阻止任何用户建立新的连接
2.等待当前所有正在连接的用户主动断开连接
3.一旦所有用户断开连接,则关闭数据库
4.数据库下次启动时不需要任何实例的恢复过程
TRANSACTIONAL 模式
特点:保证当前所有的活动事务都可以提交,并在尽可能短的时间内关闭数据库

使用TRANSACTIONAL模式关闭数据库时,Oracle将执行以下操作:
1.阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务
2.等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接
3.关闭数据库
4.数据库下一次启动时不需要任何实例的恢复过程
IMMEDIATE 模式
特点:能够在尽可能短的时间内关闭数据库

使用IMMEDIATE模式关闭数据库时,Oracle将执行以下操作:
1.阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务
2.回滚所有当前未提交的事务
3.终止所有用户的连接,关闭数据库
4.数据库下一次启动时不需要任何实例的恢复过程
ABORT 模式
特点:终止关闭模式,具有一定的强制性和破坏性,有可能会丢失一部分数据信息,影响数据库的完整性
![]()
使用ABORT模式关闭数据库时,Oracle将执行以下操作:
1.阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务
2.立即结束当前正在执行的SQL语句
3.任何未提交的事务不被回滚
4.中断所有的用户连接,立即关闭数据库
5.数据库实例重启后需要恢复