码迷,mamicode.com
首页 > 数据库 > 详细

数据库关闭,shutdown三种语句。

时间:2019-01-22 15:06:23      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:资源   结果   更新   时间   使用   崩溃恢复   blank   后台   释放   

1、shutdown normal  
   正常方式关闭数据库。 


2、shutdown immediate  
   立即方式关闭数据库。  
   在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,  
   而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),  
   当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 
 

3、shutdown abort  
   直接关闭数据库,正在访问数据库的会话会被突然终止,  
   如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间 
-------------------------------------------------------- 
shutdown abort 的时候,跟kill 进程是一样的效果 
数据库立即关闭,这个时候文件状态可能不一致 
因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢复

若检查点信息一致,则做崩溃恢复 
若检查点信息不一致(正好在更新文件头)则需要做介质恢复

这些问题都好处理,最怕的问题是这个时候系统有大量IO,结果这样造成写的突然中断,碰巧造成文件块的逻辑坏块,那麻烦比较大一些,尤其是系统表空间的block损坏


虽然shutdown abort 出错的几率很小,1000个人可能只有一个人碰到,但是我们还是要小心。 
正确的处理流程是,shutdown immediate ,若数据库迟迟不能down下来,在os上观察IO状况,几乎没有io的时候,另开一窗口shutdown  abort ,几乎不会出问题了
--------------------------------------------------------
http://www.itpub.net/showthread.php?threadid=180315&pagenumber=  
先用IMMEDIATE来DOWN,实在不行了,看一下数据库文件上没IO了,再用ABORT  
------------------------------------------------------------------------------
你可以尝试先在系统级杀掉非后台Oracle进程,在连接shutdown immediate就安全多了

在Oracle8i里,当数据库失去响应以后,你在操作系统上杀掉用户进程后,一般数据库就可以恢复正常了 
-------------------------------------------------------------------------------
先 shutdown immediate 应该是首选

然后不行再重新shutdown abort

其实起不来也是因为os的缘故,在文件正在写的时候出现问题导致文件不一致或者损坏……

数据库关闭,shutdown三种语句。

标签:资源   结果   更新   时间   使用   崩溃恢复   blank   后台   释放   

原文地址:https://www.cnblogs.com/grisa/p/10303707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!