启动和停止数据库——停止例程
停止例程是使用shutdown命令来完成的,并且该命令可以带有normal,transaction,immediate,abort四个选项,默认为normal区别如下:
Shutdown个选项的区别 |
||||
NORMAL |
TRANSACTION |
IMMEDIATE |
ABORT |
|
允许新连接 |
NO |
NO |
NO |
NO |
等待会话结束 |
YES |
NO |
NO |
NO |
等待事务结束 |
YES |
YES |
NO |
NO |
强制检查点关闭文件 |
YES |
YES |
YES |
NO |
1.shutdown normal
该命令用于执行正常关闭数据库。当执行该命令时,系统会等待所有会话结束。如果存在未断开会话,则例程会处于等待状态。只有当所有会话结束后,才会停止例程。
两个会话:
第一个:
sqlplus scott/tiger
第二个:
sqlplus sys/sys as sysdba shut down
回到第一个:
conn scott/tiger disc
回到第二个会话:
sqlplus sys/sys as sysdba shut down
2.shutdown transaction
该命令用于执行事务关闭操作。当执行该命令时,系统不会等待会话结束。但如果某会话正在执行实务操作,并且尚未执行commit或rollback命令结束事务,那么系统会处于等待状态。只有在结束了事物之后,系统才会自动断开会话,然后停止例程。
shutdown transaction
3.shutdown immediate
该命令用于执行立即关闭操作。当执行命令时,系统会自动回退未完成事务,结束用户会话并关闭例程。
开启两个会话:
第一个:
sqlplus scott/tiger; update emp set sal=3000 where empno=7788; select sal from scott.emp where empno=7788;
第二个:
sqlplus sys/sys as sysdba select sal from scott.emp where empno=7788; shutdown immediate; conn sys/sys as sysdba; startup force;
回到第一个会话:
conn scott/tiger select sal from emp where empno=7788;
4.shutdown abort
该命令用于快速终止例程。当执行该命令时,系统不会发出检查点,也不会关闭数据库文件。在正常情况下不要使用该命令,只有在异常情况下(例如立马要断电)为防止数据库物理文件损坏才应该使用该命令。
posted on 2013-05-14 11:40 LinuxPanda 阅读(403) 评论(0) 编辑 收藏 举报