再次理解:关闭数据库的几个模式

原文来自:http://www.linuxidc.com/Linux/2011-11/46919.htm

关闭数据库过程

1.1 关闭数据库

1. 把高速缓冲区和重做日志缓冲区中的内容分别写入数据文件和联机日志文件,

2. 关闭所有联机数据文件日志文件

此时控制文件仍处于打开状态.

1.2 卸载数据库

1. 从一个实例卸装数据库

2. 关闭控制文件

此时实例依然存在。

1.3 关闭实例

1. 关闭alert文件和跟踪文件

2. 释放SGA

3. 终止后台进程

数据库关闭模式

指令

操作过程说明

注意事项

 

shutdown normal

 阻止任何用户建立新的连接

 等待当前所有正在连接的用户主动断开连接正在连接的用户能够继续他们当前的工作甚至能够提交新的事务.

 直到所有的用户都断开连接(自己断开)才进行关闭、制裁数据库并终止例程.

重点在等待会话结束,然后关闭数据库

 

 

shutdown transactional

transactional选项比normal选项稍微主动些它能在尽可能短的时间内关闭数据库.

 阻止任何用户建立新的连接同时阻止当前连接的用户开始任何新的事务

 等待所有当前未提交的活动事务提交完后然后立即断开用户的连接

 断开连接立即进行关闭、制裁数据库并终止例程

重点在等待事物结束,然后干掉会话,关闭数据库

 

shutdown immediate

immediate选项关闭数据库就能够在尽可能短的时间内关闭数据库.

 阻止任何用户建立新的连接同时阻止当前连接的用户开始任何新的事务

 立即结束当前正在执行的sql语句

 任何当前未提交的事务均被回退

 断开连接关闭、卸载数据库并终止例程

重点在不管事物完成和会话结束了,直接把未提交的事物被回退,如果事物较多,关闭的时间就比较长了。

话说回来,回退事物还是在九届于事物

 

shutdown abort

如果上述三种选项都无法成功关闭数据库就说明数据库存在严重错误这时只能使用abort选项来关闭数据库.

 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

 立即终止当前正在执行的SQL语句。

 任何未提交的事务均不被退名。

 直接终止实例。

不再纠结于事物,没有完全检查点,直接终止实例,下一次启动时需要进行实例恢复

关闭模式与过程关系

关闭模式

Abort

Immediate

Transactional

Normal

 

允许新连接

X

X

X

X

 

 

等到当前会话结束

X

X

X

 

等到当前事务结束

X

X

 

执行检查点并关闭文件

X

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25960404/viewspace-766771/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25960404/viewspace-766771/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值