我想问一下在oracle中,关闭oracle的服务和在sql plus中shutdown 有什么不同啊?新人提问,请高手指教。

解决方案 »

  1.   

    据我所知,关闭Oracle服务,会shutdown数据库,同时会关闭Oracle实例的运行时服务。
    而在sqlplus中shutdown,只是把数据库shutdown, 但并不会关闭运行时服务。
      

  2.   


    1,关闭oracle的服务,是指关闭oracle软件相关的所有服务。比如实例、oem、监听等等。2,sqlplus窗口中的shutdown,只是关闭数据库服务,就是你不能访问数据更新数据了。
    比如书上介绍说的:
    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恢复数据,通过回滚段对事务回滚,对资源进行释放。当shutdown正常之后,oracle实例以及后台进程都关闭了,照我自己的理解来说,oracle相关的服务都退出关闭了。而一楼说的shutdown之后,不会关闭运行时的服务,应该是oracle在等待已经正在执行中的oracle任务执行完再关闭oracle服务,而不是执行命令之后,立即关闭oracle服务。
      

  3.   

    其实打开和关闭服务,你可以去查一个告警日志文件alert<SID>.log,
    里面记录得很清楚。
      

  4.   

    同意一楼的,而且显然windows下才这么说
      

  5.   

    呵呵 以前和楼主有过一样的疑问看下这个链接吧
    会对你有所帮助的
    http://blog.csdn.net/wh62592855/archive/2009/11/21/4846474.aspx