关闭Oracle实例的默认模式是NORMAL,即用户不允许再创建到数据库的新的连接,但关闭进程会等待当前连接的用户都退出会话。在所有用户断开连接后,提交的事务被写到磁盘,数据文件关闭,实例停止;
IMMEDIATE模式:不等待所有用户断开连接
TRANSACTIONAL模式:等待每个用户的当前事务完成
ABORT:不等待提交的事务写到磁盘。
关闭数据库实例所经历的阶段
1) 在所有用户从会话退出之后,或断开连接之后,Oracle数据库将SGA中的数据写到数据文件中和联机重做日志中。在数据文件中一个检查点被执行,在数据文件件的头部标志当前时间作为实例的关闭时间。数据文件和联机重做日志文件被关闭,数据库进行CLOSED状态,控制文件依然保持打开。
2) Oracle实例DISMOUNT数据库,并且更新控制文件中的相关条目,记录一次干净的shutdown。此时数据库是CLOSED 和DISMOUNTED状态。实例处理NOMOUNT状态。
3) Oracle实例关闭后台进程,释放SGA使用的共享内存。
如果SHUTDOWN ABORT或不正常的中断发生,则处于OPEN状态的数据库的实例会瞬间关闭数据库和自身。Oracle数据库不会将SGA中的数据写到数据文件和重做日志中,下次再OPEN数据库时,需要实例恢复,当然实例恢复是Oracle自动进行的。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1076047/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1076047/