我知道,以下的shutdown是要等待quit或者commit的:shutdown normal                quit
shutdown transactional         commit

那shutdown immediate后,没有提交的事务是自动提交,还是回滚?书上说的会force a checkpoint是什么意思?

解决方案 »

  1.   

    当执行SHUTDOWN IMMEDIATE命令时,Oracle在关闭之前将回滚任何未提交的变更。
      

  2.   

    回滚。
    oracle 关机状态:shutdown normal  不允许新建连接,但是需要等待原有会话退出才执行关闭、
    shutdown transation 不允许新建会话,如果事务在进行的话,等待事务完成
    shutdown immediate 不允许新建会话,不等待事务完成,如果没有commit,则回滚。
    shutdown abort 直接关闭实例 ,重启数据库后需要进行recover。 
    一般来说关闭都采用 shutdown immediate;
      

  3.   


    shutdown abort后,是系统自动进行恢复的吧?是smon进程进行的自动恢复是吧?
      

  4.   


    shutdown abort 之后,重启数据库会根据归档日志进行重演恢复, 前提是要有归档日志。 如果没有启用归档模式,归档日志又超过了默认的归档文件大小,那就会有数据丢失了。 恢复到最近能恢复的时间点。
      

  5.   


    force a checkpoint 的意思就是进行正常的shutdown时,会先自动进行一次 alter system checkpoint 操作,将内存中的信息同步到文件中。 
      

  6.   


    恩,我做过实验的,是不commit就不会保存到数据表中。我只是怕有特殊情况,到时候真上岗了,弄错了就麻烦了。