- 数据库的关闭,有四种选项。
-
发布时间:2010-12-02 09:13:19
发布时间:2010-12-02 09:13:19
A. shutdown normal 这是数据库关闭shutdown命令的缺省选项。命令执行后,不允许任何新的数据库连接。在数据 B. shutdown immediate 这是最常用的一种关闭数据库的方式,当前正在被Oracle处理的SQL语句立即中断,系统中任 C. shutdown transactional 该选项仅在Oracle8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正 D. shutdown abort 这是关闭数据库的万不得已的最后一招,没有任何办法关闭数据库的情况下才不得不采用的方 执行命令后,所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也 数据库不同关闭方式对比: D B C A
库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种
方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意一点的是,采用这种方
式,必须等待用户,时间不能确定。
何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库
也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当
前所有的活动事务,然后断开所有的连接用户。
实际应用中最为推荐的方式,但是对于繁忙的数据库,执行命令后也迟迟不能关闭,这时可以
手工kill数据库后台进程(oraSID)再行关闭。
在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完
成后,数据库将和shutdown immediate同样的方式关闭数据库。
式,大概有1%~4%机率导致数据库不能启动。执行这个命令之前最好确保后台的Oracle进程基本清
除,这样能很大提高安全系数。
不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,启动时间可能比平
时需要更多。
允许新的连接 × × × ×
等待直到当前会话中止 × × × √
等待直到当前事务中止 × × √ √
强制CheckPoint,关闭所有文件 × √ √ √