oracle shutdown immediate 一直没反应解决方案

57次阅读
没有评论

共计 1491 个字符,预计需要花费 4 分钟才能阅读完成。

数据库监听突然出现了问题,重新配置之后,重启数据库。发现不管是用 shutdown  还是跟上参数 immediate 都是同样效果,等了 10 多分钟一点反应都没有。

查了查资料,看了下每个参数的用法,发现可能是连接请求还在连接数据库,没有关闭所以只能等着。一狠心强行关掉了 SSH,结果杯具了。

启动的时候就说:

详细的 shutdown 和 startup 参数解释如下:

 

shutdown 有四个参数:normal、transactional、immediate、abort。缺省不带任何参数时表示是 normal。
shutdown normal:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown transactional:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown immediate:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动 ROLLBACK 的。启动时不需要实例恢复。
shutdown abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
另外,对于 normal、transactional、immediate,db bUFFER cACHE 的内容写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。
对于 abort,db bUFFER cACHE 的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有 DISMOUNT 和关闭,数据文件也没有关闭。当数据库启动时,需要通过 REDO LOG 恢复数据,通过回滚段对事务回滚,对资源进行释放。

startup [force] [restrict] [pfile= FILENAME] [open [recover][DATABASE] | mount | nomount]
startup open:startup 缺省的参数就是 open,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。
startup mount:mount 数据库,仅仅给 dba 进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。
startup nomount:仅仅通过初始化文件,分配出 sga 区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。
startup pfile= FILENAME:以 FILENAME 为初始化文件启动数据库,不是采用缺省初始化文件。
startup force:中止当前数据库的运行,并开始重新正常的启动数据库。
startup restrict:只允许具有 restricted session 权限的用户访问数据库。
startup recover:数据库启动,并开始介质恢复。

 

  使用 shutdown 的时候 normal 和 immediate 可能都因为连接没有释放而造成数据库无法重启的现象。

  可以采用以下两个方案:

 

oracle shutdown immediate 一直没反应解决方案

oracle shutdown immediate 一直没反应解决方案

 SQL shutdown abort; – 这个方法是不等待会话结束就直接关闭掉数据库,一般情况下事不推荐使用的。实在关不掉的话,一般也没有什么问题。跟直接 KILL 进程差不多。

 SQL startup –shutdown abort 以后在启动数据库。

 

 

 SQL startup force; – 这个方法是直接关闭掉数据库然后再重启数据库,这个方式也可以达到关闭的目的,我个人使用的时候两个方法都行。

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1491字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)